InfraPub 为您找到相关结果 589

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

六个开源软件开发的潜规则

代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。 为什么要在优雅地写代码前做这些呢?这是一种信任,更重要的是,不要只关注自己开发的功能,而是要关注整个社区的动向。 博闻强识,敦善不怠 当你在某个社区中建立起自己的声望,那么很有必要全面了解该项目和代码。不要停留于任务状态上,而是要去钻研项目本身,理解那些超出你擅长围之外的知识。不要只把自己的理解局限于开发者,这样会让你着眼于让你的代码有更大的影响,而不只是你那一亩三分地。 打个比方,你已经完成了一个网络模块的测试版本。你测试了一下,觉得不错。然后你把它开放到社区,想要更多的人测试。结果发现,当它以特定的方部署时,有可能会破坏安全设置,还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解,而不是...阅读全文

博文 2017-05-20 10:27:11 debian.cn

深入学习golang — channel

goroutine的创建数量: func Serve(queue chan *Request) { for req := range queue { sem <- 1 go func() { process(req) // Buggy; see explanation below. <-sem }() } } 上面的代码看似简单清晰,但在go中,却有一个问题。Go语言中的循环变量每次迭代中是重用的,更直接的说就是req在所有的子goroutine中是共享的,从变量的作用域角度来说,变量req对于所有的goroutine,是全局的。 这个问题属于语言实现的畴,在C语言中,你不应该将一个局部变量传递给另外一个线程去处理。有很多解决方法,这里有一个讨论。从个人角度来说,我更倾向下面这种方: func...阅读全文

博文 2021-01-25 12:39:17 博客园

分布式运行时 Dapr 知多少

,但不完全是。比如nodeapp暴露了一个API:http://10.0.0.2:8000/neworder,按照传统的方,直接HTTP POST这个API访问就得了,但在Dapr中,其提供了服务间方法调用的接口规,需要按照POST/GET/PUT/DELETE http://localhost:/v1.0/invoke//method/的格进行访问。那假设pythonapp需要访问nodeapp的方法,就需要POST一个请求到http://localhost:3500/v1.0/invoke/nodeapp/method/neworder。你可能会想为何多此一举呢?此举的意义何在呢?目的很简单,就是为了实现对服务间网络通信的控...阅读全文

在 Kubernetes 上扩展 TensorFlow 模型

CRD。这里是一个分布训练作业的[基本例子](https://github.com/kubeflow/tf-operator/blob/master/examples/v1/mnist_with_summaries/tf_job_mnist.yaml),它依赖于两个 worker,在没有 Chief 和 Parameter Server 的情况下进行训练。这种方法适用于实现 TensorFlow 同步训练策略,如 MirroredStrategy。 你看,除了标准的 Kubernetes 资源和服务(例如卷、容器、重启策略)之外,规还包括一个 **tfReplicaSpecs**,其中你定义了一个 worker。在容器化的 TensorFlow 代码中,将 worker 副本计数设置为 2...阅读全文

最全 MongoDB 基础教程

回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略) # 以易读的方读取数据 db.ruochen.find().pretty() 操作 格 例 RDBMS中的类似语句 等于 {key:value} db.ruochen.find({'by':'ruochen'}).pretty() where by = 'ruochen' 小于 {key:{$lt: value}} db.ruochen.find({'likes': {$lt:3}}).pretty() where likes < 3 小于或等于 {key:{$lte: value}} db.ruochen.find({'likes': {$lte:2}}).pretty() where likes <= 2 大于...阅读全文

博文 2021-02-22 07:45:45 OSChina

Flatpak 1.0正式版发布:Linux 应用沙盒开发里程碑

序创建沙箱并重新启动自己,更多的主安装和更新速度,支持将应用程序标记为EOL(生命周期结束) ,以及一个新的权限验证模型。 Flatpak 1.0可以公开主机的TLS(传输层安全)证书到沙箱应用程序,支持最新的OCI捆绑包规,允许沙箱应用程序请求访问主机的SSH(Secure Shell)代理,以安全访问Git存储库或远程服务器,并允许应用程序访问蓝牙设备。 此外,通过USB闪存驱动器或本地网络安装Flatpak应用程序的P2P安装方法现在默认启用,并且在所有版本中都得到支持。在Flatpak 1.0中实现了一个新的后备X11权限,允许X11访问在X11会话中运行的Flatpaks应用程序。 Flatpak 1.0还引入了一个名为flatpak-spawn的新工具,可用于运行主机命令并从应...阅读全文

博文 2018-08-22 20:26:05 debian.cn

Facebook 开源的一组 Linux 内核组件与工具

题。 Cgroup2:https://facebookmicrosites.github.io/cgroup2/ Cgroup2 是下一代 Linux 内核机制,用于分组和构造工作负载,以及控制分配给每个组的系统资源量。它具有内存、I/O、中央处理单元等控制器,它还允许隔离工作负载,并为每个工作负载确定资源分配的优先级和配置。 PSI:https://facebookmicrosites.github.io/psi/ PSI(Pressure Stall Information,压力失速信息)首次提供了一种规,通过内存、CPU 和 I/O 这三种主要资源的新压力指标来量化资源短缺。这些压力指标与此次开源的其它内核和用户空间工具相结合,可以在智能开发和响应时检测资源短缺。PSI 统计数据为即...阅读全文

博文 2018-11-24 09:27:14 debian.cn

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。 TensorFlow可以在系统围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你可以在一台计算机上拥有多个不同的隔离Python环境,并在每个项目的基础上安装模块的特定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

Linux Systemd被爆远程漏洞 CVE-2017

"dns_packet_new" 函数中, 它是一个 dns 响应处理程序组件, 它为本地应用程序提供网络名称解析。 根据星期二发布的一个公告, 当系统试图在攻击者控制的 dns 服务上查找主机名时, 经过精心构造的恶意 dns 响应,可以远程崩溃 " systemd-resolved " 程序。 最终, 大量 dns 响应会溢出目标计算机的缓冲区, 从而使攻击者改写其内存,引发远程代码执行。这意味着攻击者可以通过其恶意的 dns 服务,在目标系统或服务器上,远程执行任何恶意软件。 ubuntu 开发者Chris Coulson在开发规中这样描述, “直到 233版本的 systemd , certain sizes passed to dns_packet_new in systemd-resolved can...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF 代码;其次是应用围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过程: 以字节码的形创建...阅读全文

博文 2020-08-16 11:08:44 debian.cn

Go 语言的大版本更新:Go 2.0 安排上了

废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统 采用增量升级的方,而非单独发布重大更新版本 实施新的提案评估流程,以评估尚未解决且被标记为提案的 issue 将会在 Go 1.13 版本中选择 Go 2 部分的提案 背景 早在2017年的 GopherCon 大会上,Russ Cox(Go 核心开发团队的技术 leader)就已经正开始思考 Go 的下一个大版本(相关文章)。当时官方非正地将它称为 Go 2,但我们知道,所谓的 Go 2.0 并非一个单独的重大更新版本,而是通过“增量更新(incremental)”的方以逐渐抵达 "Go 2.0"。所以本文对这个未来版本的称号 —— 也暂且用 Go 2 来描...阅读全文

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

apiVersion 字段中指定。例如,Deployment 的 API 组名是 apps,最新的 API 版本是 v1beta2,这就是为什么你要在 Deployment manifests 顶部输入 apiVersion: apps/v1beta2。 kubectl 在生成运行时对象后,开始为它找到适当的 API 组和 API 版本,然后组装成一个版本化客户端,该客户端知道资源的各种 REST 语义。该阶段被称为版本协商,kubectl 会扫描 remote API 上的 /apis 路径来检索所有可能的 API 组。由于 kube-apiserver 在 /apis 路径上公开了 OpenAPI 格的规文档, 因此客户端很容易找到合适的 API。 为了提高性能,kubectl 将 OpenAPI 规...阅读全文

博文 2022-04-18 16:18:04 CSDN

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日本丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内核提出新的要求,这对于为嵌入系统开发解决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖围更大了,有更多的人对这个代码进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文

博文 2021-01-28 17:50:33 debian.cn

本田 40GB 数据险遭泄漏 因云端数据库未设密

% 的 Elasticsearch 启用了验证插件,另外有 2% 则关闭了 Elasticsearch。2018 年 11 月份,美国还曾发生一起 ElasticSearch 服务器在没有密码的开放状态下泄露了将近 5700 万美国民众个人信息的事件。当时共泄漏超过 73GB 数据,并且几个数据库被缓存在服务器内存中,其中一个数据库包含的个人信息就达到了 56,934,021 份。2018 年 12 月份,巴西最大的订阅电视服务之一的 Sky Brasil 在没有密码的情况下将 ElasticSearch 服务器暴露在互联网上,其 3200 万客户数据在网上暴露了很长时间,存储数据包括客户姓名、电子邮件地址、密码、付费电视包数据、客户端 IP 地址、个人地址、付款方、设备型号等。 根据...阅读全文

为何说微软不会基于Linux内核重构Windows

(translation layer)转换为 WSL 2 中的虚拟化内核,因此重新实现利用 Linux ABI 的数十种非标准方是非常痛苦的事情。为微软拥有的 Linux 上的SQL Server 提供一个 NT 相关的兼容层是一回事,为其他数百万开发者的应用提供保证是另一回事。 3.微软投入巨大 近年来,微软在 Windows 上倾注的人力物力已经无法计算。微软在 Windows 10 的可用性、新功能、性能改进等多方面进行了优化投资,并取得了回报。在这些改进的基础上,通过和 OEM 厂商的合作,以及推出 Surface 品牌,已经帮助振兴了 PC 市场。 微软一直在努力使 Windows 成为一个优秀的开发平台,其项目包括 Windows Terminal、PowerToys、Windows...阅读全文

博文 2020-10-15 14:59:58 debian.cn

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

括存储大量数据,以及能够在合理的时间围内处理数据,对于网络、存储技术和高效计算架构都是很大的压力。“Bell 说到。大型强子对撞机的运作规模和它产生的数据量带来了严峻的挑战,但 CERN 对这些问题并不陌生。CERN 成立于 1954 年,已经 60 余年了。“我们一直面临着难以解决的计算能力挑战,但我们一直在与开源社区合作解决这些问题。”Bell 说,“即使在 90 年代,当我们发明万维网时,我们也希望与人们共享,使其能够从 CERN 的研究中受益,开源是做这件事的再合适不过的工具了。”使用 OpenStack 和 CentOS时至今日,CERN 是 OpenStack 的深度用户,而 Bell 则是 OpenStack 基金会的董事会成员之一。不过 CERN 比 OpenStack 出...阅读全文

博文 2021-11-29 13:20:55 腾讯云

提问的智慧 – 全文

「表情符号」和「HTML」功能。使用一两个表情符号还可以,但使用过多的花哨彩色文本会使人认为你无法表达出你的意思。过滥地使用表情符号、色彩和字体会让看起来更傻逼; 如果你是使用图形界面的邮件客户端程序(如腾讯的Foxmail、微软公司的Outlook),注意它们的默认配置不一定满足以上的这些要求。不过大多数这类程序有「查看源码」的命令,可以用它来检查发件箱的消息,确保发送的是没有乱码的纯文本文件。 【本章注释】 [14]在本章中作者使用大量的计算机术语,我已尽量简化处理,同时,我认为以上的方法并不适合大多数的提问者,所以我在此总结一下适合普通用户的文件格: Txt:直接粘贴,方便阅读; Pdf:文件规,推荐使用; Doc:使用广泛,打开方便; Md:Markdown文本,趋势。 邮件送发建...阅读全文

博文 2009-10-01 13:18:00 debian.cn

树莓派 9 周年:你不知道的树莓派冷知识

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软件生态也十分丰富。 ​树莓派最初是剑桥大学计算机系的一个实验性项目,创始人 Eben Upton 召集了一群教师、学者和计算机爱好者,希望设计出一种能激励儿童参与编程的小型计算机。这个计算机的灵感来自 1981 年 Acorn 公司的 BBC Micro 计算机。第一台树莓派 ARM 原型机安装在一个与 USB 记忆棒大小相同的盒子里,它的一端是 USB 端口,另一端是HDMI 端口。2012 年 2 月 29 日,首批树莓派正发售,定价为 35 美元。 根据树莓派官方统计的数...阅读全文

博文 2021-03-11 17:03:55 diablo4

Docker 核心原理

经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口围等 None 模 使用none模,Docker 容器拥有自己的 Network Namespace,但是,并不为Docker 容器进行任何网络配置。也就是说,这个 Docker 容器没有网卡、IP、路由等信息。需要我们自己为 Docker 容器添加网卡、配置 IP 等 Cgroups 通过 Linux Namespace 为新创建的进程隔离了文件系统、网络并与宿主机器之间的进程相互隔离,但是 Namespace 并不能够为我们提供物理资源上的隔离,比如 CPU 或者内存。所以 Docker 还借助了 Linux...阅读全文

博文 2021-02-25 09:14:23 lxkaka

2017 年会是 Serverless 爆发之年吗

器容灾稳定性等非专业逻辑的开发。这些服务器的运维和开发知识、经验极大地限制了开发者进行业务开发的效率。设想一下,如果开发者直接租用服务或者开发服务而无须关注如何在服务器中运行部署服务,是否可以极大地提升开发效率和产品质量?这种去服务器而直接使用服务的架构,我们称之为 Serverless 架构(无服务器架构)。 Serverless 架构的问世 2014 年,云厂商 AWS 推出了“无服务器”的服务。其实,最初“无服务器”意在帮助开发者摆脱运行后端应用程序所需的服务器设备的设置和管理工作。这项技术的目标并不是为了实现真正意义上的“无服务器”,而是指由第三方供应商负责后端基础结构的维护,以服务的方为开发者提供所需功能,例如数据库、消息,以及身份验证等。这种服务基础结构通常可以叫做后端即服...阅读全文

博文 2021-01-28 17:50:27 debian.cn

HAProxy用法详解 最详细中文文档

数或整数围:如1024:65535表示从1024至65535;仅支持使用正整数(如果出现类似小数的标识,其为通常为版本测试),且支持使用的操作符有5个,分别为eq、ge、gt、le和lt; 字符串:支持使用“-i”以忽略字符大小写,支持使用“\”进行转义;如果在模首部出现了-i,可以在其之前使用“–”标志位; 正则表达:其机制类同字符串匹配; IP地址及网络地址; 同一个acl中可以指定多个测试条件,这些测试条件需要由逻辑操作符指定其关系。条件间的组合测试关系有三种:“与”(默认即为与操作)、“或”(使用“||”操作符)以及“非”(使用“!”操作符)。 5.1 常用的测试标准(criteria) 5.1.1 be_sess_rate be_sess_rate(backend...阅读全文

博文 2014-05-10 17:14:46 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 准备采取下一步措施:将所有 HTTP 网站标记为不安全。 随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。 一、Let’s Encrypt 官方网站:https://letsencrypt.org/ 点评:毫无疑问,Let’s Encrypt 是目前使用围最为广泛的免费 SSL 证书,而且官方博客宣布,自 2018 年开始提供通配符 SSL...阅读全文

社交巨人Facebook使用Linux和Btrfs的姿势

针对性地使用Btrfs的一些特性来提高我们手头工作的性能。我们比较关注在系统任务管理、快照之类的事情上。 Linux.com:我们都知道Facebook是Linux的重度用户。在Facebook庞大的基础设施里,哪些地方用到了Linux? Chris Mason:简单地说,Facebook所有的基础设施都使用了Linux。围绕分布操作系统我们利用了Btrfs的很多特性,比如分布任务管理、利用快照功能快速更新以及哈希校验功能,等等。 我们在相当数量的机器上运行着Gluster——既支持XFS也支持Btrfs,我们的目标就是做好存储这件事。在Gluster上喜欢用Btrfs的其中一个原因是,数据循环冗余校验(cyclic redundancy checks)和元数据循环冗余校验使我们能够检测...阅读全文

博文 2021-01-28 17:50:22 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的组件 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信号作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统计信息),但每个监控系统都希望其收集的监控数据具有一致且统...阅读全文

博文 2021-08-20 11:45:32 博客园

谷歌公开了内部管理Infra层的两个工具的Paper

的讨论围。 和工作流集成 使用Prodspec和Annealing的目标是将更多的生产环境管理切换到intent驱动的模型上。理论上,可以通过intent的使用管理所有生产环境变更。但是,我们显然并不想把所有生产环境都转化为intent驱动的模型。在一些情况下,传统的工作流更有用。 什么时候使用基于intent的actuation,什么时候使用传统工作流,这之间并没有清晰的界限,但是有一些通用的考虑准则: 系统大小:在同时发生很多变更的时候,基于intent的acutation很有用,因为可以以更直观的方对规则进行编码。对于低并发性的小型系统,工作流往往更容易理解。思维模型:是否有理由关心确切的详细步骤并希望能够对其进行微调,或者只需要保证正确的事情会发生,因为它是基础架构的细节?后者要...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

最全的 DevOps 工具集合

GitLab 是基于 Web 的 DevOps 生命周期工具。它提供了一个 Git 存储库管理器,使用由 GitLab Inc. 开发的开源许可证来提供 Wiki、问题跟踪和 CI/CD 管道功能。 GitLab 提供了一些工具用来在实践中规划事务,还可以用来查看工作的围。 Tasktop Tasktop 可以将所有这些工具添加到 Tasktop 支持的全套敏捷和应用程序生命周期管理(ALM)、PPM 和 ITSM 工具中,从而在整个生命周期中提供前所未有的可视化特性。 CollabNet VersionOne VersionOne 支持 Scrum、看板、XP、SAFe 和混合开发方法,简化了跨所有团队、程序、软件产品组合和企业的计划、跟踪和报告工作。 Pivotal Tracker 全球各地开发...阅读全文

博文 2021-05-26 14:35:21 博客园

互联网协议正在发生变化

,全新打造的 “握手”机制允许应用程序数据从头开始流动(经常被称为 ‘0RTT’)。新的设计依赖于短暂密钥交换,从而排除了静态密钥。 这引起了一些网络运营商和供应商的担心 —— 尤其是那些需要清晰地知道那些连接内部发生了什么的人。 例如,假设一个对可视性有监管要求的银行数据中心,通过在网络中嗅探通讯包并且使用他们的服务器上的静态密钥解密它,它们可以记录合法通讯和识别有害通讯,无论是来自外部的攻击,还是员工从内部去泄露数据。 TLS 1.3 并不支持那些窃听通讯的特定技术,因为那也是 一种针对短暂密钥防的攻击形。然而,因为他们有使用更现代化的加密协议和监视他们的网络的监管要求,这些使网络运营商处境很尴尬。 关于是否规定要求静态密钥、替代方是否有效、并且为了相对较少的网络环境而减弱整个互联网...阅读全文

Sam Altman的成功学|OneFlow

“如果把Sam Altman扔到某个食人族之岛,5年后他会成为这个食人族岛的国王。“ 在硅谷创业教父Paul Graham的眼里,Sam Altman是一位极具魄力的领导者和开拓者。如今,已成为OpenAI CEO的Sam Altman是全球围内当之无愧的科技领军人物。 他的职业生涯可谓一路开挂。从斯坦福大学计算机系辍学后,19岁的他成立了位置服务提供商Loopt,而后被预付借记卡业务公司Green Dot收购,2014年,YC创始人Paul Graham选择他成为继任者,在不到30岁时开始在全球创业创新领域大放异彩。 2015年,他与马斯克等人共同成立OpenAI,2019年,Sam Altman离任YC总裁,成为OpenAI的CEO,并相继领导推出重量级AI模型GPT-3、DaLL...阅读全文

如何在 Debian 下配置邮件服务器

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的围。 1.先决条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

博文 2021-01-28 17:50:22 debian.cn

Docker 17.06 社区版发布

的支持。可以将docker的/metrics端点暴露给插件: $ docker plugin install --grant-all-permissions cpuguy83/docker-metrics-plugin-test:latest $ curl http://127.0.0.1:19393/metrics 这个插件仅用于示。它在主机的网络上运行了一个反向代理,能将请求转发给插件中的本地的指标套接字。在真实场景中,可能会将收集的指标数据发送给外部的服务,或者使它可以被一个服务如Prometheus访问并收集。 注意尽管指标插件在非实验性的daemon中可以使用,指标标签(metrics label)仍应该被看作是实验性的,可能在Docker未来的版本中发生改动。 日志驱动插件 添...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Debian 相比 Ubuntu 有哪些不同之处

,Debian似乎很成熟老练,但是讨论仍有时变成一场混战。过去,Debian被被描述成是一种对女性不友好的环境;而近来,将init换成systemd方面的争论变得非常激烈,结果好几个资深开发人员选择走人,而不是忍受虐待。 与此同时,Debian奉行精英民主,所有官方维护人员投票表决Debian领导者及其他所有议题。虽然被任命的岗位有时是权力来源,但是Debian工作人员普遍推行的领导方还是提建议和实行民主,而不是直接发号施令。 Ubuntu有别于Debian的地方在于,Ubuntu为社区活动制定了行为规。时至今日,Ubuntu的社区管理员是Jono Bacon,他写过一本书,介绍《社区之道》,还投入了大量的精力来消除冲突。此外,每年都会选择技术委员会(Technical Board)和社区理事会...阅读全文

博文 2017-12-22 23:41:07 debian.cn

深入理解Golang之context

context是Go并发编程中常用到一种编程模。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文

博文 2021-01-27 09:05:27 知乎

Apollo 配置中心简单介绍

, ctrip apollo, disconf, hawk 等配置中心的功能点。综合比较下来携程apollo 更具有优势。 二、简单介绍携程Apollo配置中心 1、What is Apollo 1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方已经越来越无法满足开发人员对配置管理的需求。 Apollo配置中心应运而生! 1.2 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规...阅读全文

博文 2021-04-09 17:53:51 CSDN

说透IO多路复用模型_京东云开发者的博客

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

三星谈论下一代DRAM解决方案:GDDR7、DDR5、LPDDR5X和V-NAND

的内存技术组合的承诺。"万亿GB是三星自40多年前开始生产的内存总量,这一万亿中大约有一半是在过去三年里生产的,这表明数字转型的进展有多快,"三星电子总裁兼内存业务主管Jung-bae Lee说。"随着内存带宽、容量和功率效率的进步使新的平台成为可能,而这些反过来又刺激了更多的半导体创新,我们将越来越多地推动在数字共同进化的道路上实现更高水平的整合。"推进数据智能的DRAM解决方案三星的1b级DRAM目前正在开发中,计划在2023年进行大规模生产。为了克服DRAM扩展到10纳米围以外的挑战,该公司一直在开发图案化、材料和架构方面的颠覆性解决方案,像High-K材料这样的技术正在顺利进行。该公司随后强调了即将推出的DRAM解决方案,如32Gb DDR5 DRAM、8.5Gbps...阅读全文

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模(command mode)、输入模(Insert mode)和底行模(last line mode),各模的功能区分如下: 1) 命令模(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模、底行模下。 2) 输入模(Insert mode) 只有在输入模下,才可以...阅读全文

博文 2015-07-25 16:33:04 debian.cn

一位资深Java架构师的晋级心得

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢? 1.框架源码分析 设计模:Singleton单例模,Factory工厂模,Proxy代理模,Template模板模,Prototype原型模等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

博文 2019-01-13 22:49:22 debian.cn

RabbitMQ 3.8.8 发布:引入维护模式

RabbitMQ 3.8.8 已经发布。RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 编写而成,因此它也继承了这些优点。 此版本最大亮点是引入了一种新的节点操作模,称为维护模。 当将节点放下进行维护并处于维护模时,该节点将无法用于服务客户端流量,并且将尝试尽可能实际地转移其职责使其安全。当前,这涉及以下步骤: 挂起所有客户端连接侦听器(不接受新的客户端连接)关闭所有现有的客户端连接:应用程序应重新连接到其它节点并恢复所有经典镜像队列的主副本托管在传输目标节点上所有仲裁队列的主要副本托管在传输目标节点上,并阻止它们参与随后触发的 Raft 选举将节点标记为关闭以进行维...阅读全文

博文 2020-09-04 09:46:57 debian.cn

如何在 Nginx 中配置 gRPC 的代理

Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务。gRPC 服务做为一个 TCP 服务,配置方与 HTTP/HTPTS 类似。 安装 Nginx Nginx版本要求:1.13.10+。gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流特性。所以在安装部署nginx时需要安装http/2。使用源码安装,编译时需要加入http_ssl和http_v2模块: $ auto/configure --with-http_ssl_module --with-http_v2_module 以明文的方发布...阅读全文

博文 2018-04-20 11:03:39 debian.cn

360开源企业级 Kubernetes 集群管理平台 Wayne

奇虎 360 宣布正开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的、基于 Web 的 Kubernetes 多集群一站可视化管理平台。内置了丰富多样的功能,满足企业的通用需求,同时插件化的方可以方便集成定制化功能。 目前 Wayne 已大规模服务于 360 搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。 功能特性 可视化操作 :提供直观、简便的方操作 Kubernetes 集群,减小学习成本,快速上线业务。 多样的编辑模 :支持图形化编辑,也支持 Json、Yaml 两种高级定制化编辑模。 微内核架构 :采用可扩展的插件化方开发,定制化选择特性功能,更方便的集成符合企业需求的新功能。 多集群管理 :可...阅读全文

博文 2018-11-20 12:24:17 debian.cn

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载时间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求时间为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模,不会输出进度条 -w "%{time_total\n}":输出使用时间 -o /dev/null: 这个参数用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模和在有序模(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增量的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

六大算法之三:动态规划【转载】

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移图如下图所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个性质: (1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。 (2) 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

MySQL 8 第一个正式版发布:更好的性能

MySQL 8.0 系列的首个正版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 需要注意的是从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。作为替代方案,在升级之前请对数据进行全量备份。 本文简要介绍 MySQL 8 中值得关注的新特性和改进。 1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在这些方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争...阅读全文

博文 2018-04-20 10:40:18 debian.cn

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方来重启 pod。 这里我总结了几种重启 Pod 的方,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方:Deployment方下重启Pod 大多数生产环境,使用的是 Deployment 方部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

西部数据的Zonefs将登陆Linux 5.6内核

西部数据开发了有一段时间的Zonefs已经确定要在Linux 5.6内核中登场了,这并不是一个传统意义上面的通用文件系统(比如Ext4、NTFS),而是一个针对特定硬件设备的文件系统,它为分区存储设备进行了高度的优化。 熟悉Linux的朋友应该知道,在Linux下面内核会将存储设备视为块设备,比如目前会将SATA存储设备视为/dev/sdX。传统文件系统是在这个块设备上面进行操作,而应用程序则是通过系统提供的接口对块设备上面的数据进行访问。 但SMR HDD(叠瓦硬盘)有一个毛病,它只有在顺序写入时才能正常发挥性能,一旦要进行数据覆盖写入,就需要改写这块数据所在区块内的所有磁道,造成严重的性能下降。传统的文件系统不会因为SMR HDD的特性而特别对待它,而Zonefs就是西部数据对...阅读全文

Rust 1.39.0 发布,async/.await 稳定了

Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫 by-move 绑定的共享引用,以及函数参数的属性。 async/.await 稳定 此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函数和块,并进行 .await 操作。 async 函数通过 async fn 引入,被调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{…} 和 async move{…} 块也可以用来定义“异步文字”,它们的行为像闭包。 match 守卫引用 by-move 绑定 在 Rust 中进行模匹配时,一个变量,也就是“绑定”,可以...阅读全文

博文 2019-11-11 09:44:43 debian.cn

Python 社区有了新治理模式

随着 Python 之父 Guido van Rossum 逐步卸任 BDFL,Python(CPython)的未来之路牵动了万千开发者的心。没了首领,Python 今后的发展会怎么样?社区将如何运作?谁来领导 Python 这门语言和社区呢?这些问题不得不解决,而用什么样的方解决,这就需要先由社区讨论并最终决定。 前两天我们分析过目前 Python 社区已经提出的 7 种正在进行投票的治理方案,而最新消息是,目前投票环节已经结束,最终 PEP 8016 当选了新时代的 Python 社区治理方案。 PEP 8016 治理方案采用指导委员会模,其特点是引导治理的迭代,该方案由 Nathaniel J. Smith 和 Donald Stufft 提出。 PEP 8016 中提出了不信任...阅读全文