InfraPub 为您找到相关结果 764

Cortex: 高可用和水平扩展Prometheus监控系统

询时必须提供相同的值。在下面的例子中,这个headers是使用nginx反向代理设置的。架构图Cortex架构(源)Nginx/gateway–一个位于cortex前面的反向代理,将收到的所有请求转发给相应的服务。分发服务器Distributor–处理传入的指标,将其拆分为多个批次,然后将其传递给Ingesters。如果复制因子replication factor设置为> 1,则数据将发送到多个实例。接收器Ingester–此服务负将数据写入已配置的存储后端。Ingester是半状态的,因为它们保留了最后12个小时的样本。这些样本将被批处理并压缩,然后再写入块存储。查询前端Query Frontend–一个可选组件,用于对查询请求进排队,并在失败时重试它们。结果也被缓存以提高性能查询器...阅读全文

博文 2021-10-09 17:00:22 知乎

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

CERN 无需过多介绍了吧。CERN 创建了 万维网(World Wide Web)(WWW)和 大型强子对撞机(Large Hadron Collider)(LHC),这是世界上最大的 粒子加速器(particle accelerator),就是通过它发现了 希格斯玻色子(Higgs boson)。负该组织 IT 操作系统和基础架构的 Tim Bell 表示,他的团队的目标是“为全球 13000 名物理学家提供计算设施,以分析这些碰撞,了解宇宙的构成以及是如何运转的。”CERN 正在进硬核科学研究,尤其是大型强子对撞机,它在运时 生成大量数据。“CERN 目前存储大约 200 PB 的数据,当加速器运时,每月有超过 10 PB 的数据产生。这必然会给计算基础架构带来极大的挑战,包...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

这些服务进交互,这是另一个优势,它可以自动生成需要的所有类。这个生成的代码负消息建模,并提供一个存根类,其中包含与您的服务端点相关的重复方法调用。 支持多种语言,包括C ++,Java,Python,Go,Ruby,C#,Node,Android,Objective-C和PHP。但是,使用protobuf文件维护和同步生成的代码是个问题。我们已经能够通过使用Protobuf文件自动生成客户端库来解决这个问题,会在即将发布的下一篇博客文章中分享更多的内容。 gRPC最好的特性之一是支持中间件模式,被称为拦截器。它允许扩展所有的gRPC实现(这对企业来说很重要),能够轻松访问所有请求,从而实现自己的微服务最佳实践。gRPC还内置了对一系列认证机制的支持,包括SSL / TLS。 gRPC社区...阅读全文

博文 2018-03-19 17:51:32 debian.cn

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

(DDR4可超过200GT/s),不怕断电,也不需要外接供电,但性能和DRAM仍然远不是一个级别。 NVDIMM-N混合使用DRAM、DRAM,在内存条上集成NAND闪存,外接电源供电,断电时将数据转移保存到NAND闪存中,重新来电后恢复到DRAM,但闪存只是个备份,正常工作时闲置无法使用。 有消息称,紫光集团旗下西安紫光国芯也成功研发出了一看基于DDR4的NVDIMM-N。 NVDIMM-P则是以上二者的结合,三星主导DDR4版本,美光主导DDR5版本。 NVDIMM-H正在研发,美国Netlist公司主导,类似NVDIMM-N,也是DRAM、NAND混合体,但硬件结构差异较大。 - THE END - 转载请注明出处:快科技 #内存#DDR4 任编辑:上方文Q...阅读全文

DNS SRV:使用DNS服务器做服务发现

级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只能够负提供服务地址列表,对这个列表如何解读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

博文 2019-03-05 09:35:34 debian.cn

深入学习golang — channel

Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。 Goroutine和channel是Go在“并发”方面两个核心feature。 Channel是goroutine之间进通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 例如: var ch chan int var ch1 chan<- int //ch1只能写...阅读全文

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

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

近日,一位安全研究员在博客上表示发现了本田公司的云端数据库未设密码,这可能导致 1.34 亿份文档,约 40GB 数据被泄漏,其中包括机器主机名、MAC 地址、内部 IP 及操作系统版本等。在收到该研究员的提醒后,本田方面已对漏洞进修复。 本田 1.34 亿份文档,40GB 数据险遭泄漏 根据安全研究员 Justin Paine 的说法,自 2019 年 7 月 1 日起,他就发现了本田对外暴露的 ElasticSearch 数据库未设置任何密码,内部包含大约 1.34 亿份文档,这些文档可以转换为大约 40GB 数据,而这些数据的日期最早可以追溯至 2019 年 3 月左右。 最初,Justin Paine 以为这些数据来自本田的一家经销商,但他很快否定了这一想法,因为这些文档包含了本...阅读全文

