InfraPub 为您找到相关结果 427

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

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

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

改善 Debian Linux 软件包管理的七款工具

说,你可以用它来设定软件包安装时向你提出哪种类型的问题、重置问题的优先级,或者尽管软件包破损仍强行安装。 dpkg-reconfigure可用来配置基于Debian系统的几乎方方面面。由于出现了配置安装系统的其他工具,它的多用途性在丧失,不过dpkg- reconfigure仍可用于配置诸如此类的特性:时区、视频驱动程序、打印机和扫描仪。Ubuntu弃用了dpkg- reconfigure,但是它在其他基于Debian的发行版中仍很有用。 4.netselect-apt 如今,互联连接的速度已经非常快。然而,一些软件包代码库的速度仍比其他代码库要快;在使用高峰期间,流行的软件包代码库会降低速度。有时候,根本就缺少高速连接。 对于注重速度的那些人来说,netselect-apt为你的位置列出...阅读全文

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

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

Kotlin 使用 React.js 创建现代 Web 应用。 使用 create-react-kotlin-app,可让开发者无需费心于项目设置和配置构建这些工作,能专注于快速开始客户端应用开发,同时体会到静态类型语言的优势以及由 JavaScript 生态系统带来的强大配套资源。详情点此了解。 未来的发展方向 Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用。官方表示计划通过使用同一 API 以扩展全部平台上的可用库资源集合,其中涵盖 I/O、络、序列化以及日期处理等。 编译器方面,1.3 版本仍集中关注内部层面的变更,而不是外部可见的语言特性。内部的改变能提高性能、改进类型推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应能力...阅读全文

博文 2017-11-05 19:28:14 debian.cn

不要光想着价格 QLC 与 TLC 闪存有什么不同

在这个互联时代,游戏、电影、照片等数据越来越大,硬盘容量将会面临着前所未有的挑战。虽然传统的机械硬盘可以解决容量问题,但是速度太慢,体验糟糕,并不是最优的个人存储解决方案。我们渴求大容量的SSD,不过超过TB大容量SSD动不动就几千元的售价,对于支付能力有限用户实际上没有意义。SSD的成本主要来源于闪存,在TLC闪存能够实现TB容量可惜价格未能降下来。只有不断开发新类型的闪存,解决容量与价格的矛盾,才能让SSD真正在大数据时代发挥应有作用。 这时,QLC 闪存就应运而生, 目前,东芝和西数先后宣布成功开发基于四比特单元3D NAND闪存芯片,即QLC闪存,这也意味着QLC SSD将要来临。那么,它与TLC闪存又有什么区别,能否取代TLC成为SSD主流闪存之选? 先来了解一下什么是TLC...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Kubernetes v1.21 新特性预览

Beta 阶段,并默认开启。注意,使用该特性需要 CSI 驱动程序实现对应的接口。TTL 控制器 BetaTTL 控制器用来自动清理已经结束的 Pod,如处于 Complete 或 Failed 状态的 Job。Pod 停止之后的 TTL 可以通过 .spec.ttlSecondsAfterFinished 来设置。注意,该特性要求集群中各节点(包括控制节点)的时间一致,比如在所有节点中运行 NTP 服务。GenericEphemeralVolume Beta通用临时卷(GenericEphemeralVolume)类似于 emptyDir 卷,但它更加灵活:存储可以是本地的,也可以是络存储。卷可以有固定的大小,Pod 不能超量使用。卷可能有一些初始数据,这取决于驱动程序和参数。当驱动程序支持...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

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

初始化容器,该容器要等到API准备好后才能成功退出。只有在初始化容器成功完成其工作之后,应用程序容器才会启动。 初始化容器不能像应用程序容器那样使用运行状况和就绪探针。原因是它们要成功启动和退出,就像Jobs和CronJobs的行为一样。 同一Pod上的所有容器共享相同的卷和络。您可以利用此功能在应用程序及其初始化容器之间共享数据。 正如我们刚刚讨论的那样,init容器总是比同一个Pod上的其他应用程序容器先启动。结果,调度程序对init容器的资源和限制赋予了更高的优先级。必须仔细考虑这种行为,因为这可能会导致不良后果。例如,如果您有一个初始化容器和一个应用程序容器,并且将初始化容器的资源和限制设置为高于应用程序容器的资源和限制,那么只有在有一个可用节点满足初始化的情况下,才调度整个Pod...阅读全文

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

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

