Debian 爱好者社区 为您找到相关结果 238

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Git 介绍与使用详解

commit 的同时,你工作目录里的新改动和已经add到stage区的新改动也一起全都消失了 git reset --soft 保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区 将 HEAD 和 branch 往回移动,就能起到撤回 commit 的效果。 reset 如果不加参数,那么默认使用 --mixed 参数,它的行为是: 保留工作目录,并且清空暂存区, git reset HEAD^ //以mixed回退到上一个版本 由 reset 所导致的新的文件差异,都会被放进工作目录,相当于回到了git add以前 之,以--hard回退,相当于丢弃新改动,以--soft回退相当于将新改动放入暂存区,以--mixed回退,相当于不关联新改动,但改动还在 git reset --hard...阅读全文

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

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

并不太适用于较短会话的应用层协议,如HTTP;此算法是动态的, 可以在运行时调整其权重; 3.14 source:将请求的源地址进行hash运算,并由后端服务器的权重数相除后派发至某匹配的服务器;这可以使得同一个客户端IP的请求始终被派发至某特定的服务器;不过,当服务器权重数发生变化时,如某服务器宕机或添加了新的服务器,许多客户端的请求可能会被派发至与此前请求不同的服务器;常用于负载均衡无cookie功能的基于TCP的协议;其默认为静态,不过也可以使用hash-type修改此特性; 1,对原地址hash,第一次调度时使用WLC source:IP层,位于同一个NAT服务器背后的多个请求都会定向至同一个upstream server,不利于负载均衡,一般只有不支持使用cookie插入又需要...阅读全文

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

Apollo 配置中心简单介绍

。 Config config = ConfigService.getConfig("FX.Hermes.Producer"); 对这种情况的配置获取规则,简而言之如下: 首先获取当前应用下的FX.Hermes.Producer namespace的配置然后获取hermes应用下FX.Hermes.Producer namespace的配置上面两部分配置的并集就是最终使用的配置,如有key一样的部分,以当前应用优先 图示如下: 通过这种方式,就实现了对框架类组件的配置管理,框架组件提供方提供配置的默认值,应用如果有特殊需求,可以自行覆盖。 4.5 体设计 上图简要描述了Apollo的体设计,我们可以从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端...阅读全文

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

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

序迁出,就很难结出共同的部分。 工作流也很脆弱。原生工作流有很多关于生产状态的隐性假设,这会导致不可预期的故障。要避免错误,我们添加了前提条件:金丝雀集群是否服务于真实流量?底层有没有运行中断?但是因为我们需要扩展到数十个基础架构提供者和上百个服务,这些Web的前提条件变得非常tricky。每个工作流都需要知道其他工作流的状态。 交互变成了N²问题,这里N是组成服务基础架构的asset数量。当你更新单个asset时,需要考虑它可能带给别的asset或者工作流的影响。比如,现在是否能够重启缓存,或者是否需要等待另一个缓存稳定了之后?如果需要手动变更某个在线的工作流,有没有哪些别的工作流也需要操作的? — 3 — 我们的方案:Prodspec和Annealing 手动设计每个工作流变得不太可能...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

摘要: 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的《Flink 1.14 新特性预览》。主要内容为: 简介 流批一体 Checkpoint 机制 性能与效率 Table / SQL / Python API 结 此文章为 8 月 7 日的分享整理,1.14 版本最新进展请注意文中的注释说明。 一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作完成;5 个任务不确定是否能准时完成;另外 4 个特性由于时间或者本身设计上的原因,会放到后续版本完成。[1] 1.14 相对于历届版本来说,囊括的优化和新增功能点其实并不算多。通过观察发版的节奏可以发现,通常在 1...阅读全文

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

Jono Bacon: GPL 没落了吗?

论使用的协议会发生怎样的变化,技术确实变得更加开放,可以接触,人人都能使用。 作者简介:Jono Bacon - Jono Bacon 是一位领袖级的社区管理者、演讲者、作者和播客主。他是 Jono Bacon 咨询公司的创始人,提供社区战略和执行、开发者流程和其它的服务。他之前任职于 GitHub、Canonical 和 XPRIZE、OpenAdvantage 的社区监,并为大量的组织提供咨询和顾问服务。...阅读全文