漫画赏析:Linux 内核到底长啥样

作任务。 watchdog 瞧瞧,垫子(进程表)旁边也有一只小狗,它会监控小企鹅的状态(监控进程),当小企鹅们不听话时,它就会汪汪地叫喊起来。 httpd process 在这层的左侧,有一只号牌为 1341 的小企鹅,守在门口,门上写着 80,说明这个 PID 为 1341 的小企鹅负接待 80 端口,也就是我们常说的 HTTP (网站)的端口。小企鹅头上有一片羽毛,这片羽毛大有来历,它是著名的 HTTP 服务器 Apache 的 Logo。喏,就是这只: apache logo 向右看,我们可以看到这里仍有一扇门,门上写着 21,但是,看起来这扇门似乎年久失修,上面的门牌号都歪了,门口也没人守着。看起来这个 21 端口的 FTP 协议有点老旧了,目前用的人也比以前少了,以至于这里都没人...阅读全文

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

谷歌元老施密特隐退:传奇落幕 新篇开启

前谷歌 CEO ,现谷歌母公司 Alphabet 董事会执主席埃里克·施密特(Eric Schmidt)将卸任,这位一手将谷歌从一个两百名员工的小公司拉扯成世界科技巨头的功臣终于“退休”了。可能有些朋友就问了,他是谷歌创始人吗?真有这么高的地位?可能真正了解施密特和谷歌的人并不多,或许今天我们应该来聊聊这家和我们熟悉又陌生的公司。 施密特并非谷歌创始人 首先,施密特是谷歌创始人吗?他并不是,谷歌的创始人只有两个:谢尔盖·布林(Sergey Brin)和拉里·佩奇(Larry Page),但是当我们提起施密特时,总会说“没有他就没有谷歌”。如此高的评价也能够体现他对谷歌的重要性了,你看即使库克非常给力,也不会有人说没有库克就没有苹果,大家都知道苹果的灵魂人物只有乔布斯。 言归正传,施密特作...阅读全文

博文 2017-12-24 09:18:44 debian.cn

提问的智慧 – 全文

化为「u」,这会让你看起来像偷懒的傻逼。更有甚者像个小孩似地用火星文来提问,那就绝对是在找死,真的是喊破喉咙也没有人来理你(或者会有人在围观,并给你一大堆指与挖苦)。 如果你在非母语(中文)的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上懒惰(没错,我们能看得出其中的差别)。同时,除非你知道回复者们使用的语言,否则请使用英语书写。如果你用黑客看不懂的语言发送提问,繁忙的黑客一般会直接无视并立即除。英语是互联网上的通用语言,用英语书写可以避免你的问题被直接无视。 如果你要用英文作为第二语言来提问,你可以使用以下的语句来进说明,降低回答者对你语言使用的不适感: English is not my native language; please excuse typing...阅读全文

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

Kafka 3.0新特性全面曝光,真香!

导语 | kafka3.0的版本已经试推去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负将收到的消息存储到磁盘中,而Consumer负从Broker订阅并消费消息。(一)Kafka核心组件producer:消息生产者,就是向broker...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

TLS1.3 正式版发布 — 特性与开启方式科普

(SSL)的进化版本,SSL是由Netscape公司在1990年代研发的。国际互联网工程任务组(IETF)做为一个标准化组织,负定义该协议,该协议已经历了多次修订。最新版本 TLS1.2 在 2008 年被确立为标准,目前被大多数浏览器和启用 HTTPS 的 web 服务所支持。 在配置正常的情况下,TLS 1.2 会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算机安全领域,8年是一段很长的时间,因此 IETF 已经在着手开发该协议的新版本 TLS 1.3。TLS1.3 是一次全面升级,与此前版本相比,它有两个主要优势: 增强安全性 提升速度 增强安全性 过去几年来,大部分针对TLS的攻击都是以该协议90年代遗留下来的残余部分为目标的...阅读全文

博文 2018-08-14 14:40:05 debian.cn

处理器架构消亡史