FTP,通过该服务接收我的包,并在响应中返回权威的决定:拒绝或接受。对于接受的包,通过一个状态页面来显示包的状态,以及可以通过镜像络提供包的时间。包应在构建完成后,几分钟内即可进入可访问状态。 陈旧的基础设施:bug追踪 我非常害怕与Debian的bug追踪系统交互。debbugs是一款始于1994年的软件,目前仅供Debian和GNU项目使用。 Debbugs负责处理电子邮件,也就是说它的处理是异步的且很麻烦。尽管我们在Debian最快的机器上运行了Debbugs,但是它的Web界面加载速度依然非常慢。 尤其是bugs.debian.org的Web界面是只读的。为reportbug(1)(https://manpages.debian.org/stretch/reportbug...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

深入理解Golang之context

:= srv.newConn(rw) c.setState(c.rwc, StateNew) // before Serve can return go c.serve(ctx) } } 2、建立连接之后会基于传入的context创建一个valueCtx用于存储本地地址信息,之后在此基础上又创建了一个cancelCtx,然后开始从当前连接中读取络请求,每当读取到一个请求则会将该cancelCtx传入,用以传递取消信号。一旦连接断开,即可发送取消信号,取消所有进行中的络请求。func (c *conn) serve(ctx context.Context) { c.remoteAddr = c.rwc.RemoteAddr().String() ctx = context.WithValue(ctx...阅读全文

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

Kafka生产问题总结以及性能优化

消息发送端: 发送消息如果配置了重试机制,比如络抖动时间过长导致发送端发送超时,实际broker可能已经接收到消息,但发送方会重新发送消息 消息消费端: 如果消费这边配置的是自动提交,刚拉取了一批数据处理了一部分,但还没来得及提交,服务挂了,下次重启又会拉取相同的一批数据重复处理 一般消费端都是要做消费幂等处理的,比如每条消息使用redis的setnx分布式锁,把消息放redis里,这样两次消息一样的话,第二次的消息是放不进去的。 2.1.3 消息乱序 如果发送端配置了重试机制,kafka不会等之前那条消息完全发送成功才去发送下一条消息,这样可能会出现,发送了1,2,3条消息,第一条超时了,后面两条发送成功,再重试发送第1条消息,这时消息在broker端的顺序就是2,3,1了 所以,是否一...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

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

个简化的Web应用,由这些部分组成: 为了冗余而在两个集群上运行的二进制文件,实现前段逻辑负载均衡,有集群前和全局的配置全局的Spanner数据库 生产或者服务基础架构提供服务所需的基础模块来服务用户的请求,比如,Borg集群管理系统[2],络交换机的firmware等等。每个这些组件都是一个asset。 Shakespeare服务使用多个基础架构提供者:Borg来运行二进制文件,GSLB[1]管理负载均衡,以及Google共享的Spanner基础架构。 控制平面是服务用于管理生产服务基础结构的平面——比如,添加一台VM或者搭建负载均衡器。控制平面可以包括人工(“我会把新的二进制文件拷贝到服务器上”)到复杂的自动化系统(“我使用机器学习来控制变更”)。控制平面包括变更管理:控制平面里的逻辑...阅读全文

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

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

一、HAProxy简介 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到络上。 (2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User...阅读全文

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

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

。IDL允许以独立于语言的格式描述服务API,将接口与任何特定的编程语言分离。他们可以提供一系列的好处,包括服务API的一个单一的事实来源,并可能被用来生成客户端和服务器代码来与这些服务进行交互。IDL的例子包括Thrift,Avro,CORBA,当然还有ProtocolBuffers。 最后,明确的获胜者是基于协议缓冲区的gRPC。 什么是gRPC? 我们选择了gRPC,因为它满足了我们的功能需求(包括未来的可扩展性),背后的活跃社区以及HTTP / 2框架的使用。 gRPC是由Google开发,设计用于传统的RPC调用。该框架使用最新的络传输协议HTTP / 2,主要用于通过使用流的单个TCP连接来实现低延迟和多路复用请求。与REST over HTTP / 1.1相比,gRPC非常快速和灵...阅读全文

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

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

来实现。完整的镜像列表可在以下址获得。 [https://www.debian.org/mirror/list](https://www.debian.org/mirror/list) ## 杂项错误修正 这个稳定的更新为以下软件包添加了一些重要的修正。 | 包 | 原因 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [atftp](https://packages.debian.org/src:atftp) | 修复拒绝服务问题[CVE-2020-6097...阅读全文

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

运维的未来:云服务兴起,运维人员会“下岗”吗?

我合作的或者是我了解的众多 dev 组织似乎不用 QA 也做得挺好。 同样的状况很快也会发生在运维人员身上。我之前在 Workiva 的基础设施和可靠性小组里工作时,我们将运行和基础建设工程团队并入一个单独的团队,该团队是由站可靠工程师组成的,负责构建和维护基础设施服务,配置管理,日志管理,集合管理,监控等。 我非常支持通过愿景实现对团队的领导。发展愿景令人信服,可以使团队之间达成共识,减少功能孤岛和组织孤岛的影响,并能够从内部激励员工。它能使团队高度一致又能松散耦合,能够更好地做出决定。我对运维未来作为组织能力的想法本质上是将合成工程看作是合理结论。跟 QA 一样,运维能力也应该被嵌入发展团队中。事实是,没有运维技能,你不可能在现代组织中成为一名合格的软件工程师。现如今的运维团队,应该重...阅读全文

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

成为Debian社区维护人需要做好的准备

maintainers: 很多开发人员没有申请 DM/DD,而是选择通过一位 DD 来协助上传软件包。他们对于自己的软件包和其他开发人员没有任何更多的区别,同时又不必去经历相对繁琐的申请流程。 4. Non-uploading DD: Debian 为迎接那些不参与打包,但是参与文档、翻译、站和设施维护等工作的人进入 Debian 社区所设立的 DD 类型,与其他 DD 的区别是没有上传软件包的权限。(参考文档) 5. Sponsor: 协助其他没有上传权限的开发人员,检查软件包并将符合要求的上传到官方仓库的 Debian Developer。 6. NM Process: New Maintainer Process,一位 Sponsored Maintainer 或 DM 申请成为正式的 DD 的过程,需...阅读全文

SVN切换分支用法汇总

path:"中输入目标分支的远程地址,例如http://localhost/branches/develop/。Step 3:单击“OK”按钮,等待操作完成即可。四、SVN切换分支常见问题处理在使用SVN进行分支切换的过程中,可能会遇到一些常见的问题。为了方便大家解决这些问题,下面列举了一些经常遇到的问题及其解决方法:1. SVN switch的URL地址错误在使用SVN switch命令进行分支切换时,如果URL地址有误,可能会导致切换分支失败。此时,可以按照以下步骤进行处理:Step 1:检查URL是否正确;Step 2:确认URL地址是否可以访问。2. 更新操作失败在进行分支切换的过程中,可能会遇到更新操作失败的问题。这时,我们可以使用以下方法来解决这个问题:Step 1:检查络连接是否正...阅读全文

博文 2023-06-09 14:22:35 infras

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

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

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

Apollo 配置中心简单介绍

本章将介绍如何在Apollo配置中心中删除已经发布的项目。 专栏目录: 携程 Apollo 配置中心 | 学习笔记 序章 欢迎关注个人公众号: Coder编程 欢迎关注个人站:https://coder-programming.cn/ 一、前言 之前一直学习SpringCloud, 对于配置中心,一直也是采用的Spring Cloud Config,但是用久了,发现很多地方满足不了要求,同时也感觉很low(个人看法勿喷)。在学习Spring cloud config 的时候也有听到过携程的apollo,但一直没时间去弄。直到昨天看了一张图,如下:使我下定决心去看看携程的apollo配置中心。 这张图也算是综合对比了spring cloud config,netflix archaius...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

Canonical一直在开发这个桌面。如果Canonical在营销移动设备方面取得成功,那么在未来你就能够在所有硬件上使用同一个桌面了。 然而,那些默认桌面意味着除了方便外没多大意义。Debian和Ubuntu都支持多个桌面。在Ubuntu中,桌面是半独立的发行版,包括Xubuntu for Xfce和Kubuntu for KDE。那些变种与标准的Ubuntu采用了同样的底层GNOME技术,能不能与官方版本同步不好说,时间相差不到几周。 在Debian中,桌面方面的选择大致一样,不过开发桌面的团队与开发标准Debian的团队关系比较紧密。那些版本的时间表有变化,所以总是预计要花点时间在上搜索,查一查开发结果可能让你有兴趣的团队的近况。 除了Unity外,为Ubuntu编写的大多数软件也有面向Debian...阅读全文

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

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

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

理解 Linux 的虚拟内存

前不久组内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,一些概念还...阅读全文

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

Gitlab CI 配置文件 .gitlab

: script: - test project services: - postgres - ruby test:mysql: script: - test project services: - mysql - ruby 你可以看到hidden keys被方便的用作模版。 Triggers Triggers 可用于强制使用API调用重建特定分支,tag或commits。在triggers文档中查看更多。 pages pages是一个特殊的job,用于将静态的内容上传到GitLab,可用于为您的站提供服务。它有特殊的语法,因此必须满足以下两个要求: 任何静态内容必须放在public/目录下 artifacts必须定义在public/目录下 下面的这个例子是将所有文件从项目根目录移动到public/目录...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

阿里巴巴版 JDK 首发 GA 版 生产环境可用

态。这时,虽然 Java 能够对外提供服务,但服务质量较差,如果该阶段的用户并发较高,那么就会造成服务质量降级乃至服务崩溃。 为了优化这一过程,通常的工业实践会在 Java 启动后引入 " 预热 "(warmup) 步骤,通过人为导入数据来让应用提前加热。在预热完成之前,用户请求通过络控制不让它发送到 Java 进程,在预热完成之后才打开流量限制让 Java 真正提供服务。这个做法可以部分缓解上述问题,但是该方案在很多场景下会有一些局限性,在很多情况下,获取一份高质量的预热数据是很困难的。而预热数据的正确性直接影响预热效果,与实际情况相符的数据可以提高编译质量,如果不一致,有时反而会造成反面效果,比如一种常见的情况是预热时漏掉重要方法调用。更糟糕的情况是由于和实际情况不一致,导致 JVM...阅读全文

博文 2019-07-11 10:24:52 debian.cn

一位五年工作经验架构师的感悟

然现在的公司对我们还是很不错)。 钱,对于我而言,就是想买个安心。我用它来让父母对我的未来安心;让妻子对于未来充满信心(虽然她现在还不算很安心);让整个家庭有一定的风险抵抗能力。 安心以后,就是上路。 我记得第一段工作,是在恒生。我当时在恒生银行事业部,工作一年后,我发现自己进步很慢,在技术体系没有任何进展,公司的技术体系很旧,而且基本不进化。我自己做了一个技术的演进,使用了一种新的方式提升了平台的整体能力(当年还没有平台能力这些体系思路)。然后还期待年底被表彰下,技术人也是虚荣的,呵呵,就是期望可以带来成就感。 做着做着,发现没有人可以帮助我提升,虽然当时我很弱,我的学**思路也不清晰。平时就是逛逛站,学**的很肤浅。但是,我内心感受到:如果要是这样待下去,肯定废了,几年之后,还是同样的...阅读全文

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

Apache Kafka发布 3.0 正式版

生成在 3.0 和KIP-730 中,Kafka 控制器现在完全接管了生成 Kafka 生产者 ID 的责任。控制器在 ZK 和 KRaft 模式下都这样做。这让我们更接近桥接版本,这将允许用户从使用 ZK 的 Kafka 部署过渡到使用 KRaft 的新部署。KIP-679:Producer 将默认启用最强的交付保证从 3.0 开始,Kafka 生产者默认开启幂等性和所有副本的交付确认。这使得默认情况下记录交付保证更强。KIP-735:增加默认消费者会话超时Kafka Consumer 的配置属性的默认值session.timeout.ms从 10 秒增加到 45 秒。这将允许消费者在默认情况下更好地适应暂时的络故障,并在消费者似乎只是暂时离开组时避免连续重新平衡。KIP-709:扩展...阅读全文

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

Debian 向左:或将迎来根本性改革 - OSCHINA

织支援,由来自世界各地的志愿者通过互联协调完成工作的组织,能够存在这么久是了不起的事情。 这么多年来,Debian 就是凭借这样的模式,给用户提供了超过25,000个软件,超过50,000个软件包,并正式支持10个计算机系统结构。 或许,就是这些开发者与 Debian 之间的这种“羁绊”,促使他们采取了行动。 2019年当选为DPL的 Sam Hartman 表示,他的首要任务之一就是改善决策过程。Hartman 也确实将大部分精力都放在了决策制定上,而且从结果来看,Hartman 成功了,他推动了许多基于共识的讨论,在这些讨论中 Debian 社区成员探讨了各种选择并得出结论。 Russ Allbery 在9月提出倡议时,Debian 内部也开始了激烈的讨论,大家几乎没有什么反对意见。进...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

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

field对应对象的field即可。 Hash的优点包括: 可以实现二元查找,如”查找ID为1000的用户的年龄” 比起将整个对象序列化后作为String存储的方法,Hash能够有效地减少络传输的消耗 当使用Hash维护一个集合时,提供了比List效率高得多的随机访问命令 与Hash相关的常用命令: HSET:将key对应的Hash中的field设置为value。如果该Hash不存在,会自动创建一个。时间复杂度O(1) HGET:返回指定Hash中field字段的值,时间复杂度O(1) HMSET/HMGET:同HSET和HGET,可以批量操作同一个key下的多个field,时间复杂度:O(N),N为一次操作的field数量 HSETNX:同HSET,但如field已经存在,HSETNX不会进行任...阅读全文

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