博文 2017-08-04 08:03:43 debian.cn

架构师详解 Nginx 架构

,主进程和工作进程需要进程交互。交互依赖于 Socket 实现的管道来实现。 Master-Worker 交互 这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程 ID 等;同时主进程与外界通过信号通信;每个子进程具备接收信号,并处理相应的事件的能力。 worker-worker 交互 这种交互是和 Master-Worker 交互是基本一致的,但是会通过主进程。工作进程之间是相互隔离的,所以当工作进程 W1 需要向工作进程 W2 发指令时,首先找到 W2 的进程 ID,然后将正确的指令写入指向 W2 的通道。W2 收到信号采取相应的措施。 五. 结 通过这篇文章,我们对 Nginx 服务器的整体架构有了一个整体的认识。包括其模块化的设计...阅读全文

博文 2018-05-01 23:10:47 debian.cn

Intel 为啥要给 ARM 代工

制造工艺就和 Intel 的 14nm 制造工艺有不小的差距。而最新高通骁龙 835 采用的三星 10nm 制造工艺,也未必能胜过 Intel 的 14nm 制造工艺。 不过,虽然 intel 有全球顶尖的制造工艺,但除了一些小厂商,或者像被 Intel 收购的阿尔特拉这类 IC 设计公司之外,Intel 鲜有大规模为其他厂商代工。 GPU 行业领头羊英伟达公司的黄仁勋就曾经表示:Intel 应该利用自己高级半导体工艺的优势为 NVIDIA、高通、苹果和德州仪器代工芯片,而不是自己瞎鼓捣移动芯片。然而,Intel 的代工业务规模很小,前 Intel 发言人 Jon Carvill 也曾表示:Intel 目前的重点是设计自己的产品,而非为竞争对手代工。 之,虽然 Intel 空有最先进的半导...阅读全文

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

下一代时间同步服务 Chrony 详解

的时间间隔是 64.1s。以上结果中的其它参数的含义分别是: 引用 ID - 计算机当前同步的引用 ID 和名称。Stratum - 连接参考时钟的计算机的跳数。参考时间 - 这是参考源的最后一次测量的 UTC 时间。系统时间 - 来自同步服务器的系统时钟延迟。最后一次偏移 - 上次时钟更新的估计偏移量。RMS 偏移 - 偏移值的长期平均值。频率 - 如果 chronyd 没有纠正它,那么系统的时钟错误的速率。它以 ppm (百万分率)提供。残余频率 - 残余频率表示参考源的测量值与当前使用的频率之间的差异。偏斜 - 估计频率的误差界限。根延迟 - 网络路径延迟到计算机正在同步的层计算机的和。跳跃状态 - 这是跳跃状态,可以具有以下值之一:正常、插入秒、删除秒或不同步。显示所有 NTP 源...阅读全文

博文 2021-01-04 08:41:14 debian.cn

聊聊很重要的内核技术eBPF

,eBPF程序可以调用帮助函数,该函数是内核提供的众所周知且稳定的API。 结 安全,网络,负载均衡,故障分析,追踪等领域都是eBPF的主战场。对于云原生领域,Cilium 已经使用eBPF 实现了无kube-proxy的容器网络。利用eBPF解决iptables带来的性能问题。 整个eBPF生态发展比较好,社区已经提供了诸多工具方便大家编写自己的eBPF程序。...阅读全文

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

Golang Context 探究