带动了以X86为基础的处理器的飞速发展。就在PC从企业级市场走向民用市场的同时,半导体业也在酝酿着一场变革。从英特尔身上折射出来的市场对处理器的需求,让半导体厂商们看到了红利。于是,在此期间,各大厂商都开始着手于处理器架构的研究,2017 年图灵奖获得者John Hennessy 和 David Patterson 在其所著的《计算机架构的新黄金时代》一文中曾提到,20 世纪 80 年代我们做的研究(在计算机领域)能为我们带来回报,能改善成本、能源、安全以及性能。在巨大的回报之下,处理器架构也迎来了百家争鸣的时代。从公开的消息显示,20世纪80年代期间诞生的处理器架构不仅包括我们耳熟能详的ARM以及MIPS,SPARC、DEC Alpha、PA-RISC和其他一些产品也在同一时期出现,这些...阅读全文

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

一、0xcc开篇 2020年3月,得物技术团队在三个月的时间内完成了整个交易体系的重构,交付了五彩石项目,业务系统也进入了微服务时代。系统服务拆分之后,虽然每个服务都会有不同的团队各司其,但服务之间的依赖也变得复杂,对服务治理等相关的基础建设要求也更高。 对服务进监控是服务治理、稳定性建设中的一个重要的环节,它能帮助提早发现问题,预估系统水位,以及对故障进分析等等。从 2019 年末到现在,得物的应用服务监控系统经历了三大演进阶段,如今,整个得物的应用微服务监控体系已经全面融入云原生可观测性技术 OpenTelemetry。 回顾过去十年间,应用服务监控业的竞争也很激烈,相关产品如雨后春笋般涌现,如推特在 2012 年开源的 Zipkin,韩国最大的搜索引擎和门户网站 Naver...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

Git 介绍与使用详解

分支 4.2远程分支 git remote add 分支名 仓库地址 // 添加一个新的远程 Git 仓库 git fetch 远程分支 //从远程仓库中获得数据 git push origin master //将master推送到远程仓库 git remote rename test1 test2 //将 test1 重命名为 test2 git remote rm test//移除远程分支test 注意: 1、多人协同开发需要先执 git pull拉取远程的改动,然后再push,如果拉下来代码有冲突,则需要先修改冲突再提交 2、本地至少两个分支,master和develop,master负线上版本,develop负开发版本,如果有支线业务,则新建分支,保证不影响主业务。每次发版后...阅读全文

博文 2017-02-25 09:00:27 程序员

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

据,距今 9 年的时间里,总共已售出超过 3,800 万台树莓派产品,用户范围涵盖工业产品制造商、开源社区开发者以及学生,为人们提供了低成本、高可用性的硬件开发设备。 为纪念树莓派诞生九周年,资深树莓派开发者、拥有 30 台树莓派设备的 DIY 达人 Avram Piltch 为我们分享了 9 个关于树莓派的有趣冷知识:1. 树莓派的最初目标仅为 1000 台​树莓派最初是为解决一个非常有限的问题而开发的:剑桥大学申请计算机科学专业的人数正在减少。当时,剑桥大学计算机专业每年的申请学生数量从 600 个下降到 250 个,负招生的 Eben Upton 担心没有足够的孩子对计算机产生兴趣,于是开始召集一群老师和开发者朋友,设计一款低成本、易于使用的简易教学计算机。Upton 希望通过向英国...阅读全文

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

Debian 10.8 发布:包括多项安全更新和错误修复

Debian 项目团队宣布其稳定发版 Debian 10 (代号 "buster")的第八次更新。本次更新主要是对安全问题进了修正,同时也对一些严重的问题进了调整。安全公告已经单独发布,并在可用的地方进了参考。 需要注意的是,这个点发版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常规位置提供。 将现有的安装升级到这个版本可以通过将软件包管理系统指向Debian的许多HTTP镜像之一...阅读全文

博文 2021-02-07 10:57:22 joseph

Linux下多线程程序为什么消耗大量虚拟内存

最近游戏已上线运营,进服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

博文 2015-01-28 10:35:39 debian.cn

使用 MongoDB 之前应该知道的 14 件事

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文

Redis 命令、特性介绍与性能调优