, err error) { // 直接调用 cancelCtx 的取消方法 c.cancelCtx.cancel(false, err) if removeFromParent { // 从父节点中删除子节点 removeChild(c.cancelCtx.Context, c) } c.mu.Lock() if c.timer != nil { // 关掉定时器,这样,在deadline 到来时,不会再次取消 c.timer.Stop() c.timer = nil } c.mu.Unlock() } 结:context 实现取消和定时取消的核心是 context.cancelCtx 和 context.timerCtx。 context 传递数据 context.valueCtx 在...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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

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

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

Ceph 12.2.0 正式版本发布, 代号 Luminous

。 ceph-mgr还包括一个Prometheus插件。 ceph-mgr现在有一个Zabbix插件。使用zabbix_sender,它可以将集群故障事件发送到Zabbix Server主机。 这样可以方便地监视Ceph群集的状态,并在发生故障时发送通知。 集群的体可扩展性有所提高。我们已经成功测试了多达10,000个OSD的集群。 目前,每个OSD都具有与其相关联的设备类(例如,hdd或ssd),允许CRUSH规则将数据简单地映射到系统中的设备的子集。 通常不需要手动编写CRUSH规则或手动编辑CRUSH。可以优化CRUSH权重,以保持OSD之间数据的近乎完美的分布。 还有一个新的upmap异常处理机制,允许单个PG移动以实现完美的分发(这需要客户端)。 每个OSD目前可以根据后端设备是HDD还是...阅读全文

博文 2017-08-31 13:36:49 debian.cn

aptitude 与 apt

,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是作者结的一些常用 aptitude 命令,仅供参考, aptitude update 更新可用的包列表aptitude upgrade 升级可用的包aptitude dist-upgrade 将系统升级到新的发行版aptitude install pkgname 安装包aptitude remove pkgname 删除包aptitude purge pkgname 删除包及其配置文件aptitude search string 搜索包aptitude show pkgname 显示包的详细信息aptitude clean 删除下载的包文件aptitude autoclean 仅删除过期的包...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

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

nasty issues for obvious reasons. Setting MALLOC_ARENA_MAX to a low number will restrict the number of memory arenas and bound the virtual memory, with no noticeable downside in performance – we’ve been recommending MALLOC_ARENA_MAX=4. We should set this in hadoop-env.sh to avoid this issue as RHEL6 becomes more and more common. 结一下,glibc为了分配内存的性能的问题...阅读全文

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

SVN切换分支用法汇总

,以避免出现代码丢失等问题。在切换分支的时候,我们需要确保其他人都知道这个操作,并且保证他们的代码状态是干净的。六、SVN切换分支的优缺点在软件开发中,我们需要经常进行分支管理,因此,SVN的分支管理功能就显得尤为重要了。下面我们来看一下,SVN切换分支的优缺点。1. 优点SVN切换分支的最大优点就是方便快捷。通过SVN我们可以很方便地将工作副本切换到不同的分支,这样可以让我们更加高效地进行代码管理和开发工作。此外,SVN还提供了完善的分支合并机制,可以帮助我们更好地保持代码的稳定性。2. 缺点SVN的缺点主要体现在以下几个方面:(1)SVN对源代码有一定的限制;(2)SVN操作过程较为繁琐;(3)SVN的并发处理能力相对较差。七、结综上所述,SVN切换分支是一项非常重要的基础操作,在软件开...阅读全文

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

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

),则在下一次推送日志时缩小nextIndex,直到nextIndex验证通过。结一下就是:当leader和follower日志冲突的时候,leader将校验 follower最后一条日志是否和leader匹配,如果不匹配,将递减查询,直到匹配,匹配后,删除冲突的日志。这样就实现了主从日志的一致性。(二)Raft协议算法代码实现前面我们已经大致了解了Raft协议算法的实现原理,如果我们要自己实现一个Raft协议的算法,其实就是将我们讲到的理论知识给翻译成为代码的过程,具体的开发需要考虑的细节比较多,代码量肯定也比较大,好在有人已经实现了Raft协议的算法了,我们可以直接拿过来使用。创建maven工程并导入jar包地址如下: 阅读全文

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

最全的 DevOps 工具集合

本文最初发布于 Better Programming 博客,经原作者授权由 InfoQ 中文站翻译并分享。 随着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家结了 DevOps 各个阶段可以选择的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文

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

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

去。这是 Kubernetes 的第一道防线,第二道防线是云厂商针对节点高频异常场景设计的节点自愈组件,如阿里云的node repairer:发现问题节点后,执行排水驱逐、置换机器,从而做到自动化地保障业务正常运行。即便如此,节点在长期使用过程中不可避免地会产生各种奇奇怪怪的问题,定位起来比较费时耗力。常见问题分类和级别:​针对这些繁杂的问题,结出如下排查流程图:​以一个 CPU 打满为例:1、节点状态 OK,CPU 使用率超过了 90%​2、查看对应的 CPU 的三元组:使用率、TopN、时序图,首先每个核的使用率都很高,进而导致整体 CPU 使用高;接下来我们自然要知道谁在疯狂地使用 CPU,从 TopN 列表来看有个 Pod 一枝独秀地占用 CPU;最后我们得确认下 CPU 飙高是什...阅读全文

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

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