的多节点架构,在这一架构下,主节点接收所有写请求,并将数据同步给多个从节点。 在这一基础上,我们可以让从节点提供对实时性要求不高的读请求服务,以减小主节点的压力。 尤其是针对一些使用了长耗时命令的统计类任务,完全可以指定在一个或多个从节点上执,避免这些长耗时命令影响其他请求的响应。 关于读写分离的具体说明,请参见后续章节 主从复制与集群分片 主从复制 Redis支持一主多从的主从复制架构。一个Master实例负处理所有的写请求,Master将写操作同步至所有Slave。 借助Redis的主从复制,可以实现读写分离和高可用: 实时性要求不是特别高的读请求,可以在Slave上完成,提升效率。特别是一些周期性执的统计任务,这些任务可能需要执一些长耗时的Redis命令,可以专门规划出1个或几...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(上)

(Kubernetes中的节点指服务器)负管理集群的状态。 它运Etcd ,它在将工作负载调度到工作节点的组件之间存储集群数据。 两个工人节点 工作节点是运工作负载 (即容器化应用程序和服务)的服务器。 一旦工作人员分配了工作负载,工作人员将继续运您的工作负载,即使主计划在调度完成后停止工作也是如此。 通过添加工作人员可以增加群集的容量。 完成本指南后,如果群集中的服务器具有足够的CPU和RAM资源供应用程序使用,您将拥有一个可以运容器化应用程序的集群。 几乎任何传统的Unix应用程序(包括Web应用程序,数据库,守护程序和命令工具)都可以进容器化,并在集群上运。 群集本身将在每个节点上消耗大约300-500MB的内存和10%的CPU。 设置群集后,您将向其部署Web服务器Nginx ,以确保它...阅读全文

博文 2019-05-13 22:47:39 debian.cn

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运时。分布式应用我们或多或少有些了解,运时也听到不少,比如常见的语言运时:Java 运时,.NET 运时,Go 运时等等,那运时又是什么东西?简要来说:运时是程序运依赖的执环境。以.NET 程序运时CLR为例,它为.NET应用程序提供了一个托管的代码执环境负应用程序在整个执期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运时,就是提供分布式应用运所依赖的的执环境。那运分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

Debian Live 项目的剧变

debian-cd 和 Debian Installer 团队合作开发 live-build-ng 。 Debian Live 是一个「官方的」 Debian 项目(也可以是狭义的「官方」),尽管它因为思路上的不同产生过争论。除此之外, vmdebootstrap 的维护者 Neil Willians 为脱离 Debian Live 项目提供了如下的解释: 为了更好的支持 live-build 的代替者, vmdebootstrap 肯定会被推广。为了能够用 live-build 解决目前存在的问题,这项工作会由 debian-cd 团队来负。这些问题包括可靠性问题,以及不能很好的支持多种机器和 UEFI 等。 vmdebootstrap 也存在着这些问题,我们用来自于对 live-boot 和...阅读全文

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

基于thanos搭建分布式prometheus

的永久存储和查询能力。 Compactor则是对Bucket里的历史数据进采样或者清理,有具体需求后再自研究即可。 上述组件均是可选的,没有历史数据永存需求的可以直接忽略。 方案2:thanos receive + thanos querier thanos提供的另一种方案是计算与存储分离,利用thanos receive组件部署一个分布式存储集群,然后令prometheus通过remote write机制直接写入到thanos receive集群完成分布式存储,这样prometheus本身就无状态了。 再利用thanos querier反向代理到thanos receive集群,最终对外提供统一的promql查询入口,这个阶段就没有prometheus什么事了。 这套方案的工作原理如下...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.cs.cmu.edu/~muli/file/ps.pdf)(参数服务器)的中央实体,它负聚合和计算梯度,并将更新的参数传递给每个 worker。 在分布式集群中实现这样的策略并非易事。特别是,worker 应该能够在不同节点之间进数据和权重的沟通,并有效协调它们的学习,同时避免错误。 TensorFlow 在[tf.distribut.Strategy](https://www.tensorflow.org/api_docs/python/tf/distribute/Strategy)模块中实现了各种分布式训练策略,以节省开发人员的时间。有了这个模块,机器学习开发人员只要对他们的代码做最少的修改,就可以在多个节点和 GPU 之间分发训练。 这个模块实现了几种同步策略,包括...阅读全文

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

) 升级数据库配置 迁移非核心业务到新的RDS实例中去 第二次宕机 由于上一次的宕机原因未找到,所以此次的宕机是可以预见的。 20180919,还是一样的”配方”,还是原来的”味道”。同一个RDS,CPU飙升至100%,接下来就是拒绝服务,宕机。当然,有了第一次的经验,直接主从切换,在几十秒左右就恢复了所有业务,但还是严重影响了公司的业务和形象 原因分析 恢复业务后,公司紧急召开了紧急事故研究会议,当然,我的级别是参与不了的。公司的高管,高层技术架构、DBA、各个项目的主负人一起进了会议。 在此次会议中,经过查看各个项目的日志,后台的监控数据,发现在那台RDS数据库CPU飙升时,有一台Redis数据库内存将近100%,然后急剧下降。联系第一次的宕机情况,也是类似的。 接下来就是联系服务器数据...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Apache Kafka发布 3.0 正式版