value值自增指定的整型数值,并返回自增后的值。只对可以转换为整型的String数据起作用。时间复杂度O(1) DECR/DECRBY:同INCR/INCRBY,自增改为自减。 INCR/DECR系列命令要求操作的value类型为String,并可以转换为64位带符号的整型数字,否则会返回错误。 也就是说,进行INCR/DECR系列命令的value,必须在[-2^63 ~ 2^63 – 1]范围内。 前文提到过,Redis采用单线程模型,天然是线程安全的,这使得INCR/DECR命令可以非常便利的实现高并发场景下的精确控制。 例1:库存控制 在高并发场景下实现库存余量的精准校验,确保不出现超卖的情况。 设置库存量: SET inv:remain "100" 库存扣减+余量校验: DECR...阅读全文

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

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

库提供商,将那台Redis最近一周的命令全部调用出来,最后发现,在那个时间点运行了一条keys *...*命令。公司的一个工程师执行keys模糊的匹配命令是为了清理没用的键,但是没有考虑到keys *进行模糊匹配引发Redis锁,造成Redis锁住,CPU飙升,引起了所有调用链路的超时并且卡住,等Redis锁的那几秒结束,所有的请求流量全部请求到RDS数据库中,使数据库产生了雪崩,使数据库宕机。 改进方案 所有线上操作,全部要经过运维通过后方可执行,运维部门逐步快速收回各项权限 新增Redis实例,进行分离 如果有使用类似keys正则命令需求,使用scan命令代替 结 该事件中出现的两次事故,完全是由于人为操作引起的,如果那位工程师,看过Redis的开发规范,会发现是建议禁用keys命令的...阅读全文

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

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

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。 特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

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

处理器架构消亡史

印机,数字机顶盒,数字电视,DSL,电缆调制解调器和个人数字助手等多种产品。到1990年代后期,MIPS已成为嵌入式系统领域的强者。根据MIPS科技公司的统计,1997年以MIPS架构为基础的CPU出货量为4800万,占RISC CPU市场份额的49%。MIPS 架构如此成功,于是,在1998年SGI把MIPS科技公司拆分成为一个子公司(SGI 在1992年直接收购了MIPS)。DEC(Digital Equipment Corporation)也是受这股RISC风潮影响下的企业之一,DEC看到了许多RISC架构(例如MIPS和SPARC)的兴起,他们认为竞争激烈,最终将拯救在VAX上的败退。于是,在1982年到1985年间,DEC将RISC划分为几个部分来分开研究,1985年,DEC负责...阅读全文

Apache Kafka发布 3.0 正式版

built.in.metrics.version。这latest是目前此属性的唯一有效值(自 2.5 以来一直是默认值)。KIP-741:将默认 SerDe 更改为 null删除了默认 SerDe 属性的先前默认值。流过去默认为ByteArraySerde. 用3.0开始,没有缺省,和用户需要任一组其的SerDes根据需要在API中或通过设置默认DEFAULT_KEY_SERDE_CLASS_CONFIG和DEFAULT_VALUE_SERDE_CLASS_CONFIG在它们的流配置。先前的默认值几乎是不适用于实际应用程序,并且造成的混乱多于方便。KIP-733:更改 Kafka Streams 默认复制因子配置有了主要版本的机会,Streams 配置属性的默认值replication.factor会从 1 更改为 -1。这将允许新的...阅读全文

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

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

是看顶层的哪个函数占据的宽度最大。只要有"平顶"(plateaus),就表示该函数可能存在性能问题。 颜色没有特殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选择暖色调。 三、互动性 火焰图是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一层都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据抽样次数的百分比。下面是一个例子。 mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。 左上角会同时显示"Reset Zoom",点击该链接,图片就会恢复原样。 (3)搜索 按下 Ctrl + F 会显示一个搜索框,用户可以输入关键词...阅读全文

博文 2022-03-11 10:05:09 博客园

如何使用 journalctl 清理 journal 日志

件。 换句话说, 日志目录中不应该存在后缀名不等于 ".journal" 或 ".journal~" 的文件, 因为这些文件永远不会被清理。 SystemMaxUse= 与 RuntimeMaxUse= 限制全部日志文件加在一起最多可以占用多少空间。 SystemKeepFree= 与 RuntimeKeepFree= 表示除日志文件之外,至少保留多少空间给其他用途。 systemd-journald 会同时考虑这两个因素, 并且尽量限制日志文件的大小,以同时满足这两个限制。 SystemMaxUse= 与 RuntimeMaxUse= 的默认值是10%空间与4G空间两者中的较小者; SystemKeepFree= 与 RuntimeKeepFree= 的默认值是15%空间与4G空间两者中...阅读全文

博文 2021-02-05 15:43:28 博客园

最全 MongoDB 基础教程

(AGGREGATE_OPERATION) 实例 db.ruochen.aggregate([{$group: {_id: "$by", num_tutorial: {$sum: 1}}}]) 类似于mql语句 select by, count(*) from ruochen group by by 聚合表达式 表达式 描述 实例 $sum 计算和 db.ruochen.aggregate([{$group: {_id: "$by", num_tutorial: {$sum: "$likes"}}}]) $avg 平均值 db.ruochen.aggregate([{$group: {_id: "$by", avg: {$avg: "$likes"}}}]) $min 获取集合中所有文档对应值的最小值...阅读全文

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

Monit:开源服务器监控工具

不指向目录,monit将禁用对此条目的监视。如果Monit在被动模式下运行或者没有定义启动方法,Monit只会在错误时发送警报。 远程主机 CHECK HOST ADDRESS 主机地址可以指定为主机名字符串或点分十进制格式的IP地址字符串。例如,tildeslash.com或“64.87.72.95”。 系统 CHECK SYSTEM 的唯一的名称通常是本地主机名,而是可以使用任何描述性名称。如果使用变量$ HOST作为名称,它将扩展为主机名。此检查允许监控一般系统资源,如CPU使用率,内存使用或负载平均。该唯一名称在邮件警报中用作系统主机名,在M/Monit中用作主机条目的初始名称。 自定义...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Debian 在他离开之后还能持续发展非常欣慰。 我是说,我离开 Debian 这个项目之后才发现这个项目肯定会成功。因为我的离开意味着 Debian 将会自生自灭自力更生,它将在没有我的情势下独立发展。事实证明它做到了,而且不仅仅是生存下来了,还做到了大范围的推广普及。对此我非常自豪。 2016 年的今天,我们终于发现 Murdock 是多么有先见之明。最近的 GNU/Linux 发展史家谱明确地告诉了我们 Debian 在免费软件领域究竟有多大的影响力,开发 Debian 的那位伟人对此做出了多大的贡献。 本文转载自: http://tech2ipo.com/10027118,英文原文参考这里。...阅读全文

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

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。结context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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

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

。Debian 在一些时候想要得到最大程度上的‘同意’,但百分百的一致是不可能实现的,是会有人不满意。” Joey Hess 认为,Debian 缓慢的决策机制是结构性的。 2021年10月5日,Russ Allbery 为改革决策机制拿出了一个提案: 首先,为了技术委员会更加透明、公平,Allbery 提议了一个新流程。新流程将允许任一位成员要求对一项公开决议进行表决,并立即开始投票。但是,如果有任何一位其他成员在 24 小时内对投票提出反对,那么这次投票将被取消。(如果这条规则在 systemd 的争论期间就已经存在的话,那么就不会产生让决议匆忙作出的投票了。) 其次,投票需要在这个决议首次被提出的两周后开始,如果到那时还没有人能成功地发起投票,则自动开始投票。这样一来,发起表决就不会拖得太久...阅读全文

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

深入了解Docker背后的namespace技术