昨天,Apache Kafka 3.0 版本正式发布,这是一个涉及多方面的大版本。在这个版本中,Apache Kafka 3.0 引入了各种新功能、突破性的 API 更改以及对 KRaft 的改进:Apache Kafka 的内置共识机制将取代 Apache ZooKeeper™。虽然 KRaft 尚未被推荐用于生产(已知差距列表),但我们对 KRaft 元数据和 API 进了许多改进。Exactly-once 和分区重新分配支持值得强调,我们鼓励开发者查看 KRaft 的新功能并在开发环境中试用它。并且,从 Apache Kafka 3.0 开始,生产者默认启用最强的交付保证 ( acks=all, enable.idempotence=true),这意味着用户现在默认获得排序和持久性...阅读全文

博文 2021-09-26 14:13:03 joseph

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

次创建这些资源的呢?其实这些工作都是由 Kubernetes 内置的 Controller(控制器) 来完成的。 Kubernetes 在整个系统中使用了大量的 Controller,Controller 是一个用于将系统状态从“当前状态”修正到“期望状态”的异步脚本。所有 Controller 都通过 kube-controller-manager 组件并,每种 Controller 都负一种具体的控制流程。首先介绍一下 Deployment Controller: 将 Deployment 记录存储到 etcd 并初始化后,就可以通过 kube-apiserver 使其可见,然后 Deployment Controller 就会检测到它(它的工作就是负监听 Deployment...阅读全文

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

DPDK Graph Pipeline 框架简介与实现原理

DPDK 全称为 Data Plane Development Kit ,是近年来在高速网络通信业中炙手可热的一种网络报文处理加速框架。DPDK 从十年前诞生直至发展到今天已经可以支持业界主流的高端网卡以及各类加速硬件设备,同时也支持主流的各个CPU 体系结构(可以运于 X86, Arm, Power 等平台)。同时也可以运于 Linux/FreeBsd/Windows 等主流操作系统之上。DPDK因为其优异的性能指标被广泛的应用于网关/负载均衡/SDN/虚拟交换的各个场景。 本文主要介绍 DPDK 中的 libgraph 设计思想以及实现,libgraph 的设计思想源自于开源项目 Vector Packet Processor(VPP)。VPP 中的向量包处理优化方案是...阅读全文

博文 2023-02-09 07:13:55 掘金

最全的 DevOps 工具集合

用 Marathon 的 Apache Mesos 架构,©AdrianMouat 如图所见,集群中有四个元素。ZooKeeper 帮助 Marathon 查找 Mesos master 的地址,可以使用多个实例来处理故障。 Marathon 负启动、监视并扩展容器。Mesos master 将分配给节点的任务发送给 Marathon,并在节点具有一些可用的 CPU/RAM 时向 Marathon 提出要约。Mesos slaves 负容器并提交自身可用资源的列表。 Kubernetes Kubernetes 是用于 Docker 容器的编排系统,使用标签和 pods 的概念将容器分为许多逻辑单元。Pod 是 Kubernetes 与其他两种解决方案之间的主要区别所在——它们是位于同...阅读全文

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

王垠:如何掌握所有的程序语言

论不休,发生各种宗教斗争。 你追逐潮流采用了某种时髦的语言,结果两个月之后发现深陷泥潭,痛苦不堪…… 虽然我已经不再过问这些世事,然而无可置疑的现实是,程序语言仍然是很重要的话题,这个情况短时间内不会改变。程序员的岗位往往会要求熟悉某些语言,甚至某些奇葩的公司要求你“深入理解 OOP 或者 FP 设计模式”。对于在的程序员,程序语言至今仍然是可以争得面红耳赤的宗教话题。它的宗教性之强,以至于我在批评和调侃某些语言(比如 Go 语言)的时候,有些人会本能地以为我是另外一种语言(比如 Java)的粉丝。 显然我不可能是任何一种语言的粉丝,我甚至不是 Yin 语言的粉丝 对于任何从没见过的语言,我都是直接拿起来就用,而不需要经过学习的过程。看了这篇文章,也许你会明白我为什么可以达到这个效果。理解...阅读全文

博文 2017-07-10 10:13:17 debian.cn

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

下图),帮助快速定位到代码级别问题。​四、应用/Pod 状态问题Pod 负管理容器,容器是真正执业务逻辑的载体。同时 Pod 是 Kubernetes 调度的最小单元,所以 Pod 同时拥有了业务和基础设施的复杂度,需要结合着日志、链路、系统指标、下游服务指标综合来看。Pod 流量问题是生产环境高频问题,比如数据库流量陡增,当环境中有成千上万个 Pod 时,排查流量主要来自哪个 Pod 就显得特别困难。​接下来我们看一个典型的案例:下游服务在发布过程中灰度了一个 Pod,该 Pod 因代码原因响应非常慢,导致上游都超时了。之所以能做到 Pod 级别的可观测,是因为我们用 ebpf 的技术来采集 Pod 的流量、黄金指标,因此可以通过拓扑、大盘的方式方便地查看 Pod 与 Pod、Pod...阅读全文

博文 2022-03-21 09:11:51 joseph

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

如何在一个U盘上安装多个Linux发行版

本教程介绍如何在一个 U 盘上安装多个 Linux 发版。这样,你可以在单个 U 盘上享受多个现场版live Linux 发版了。 我喜欢通过 U 盘尝试不同的 Linux 发版。它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。此外,我可以将 USB 插入任何系统(比如 Windows 系统),做任何我想要的事情,以及享受相同的 Linux 体验。而且,如果我的系统出现问题,我可以使用 U 盘恢复! 创建单个可启动的现场版 Linux USB 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是,如果你想尝试多个 Linux 发版呢?你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发版。但这两种方法都不是很方便。 那么,有没有在单个...阅读全文

博文 2017-10-18 13:42:20 debian.cn

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运器; 5、命令任务:原生提供通用命令任务 Handler(Bean...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Debian/Ubuntu 如何不启动图形界面?

在Ubuntu / Debian中,如果您想要禁用图形界面启动,可以通过设置系统默认的运级别来实现。 Ubuntu使用systemd管理系统服务,运级别被称为目标(targets)。 图形界面通常在graphical.target运级别运,而文本模式界面通常在multi-user.target运级别运。 要禁用图形界面启动,您可以设置系统默认启动到multi-user.target。 执以下命令来设置默认的运级别: ``` sudo systemctl set-default multi-user.target ``` 需要重启生效...阅读全文

谷歌开源更快更高效的 TensorFlow 运行时 TFRT

TensorFlow 官方博客宣布开源新的运时 TFRT,该运时提供了统一的、可扩展的基础结构层,并在各类硬件上均具有高性能。 TFRT 产品经理 Eric Johnson 表示,TFRT 将取代现有的 TensorFlow 运时。原有的 TensorFlow 运时最初是为图形执和训练模型的工作负载而构建的。与之相比,新的运时将急切的执需求放在第一位,同时特别强调架构的可扩展性和模块化。 它能够很好地满足开发复杂模型时寻求更快迭代时间的开发者需求、在训练和服务生产模型时改进性能的需求,以及希望以模块化方式将边缘和数据中心设备集成到 TensorFlow 中的硬件制造商需求。 简单来讲,TFRT 可以减少开发、验证和部署企业级模型所需的时间。 TFRT 利用了 eager 和图...阅读全文

博文 2020-05-01 09:30:31 debian.cn

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地化的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

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

WebAssembly:无需容器的 Docker (上)

布与 WasmEdge 合作支持 WebAssembly。本文将解释什么是 WebAssembly(Wasm),为什么它与 Docker 生态相关,并提供一些实践示例供大家尝试。 我们假设你已经熟悉 Docker 工具。 我们将使用我们在 PHP 的 WebAssembly 端口上做的工作来演示如何构建 PHP 解释器,将其打包为 OCI 镜像的一部分,并使用 Docker 运它。请注意,本文专注动手经验,而不是讨论技术细节。WebAssembly 是什么?为什么选它?本节是对 WebAssembly 的基本介绍。 已经熟悉 Wasm 的小伙伴,可以快速重温一下,明天的文章将介绍更多实践。什么是 WebAssembly?WebAssembly 是一种定义二进制指令格式的开放标准,它支持从不...阅读全文

博文 2023-01-03 06:35:56 spider

OpenStack 基金会发布新容器项目 Kata

OpenStack 基金会发布了一个新的容器项目,叫作 Kata 容器 ,以英特尔的 Clear 容器和 Hyper 的 runV 项目为基础。Kata 容器兼容 Open Container Initiative(OCI)和 Kubernetes 的 Container Runtime Interface(CRI),旨在提供虚拟机和容器的双重优势。 该项目以英特尔的 Clear 容器 和 Hyper 的 runV 项目为基础。Clear 容器使用了英特尔的 VT 技术 来启动轻量级虚拟机,最开始用于解决内核安全问题。Clear 容器运时在轻量级虚拟机上以自己的内核实例来启动容器,从而解决了共享内核的问题。Hyper 的 runV 是 OCI 运时的一个实现,OCI 是一个用于定义容器...阅读全文

博文 2017-12-14 22:45:39 debian.cn

Apache Flink 1.14 新特性预览 - OSCHINA

在引擎层面,API 层面和算子的执层面上做到了真正的流与批用同一套机制运。但是在任务具体的执模式上会有 2 种不同的模式: 下图是不同的执模式: 对于无限的数据流,统一采用了流的执模式。流的执模式指的是所有计算节点是通过 Pipeline 模式去连接的,Pipeline 是指上游和下游计算任务是同时运的,随着上游不断产出数据,下游同时在不断消费数据。这种全 Pipeline 的执方式可以: 通过 eventTime 表示数据是什么时候产生的; 通过 watermark 得知在哪个时间点,数据已经到达了; 通过 state 来维护计算中间状态; 通过 Checkpoint 做容错的处理。 这两种各有优劣,可以根据作业的具体场景来进选择。 对于有限的数据集有 2 种执模式,我...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

OpenJDK 14 已于近日 GA,其在性能方面是否有改进、以及有哪些改进引起了不少开发者的关注。本文将会介绍通过运新的基准测试以考察从 OpenJDK 8 至 14 的所有主要发版本,同时考察跨多个工作负载的 JVM 性能,以及 OpenJDK 14 与 JVM 先前版本相比性能如何。 此次测试通过在被测试的每个发版上使用相同的 Java 字节码编译的 Java 程序来查看 JVM 的性能,并使用被测软件包的参考/上游编译版本。为了保证测试受干扰的因素将降至最低,每次都使用相同的选项,除了交换用于测试每个发版的 OpenJDK x86_64 Linux 构建之外,没有进任何其他更改。 通过使用 Phoronix 的测试套件,测试内容包含从 SPECjbb 到 Java 2D...阅读全文

博文 2020-03-22 08:46:01 debian.cn

Postgres 10 开发者新特性

目前非常流的RDBMS PostgresSQL已经在几周前发布了它的第10个版本。由于Postgres的可靠性、节约成本、成熟,当然还有它的开源,已经21岁的Postgres在开发者之中仍旧非常流。 Postgres 10带来了一些新特性,其中一些特性另开发者感到十分兴奋。10Clouds在博客中详细介绍了其中的一些特性。通过消除主表(master table)中触发器(trigger)的需求,本地分区(native partitioning)现在变得更简单了。这意味着创建分区表将变得更简单,并且从开发者的角度来看,现在从分区数据表中进查询和插入与在非分区的数据表进这些操作是完全一致的。 多列统计(multicolumn statistics)是Postgres 10的另一项改进...阅读全文

博文 2017-12-30 11:46:16 debian.cn

GitLab 11.10 正式发布,进一步简化协作功能

GitLab 11.10 已正式发布 ,更新亮点包括将管道功能(pipeline)集成到操作面板、将管道用于合并结果以及针对多合并请求的建议。 轻松查看跨项目的管道健康状况 此版本通过强大的功能增强了 Operations Dashboard,该功能让用户能直接查看管道状态。 即使在查看单个项目的管道状态时,这也很方便,不过在使用 多项目管道 时尤其有用 —— 当拥有微服务架构并且需要运管道来测试和部署位于多个不同项目仓库中的代码时,这种情况很常见。现在,我们可以方便看到操作面板上所有管道的运状况 。 针对合并结果运管道 现在可以在合并之前 针对合并结果运管道 。这样可以快速捕获只有经常重新定位时才会出现的错误,从而更快地解决管道故障并更有效地使用 GitLab Runner...阅读全文

如何让 Mac OS X 快速完成升级

每次将 Mac OS X 升级到新版本时,你只能干等着,看进度条慢慢变化,是不是觉得很无奈。最近有用户在 Reddit 中发帖,和其他用户共享了只需一个终端指令就能够让 macOS 升级变得更快。 这名用户表示,自己通过 App Store 升级 macOS 前后通常需要半个小时。macOS 已经内置了一个软件升级实用工具,它能够让系统升级变得更快。而且还支持用户一边升级一边使用设备。 这名用户表示自己通过这个办法升级 macOS 12.6 最新版本时只需要 10 分钟,升级过程中因为需要重启设备,有大约 2 分钟的时间无法使用设备。这名用户在帖子建议使用一下两条命令即可执更新: softwareupdate -ia 这个命令会执安装更新的任务。升级过程时会收到提示,用户需要重启设备...阅读全文

博文 2017-07-21 17:41:38 debian.cn

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

Solus Linux 的创造者 Ikey Doherty 宣布其正在打造一个“真正现代的 Linux 发版” Serpent OS,并且该发版将不依赖 GNU 工具链与运时。 Ikey Doherty 认为当前市面上绝大多数 Linux 发版都有非常相似的目标: Modern, lightweight, privacy oriented/respecting, user-friendly desktop现代、轻巧、面向隐私/尊重用户友好的桌面 但是其专注于构建可满足自己需求的 Linux 发版,而不是关注与 macOS * + Windows * 互用性的“基于 Linux 的操作系统”。也就是说,“这不是‘面向大众的 Linux’,而是一个还原 Linux 真正该有的样子的...阅读全文

博文 2020-07-12 09:08:23 debian.cn

WebAssembly:无需容器的 Docker (下)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container。这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文字版。作者:Asen Alexandrov,Wasm Labs 工程师。文中的我们均指作者或 Wasm Labs。本篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。上篇文章我们了解了服务端 Wasm 为什么有着重要的作用、什么是 WasmEdge 以及如何让解释型语言编写的程序在 Wasm 里运,这篇文章,我们将通过动手示例了...阅读全文

博文 2023-01-03 06:39:46 spider

Debian 将支持从 F2FS 根文件系统进行系统引导

不少用户希望通过将 Flash-Friendly File-System (F2FS) 作为根文件系统来启动和运 Debian,现在这个目标将有望达成了。尽管 F2FS 早已问世,并且得到了越来越多的采用,尤其是在 Android 移动设备上,但默认情况下,大多数 Linux 发版都不允许默认从 F2FS 文件系统进引导。 不过事情现在迎来了转机,GRUB 2.04 在其 2019 年中期发布的版本中提供了 F2FS 支持。 更新后的 GRUB 能够支持读取 F2FS 根文件系统,而且这种支持也一直在向 Linux 发版中扩散,当然还需要启用相关模块(F2FS 模块)才能使用。对于 Debian 而言,他们本周最终将 F2FS 模块添加到了已签名的 UEFI 映像中。 从 F2FS...阅读全文

博文 2020-01-13 13:36:55 debian.cn

Go 1.16 发布,支持 macOS ARM64

Go 1.16 正式发布,该版本主要包括支持 macOS ARM64、工具链优化、运时和库的实现优化。并且,该版本保留了Go 1兼容性的承诺,几乎所有 Go 程序都能像以前一样继续编译和运。 部分更新内容: - Go 1.16 通过 GOOS=darwin,GOARCH=arm64 在macOS(也称为 Apple Silicon)上添加了对 64 位 ARM 架构的支持。与 darwin/amd64 一样,darwin/arm64 也支持 cgo、内部和外部链接、c-archive、c-shared 和 pie build 模式、竞争检测器 - Go 现在在 NetBSD(netbsd/arm64)上支持 64 位 ARM 体系架构 - Go 现在在 OpenBSD(openbsd...阅读全文

博文 2021-02-17 08:58:12 joseph

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执计划,描述它将做什么来达到所需的状态,然后执它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执计划。 Terraform 是用 Go 语言开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执计划(Execution Plans)资源图(Resource Graph)自动化变更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进版本控制,就像对待其他代码一样对待它。 执计划(Execution...阅读全文