-rwxr-xr-x 1 nobody nogroup 8408 Nov 16 22:40 uts -rw-r--r-- 1 nobody nogroup 1694 Nov 16 22:36 uts.c 这是个很简单地例子,但是细想你会发现通过user namespace,可以以root权限在容器中运行(不是主机系统中的root)。不要忘记你可以随时更改 ls -la到bash中,并通过shell深入了解namespace。 结 本文中,我们回顾了mount,network,user,PID,UTS和IPC Linux namespace,并没有修改太多代码,只是增加了一些flag。复杂的工作集中在管理多个内核子系统的交互。就像我一开始提到的,namespace只是我们用来创建容器的一种工具,我希...阅读全文

博文 2015-05-17 10:03:00 debian.cn

如何用 Privoxy 辅助科学上网

客发表敏感的政治评论; 另外,假设你手头还有一个 GAppProxy(GAE 翻墙),在本地开启了 8000 端口的 HTTP 代理,专门用来看 YouTube 视频; 除了上述两个网站,其它网站你都是直接访问(直连)。 那么,你可以使用如下配置,让 Privoxy 帮你进行分流。 forward / . forward .youtube.com 127.0.0.1:8000 forward-socks5 program-think.blogspot.com 127.0.0.1:9150 . 解释如下: 第1行表示:因为匹配的目标是“单个斜杠” / 表示匹配“任意网址”。所以这条可以看成是“默认规则”。(注:“后面的规则”会覆盖“前面的规则”,所以“默认规则”是写在开头)。 第2行表示:凡...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

Calico 介绍、原理与使用-腾讯云社区

Speaker都需要和其他BGP Speaker建立BGP连接,这样BGP连接数就是N^2,如果数量过大会消耗大量连接。如果集群数量超过100台官方不建议使用此种模式。路由反射模式Router Reflection(RR)RR模式 中会指定一个或多个BGP Speaker为RouterReflection,它与网络中其他Speaker建立连接,每个Speaker只要与Router Reflection建立BGP就可以获得全网的路由信息。在calico中可以通过Global Peer实现RR模式。Calico BGP 概述BGP 是怎么工作的?这个也是跨节点之间的通信,与flannel类似,其实这张图相比于flannel,通过一个路由器来路由,flannel.1 就相比于vxlan模式去掉,所以会发现这...阅读全文

博文 2025-02-19 15:44:39 腾讯云

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

,专门为具体产业调整基础模型?提示词工程(Prompt Engineering,修改向AI输入的任务描述,使AI的输出结果更符合用户的需求)将来会不会成为企业的内部职能? Sam Altman:五年后我们将不再需要提示词工程,或者只需在这方面做少量工作。将来的AI系统不会因为增补了某个特定词就会产生截然不同的输出,而是可以较好地理解自然语言,用户只需以文本和语音形式输入指令,即可让计算机完成图像生成、资料研究、心理咨询等复杂任务。 的来说,用户只须使用自然语言就可以与计算机交互,当然,如果艺术家能想出更有创造性的描述,也自然就可以生成更好的图像。 2 “AI+”时代:AI for Science、元宇宙 Reid Hoffman:在科学领域,AI模型可以发挥什么作用? Sam Altman...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

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

源gRPC生态系统 列出了许多gRPC激动人心的项目。 另外,gRPC有我们认同的原则 Lyft在转向gRPC方面做了大量的讨论,这与我们的经验非常相似:使用Protocol Buffers和gRPC生成统一的API。值得一试。 gRPC现在还处于初期阶段,存在一些明显的磨合问题,但未来前景光明。的来说,我们对gRPC如何整合到后端系统非常乐观,并且很高兴见证这个框架的发展。 原文链接: blog.bugsnag.com/ 本文转自:Segmentfault.com...阅读全文

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

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

){ pollfds[0].revents = 0; ret = recv(connfd,buff,sizeof(buff)-1,0); printf("receive %d bytes from client: %s \n",ret,buff); } } 由于源码中,我做了比较详细的注释,同时将和select模型不一样的地方都列了出来,这里就不再详细解释了。体说来,poll模型比select模型要好用一些,去掉了一些限制,但是仍然避免不了如下的问题: 用户态和内核态仍需要频繁切换,因为revents的赋值是在内核态进行的,然后再推送到用户态,和select类似,整体开销较大。 仍需要遍历数组,时间复杂度为O(N)。 epoll模型 如果说select模型和poll模型是早期的产物,在性能上有诸多不尽人意之...阅读全文

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