InfraPub 为您找到相关结果 86

Golang 之禅: 如何写优质代码

减少耦合的操作,需要通过提供类型需要的依赖项作为该类型上的字段,而不是使用包变量。 简单性很重要 简单性不是老练的代名词。简单并不意味着粗糙,它意味着可读性和可维护性。如果可以选择,请遵循较简单的。 编写测试以确认包 API 的行为 软件包的 API 是与使用者的一份合约,不管先后,不管多少,一定要进行测试。测试是确定合约的保证。要确保测试使用者可以观察和依赖的行为。 如果你认为速度缓慢,先通过基准测试进行验证 以性能之名会犯下许多危害可维护性的罪行。优化会破坏抽象、暴露内部和紧密耦合。如果要付出这样的代价,请确保有充分理由这样做。 节制是一种美德 适度使用 goroutine、通道、锁、接口与嵌套。...阅读全文

博文 2020-02-25 20:48:33 debian.cn

Angular 6.0 即将发布 承诺更小更快更易用

Material 和其他的最新版本将一起发布,以便开发人员更好地访问最新版本的 Angular。 根据 Fluin 的说法,团队将重点放在缩小尺寸上,Angular 6 中的捆绑包将更小 ,以便为用户提供更快的体验。 团队正在通过更新到最新版本的 Webpack 来实现这一点。 此外,最新版本将引入一种新的方式来连接应用程序和服务中的模块。 例如,团队正在增加服务引用模块的能力,这样如果服务没有被使用,它就会消失,从而简化包的大小。 版本 6 也更新为 RxJS,即,使用 Observables 进行反应式编程的库 。 根据 Angular 的说法,这使得编写异步或基于回调的代码更容易。 在易于使用的一方面,该团队正在向 CLI 界面介绍更新 。 这个新命令将自动让用户保持最新状态并更新正在使用的...阅读全文

博文 2018-04-24 09:41:33 debian.cn

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症状问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

博文 2023-10-07 15:02:42 infras

Focalboard :一款开源、本地存储、免费的类 Notion 应用

从 Notion 到 Focalboard近两年来,Notion 作为一款在线笔记应用,以其强大的功能和优雅的颜值获得了大量用户的关注和喜爱。大量的用户通过 Notion 的 Block 、Database等功能,挖掘了适合教育、营销、市场管理、开发等多个场景的使用模版。然而,Notion 在国内使用也有不少槽点:加载速度慢、迟迟没有提供汉化版、不能离线使用、本地存储等。当然,这些槽点也有一些。比如,针对网络问题,可以使用 Notion Fast等插件进行加速;针对语言问题,现在已经有了非官方的汉化方案。离线使用和本地存储的话,不知道 Notion 是否有相关规划。Notion对于一些用户而言,由于工作环境存在数据加密等需求,离线使用和本地存储成为刚需。对此,Anytype 这款开...阅读全文

博文 2021-09-16 19:50:29 少数派

在 Kubernetes 上扩展 TensorFlow 模型

/workloads/controllers/deployment/#scaling-a-deployment)。 - 使用[Pod 水平自动伸缩](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)(Horizontal Pod Autoscaler)进行自动扩展,它基于一组计算指标(CPU、GPU、内存)或用户定义的指标(如每秒请求)。 - 通过 TFJob 和 MPI Operator 对 TensorFlow 模型进行分布式训练。 - 使用 KFServing、Seldon Core 和 BentoML 扩展已部署的 TensorFlow 模型。 接下来,我将提供一些例子,说明如何使用这些中的一...阅读全文

如何写好技术文档 — 来自十多年的文档经验总结

自己遇到了什么问题,就是来找的。还有一批人只有一个简单的想法,但不知道具体的问题。举个例子,以读数据库慢为例,前者已经知道数据库慢可能是因为数据量巨大且没有加索引,很简单 加索引,这时候他可能需要知道的是如何正确地加索引。而后者可能着重关注的是为什么读数据库会慢,这时候你可能需要额外重点介绍下数据库相关的原理。 ## 清晰的分类 ## 文档大致可以分为以下几种类型,每种类型也有自己不同的特点和写作侧重点。 ## 参考文档 ## 参考文档也是大部分开发人员日常会使用和书写的文档,比如我们使用某个框架或者工具,都会有API说明文档,这就属于参考类文档。 它并没有太多的要求,只要能向读者展示清楚如何使用即可,但无需向读者讲明具体的实现。 注:参考文档并不仅限于API文档,还包括文件...阅读全文

博文 2021-07-30 16:15:13 joseph

GlusterFS 和 Ceph 比比看

Ceph 中,默认情况下将数据复制到三个不同的节点,这确保备份始终可用。 商品化硬件。GlusterFS 和 Ceph 是在 Linux 操作系统之上开发的。因此,对硬件唯一的要求是这些产品具有能够运行 Linux 的硬件。任何商品化硬件都可以运行 Linux 操作系统,结果是使用这些技术的公司可以大大减少在硬件上的投资——如果他们这样做的话。然而,实际上,许多公司正在投资专门用于运行 GlusterFS 或 Ceph 的硬件,因为更快的硬件可以更快地访问存储。 去中心化。在云环境中,永远不应该有中心点故障。对于存储,这意味着不应该用一个中央位置存储元数据。GlusterFS 和 Ceph 实现了元数据访问去中心化的,从而降低了存储访问的可用性和冗余性。 现在来谈谈 GlusterFS 与...阅读全文

博文 2017-08-09 10:35:29 debian.cn

开源软件对于商业机构的6大好处

从根本上说,开源模式要由于专有模式,为什么这么说呢?下面总结了商业机构及政府机构可以从开源软件中获得的六大好处。 1、能更直观的选择供应商 在你投资工程和经济资源将产品整合到你的基础设施之前,需要确保产品的合格性:是否处于积极开发状态?是否有定期的漏洞修复和安全更新?产品是否能根据需求按时更新? 最后一点或许比你想象的还要重要。必须满足产品需求。但需求会随市场及商业的变化而变化,如果产品不随之做出改变,未来就需要花费一笔不菲的迁移成本。 而在开源的世界里,你可以综合产品的发展速度以及社区的健康程度来比较供应商。一个更积极、更多元化的社区能在一两年后开发出更好的产品,这是一个关键的参考因素。当然,供应商必须要有能力解决在项目发展过程中出现的不稳定性问题。最后,还需要供应商具备较长的支...阅读全文

博文 2017-11-15 23:41:11 debian.cn

Harbor 1.9 发布:新增多项企业级功能

Policy) 目前,Harbor 会对某些镜像的运行加以限制,即那些被安全策略进行了漏洞(CVE) 扫描,且结果符合限制条件的镜像。又是为了对的某些 CVE 的情况进行例外处理,例如,忽略低严重性 CVE 或当前无的 CVE,1.9 为管理员引入了一项功能,使其可以创建一个 CVE 白名单,从而允许这些镜像在有限的时间段内运行,而不管是否具有特定 CVE 安全漏洞 。系统管理员可以创建一个对所有项目都有效的全局 CVE 白名单,而项目管理员则可以在单个项目级别进一步细化此白名单。 内容复制的改进 1.8 版推出了在 Harbor 与其他 Registry(例如 Docker Hub 和 Huawei Cloud)之间进行跨 Registry 内容复制的功能,而 1.9 版对这些功能进行了扩展...阅读全文

博文 2019-10-09 12:12:04 debian.cn

2017年DevOps的5大发展预测

DevOps营销副总裁Aruna Ravichandran预测道。她说,“鉴于攻击者强度和复杂度的提高,以及安全问题快速公诸于众对品牌带来潜在不可挽回的损害,代码本身必须考虑安全问题,并且部署在牢固的安全架构中。” Ravichandran认为,随着微服务框架和SDK的引入,开发人员为了避免影响用户体验,应该从一开始就考虑安全功能。当到了测试和部署阶段,安全验证应该被视为特殊情况处理。她提到“安全相关代码需求测试要求是非常特殊和动态的,这个过程非常有可能需要专家和用户的介入,这不是传统DevOps流程的一部分。” 更加注重安全的时期 按照Tufin首席技术管兼联合创始人Reuven Harrison的说法,DevOps可能是企业的最新漏洞。2017年,他期望能够看见安全相关流程能够融入到...阅读全文

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

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

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

博文 2021-01-28 17:50:33 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

DevOps 越来越流行,2019 年这八大趋势值得关注

息,帮助执行琐碎的任务,从而让 IT 人员能够完成更有针对性的工作。它们可以学习模式、预测问题并提出。如果 DevOps 的目标是统一开发和运营,AI 和 ML 可以消除过去二者之间的一些“对抗”状态。 本文转自微信公众号:高效开发运维...阅读全文

博文 2018-12-10 22:49:57 debian.cn

打破IP协议重塑互联网 华为能做到吗

制化的网络;二是目前的 TCP/IP 协议和框架对 ManyNets(包括 IoT 网络、卫星网络等) 互连有限制且具有复杂性。 当下,全息通信满足了人们对交互式的通信体验的需求,从而也需要更高的带宽、更低的延迟、更灵活的网络处理,而满足这些传感应用需求,需要更细度的网络服务能力。 由于现有 IP 不相兼容的寻址机制,IoT 网络、蜂窝网络、工业网络等网络之间的互连受到了限制。而后引进的多种映射机制不仅给系统带来了额外的复杂性,也带来了潜在的隐私和弹性问题。 由此,需要一个更好的来处理所有类型或虚拟对象的交付和通信,New IP 应运而生。 文章指出,New IP 主要有三个关键特征: 可变 IP 地址长度,无缝支持跨网络通信;用于标识物理和虚拟对象的 IP 地址的语义定义;用户定义...阅读全文

博文 2020-03-31 06:40:15 debian.cn

Kubernetes 1.7:安全加固、有状态应用更新等

谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文

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

最全的 DevOps 工具集合

市场的最简单途径。 容器调度程序 容器调度程序的主要任务是在最合适的主机上启动容器,并将它们连接起来。它必须具备自动故障转移能力,并且在数据太多,单个实例无法处理 / 计算时扩展容器。 三种最受欢迎的容器调度程序分别是 Docker Swarm、Apache Mesos 和 Kubernetes。 Docker Swarm DockerSwarm 是 Docker 开发的容器调度程序。由 Docker 开发的这个集群提供了很多优势,比如说它使用了标准的 Docker API。Swarm 的架构由两大元素组成: Docker Swarm 架构,©Alexandre Beslic(DockerInc.) Apache Mesos 和 Mesosphere Marathon Mesos 的...阅读全文

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

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

库?服务需要支持多大的流量? 这些都是很重要的问题,但服务是动态并且变化的:二进制版本不断更新,实例被添加和删除。架构也就需要随之演进:可能需要在某个特定的集群添加新的缓存,移除一些过时的日志等等。 在2014年,我们发现自己不能充分地适应服务的灵活性。对于绝大多数服务,我们使用人工编制的工作流来变更基础架构:推送x,然后y;手动执行不常见的变更。 但是团队通常需要管理数十个服务,每个服务都有很多job,数据库,配置以及自定义的管理流程。已有的因为如下两大原因无法扩展: 基础架构配置和API是异构的,并且很难连接在一起——比如,不同的服务使用不同的配置语言,抽象级别,存储和推送机制等等。因此,基础架构不一致,很难确定出通用的变更管理。生产变更管理的流程很脆弱,不理解变更之间的联系...阅读全文

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

开源社区的运作模式:Debian Vs. Ubuntu

择更多,因此被官方定义了的参与者也更多,但Debian具有明显更多的开发者人数。虽然所有工作都是贡献者来完成,但最关键的权利还是只有少数人才能获得。Ubuntu贡献者中,Canonical员工居多,63名核心开发人员中有36人使用 @canonical.com邮件后缀注册launchpad帐号,他们放在Ubuntu发行版上的时间比Debian成员更多,如果能比较一下他们的工时数将非常有意思。 Debian已经意识到成员结构的缺点,就是否增设专门的打包人员也讨论过多次了,但遗憾的是每次都只是讨论讨论就结束了,始终没有拿出一个。 可能的演变 Ubuntu方面,底层结构变化最近已经结束,他们近期不再打算做出进一步变化,但他们计划让每个团队可以更好地控制与自身相关的包上传权限,这样可以让每个...阅读全文

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

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

建议。 实现:根据来自社区的反馈意见,提案开始实现。 针对所实现的提案的反馈:在开发周期中,Go 开发团队和社区试用新功能并且收集进一步的反馈意见。 启动决策:在三个月的开发周期结束时,根据在发布周期中收集的经验和反馈意见,Go 开发团队会考虑变更的预期收益或产生的额外成本,从而最终决定是否发布每个变更。一旦发布,这些被发布的提案就成为语言和库的一部分。未被发布的提案可能会重新起草,但也有可能会被永久拒绝。 可以看到,通过两轮的反馈过程,可对提案进行有效的筛选,从而防止“功能蔓延(feature creep)”,有助于保持 Go 语言的简洁。 提案选择标准 一项提案至少要满足以下这些条件: 解决大部分使用者觉得重要的问题 不会对其他使用者造成太大的影响 提供一个清晰且易于理解的 条件...阅读全文

技术部门的 SEO 规范

通导航和内部链接。栏目/目录URL以斜线结尾,后面不要加index.php之类文件名。栏目名、文件名等URL中的字母一律小写。URL中不要出现除了短横线之外的其它任何特殊字符。除栏目需要,URL中不得添加其它多余目录层次。无论中英文网站,URL目录名使用相应英文单词,长度以3个英文单词为限。不使用中文或拼音。也可以考虑使用数字/字母编号。英文网站,产品/文章页面文件名使用产品名称/文章标题,去掉虚词。中文网站,产品/文章页面文件名使用数字/字母编号。同一个产品不要放置于多个分类之下,只置于一个分类。所有页面加canonical标签。如果不确认canonical标签列出的规范化URL应该是哪个,请与SEO部门咨询。所有页面加面包屑导航。 页面元素 页面Title标签...阅读全文

博文 2019-03-28 13:58:51 debian.cn

提问的智慧 – 全文

Google搜索时你遇到的各种提示(记得也搜索一下Google groups),这样很可能直接就找到了解决问题的文档或讨论组的相关线索。即使没有结果,在论坛或讨论小组寻求帮助时提一句「我在Google中搜过下列句子,但没有找到什么有用的东西」也是件好事,至少它表明了搜索引擎暂时还不能提供哪些帮助。另外,将搜索关键词与你的问题及可能的联系起来,还有助于引导其他有类似问题的人。 耐心一点,不要指望Google搜索几秒钟就能解决一个复杂的问题。读一下与产品或项目相关的常见问题解答。在向专家提问之前,先稍微放松一下,再深入地思考一下问题。相信我们,他们能从你的提问之中看得出你做了多少阅读与思考的准备功课,如果你是有备而来,专家们很有可能会为你解答。如果你第一次搜索没有结果(或者结果太多),也不要抛出一...阅读全文

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

互联网协议正在发生变化

的安全是否是一个正确的有很多的争论。确实,仍然有可能对使用 TLS 1.3 的通讯进行解密,但是,你需要去访问一个短暂密钥才能做到,并且,按照设计,它们不可能长时间存在。 在这一点上,TLS 1.3 看起来不会去改变以适应这些网络,但是,关于去创建另外一种协议有一些传言,这种协议允许第三方去偷窥通讯内容,或者做更多的事情。这件事是否会得到推动还有待观察。 QUIC 在 HTTP/2 工作中,可以很明显地看到 TCP 有相似的低效率。因为 TCP 是一个按顺序发送的协议,一个数据包的丢失可能阻止其后面缓存区中的数据包被发送到应用程序。对于一个多路复用协议来说,这对性能有很大的影响。 QUIC 尝试去解决这种影响而在 UDP 之上重构了 TCP 语义(以及 HTTP/2 流模型的一部分...阅读全文

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

。而且,它在 BSON 中是“deprecated”,会转换成$null,这并不是一个总令人满意的。 在 MongoDB 中,要避免使用“undefined”。 使用$limit() 而未用$sort() 通常,当你在 MongoDB 中开发时,仅仅查看查询或聚合返回的结果的样例会很有用。 $limit() 就是为了满足这个要求,但是,它永远不应该出现在最终版本的代码中,除非你首先使用了$sort。这是因为,不这样的话,你就无法保证结果的顺序,你就无法可靠地“按页浏览”数据。为了确保可靠性,查询或聚合必须是“确定的”,就是说,它们每次执行都会给出相同的结果。包含$limit 而不包含$sort 的代码不是确定的,后续会导致难以跟踪的 Bug。 小结 对于 MongoDB,让你最终感到失...阅读全文

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

本。所以最好的方式,来一个请求就拉一个函数服务一下,这就很节省成本。 这是按需的,但它不是完整的替换,相当于说 IT 领域里面不同的场景其实是使用不同的服务。我们推出这个服务的原因,背后的动力还是成本和效率,在某个场景上用某个它的成本更低、效率更高,而不是说新的东西会替换老的,因为不同场景需求是不一样的。K8S 接受的用户比 FaaS 的用户更多,因为 K8S 的面更广,它覆盖的场景更多,但是它不是替换的。 记者:目前,国内客户对 Serverless 和 PaaS 的接受和普及程度是怎么样的? 叶理灯:我觉得在国内还是处于起步和用户教育阶段。2014 年 Lambda 推出的时候,它的渗透率是 72%,什么原因呢?有 72% 的人用的 Lambda,我们有个 Serverless...阅读全文

博文 2019-06-14 08:28:49 debian.cn

处理器架构消亡史

(ARM和RISC—V)提供了一种突破X86封锁的途径。于是,我们也看到了,较早踏入服务器市场的ARM阵营的代表Marvell也改变了其发展策略,即决定将定制的ARM服务器市场作为未来投资的目标。如果问那种处理器架构能活着,那么没有什么比时间更具说服力,因为时间无需通知我们就可以改变一切。...阅读全文

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

Debian 的不舍和热爱。 “如果说我在 Debian 的18年有什么遗憾的话,那就是在 Debian 章程最初制定的时候,尽管感觉到了不妥,但我没有发声。” 同样地,当初 Michael Stapelberg 离开 Debian 也没有“脱粉回踩”,他只是希望自己的文章能激励 Debian 做出改变,继而改进开发者参与维护的体验。 因此,他在博客中苦口婆心地列举出 Debian 的问题(包括包的上传问题、bug追踪问题、邮件列表归档问题等等),然后再给出自己的。比如他认为,项目应该努力实现更多的统一;Debian 文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识等等。 1993年9月15日,Debian 0.01版发布至今,Debian 已经经历了近三十个春秋。一个完全没有盈利组...阅读全文

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

分布式运行时 Dapr 知多少

了答案。 从单机到分布式,是追求更快和更高的性能,但也带来了更多的不确定性。比如,不确定计算机何时异常,不确定磁盘何时损坏,不确定网络通信的延迟,也不确定消息是否被正常消费。这些不确定性构成了分布式应用的挑战,简而言之: 异构的机器与网络:稳定性问题普遍的节点故障:可靠性问题不可靠的网络:一致性问题 面对这些挑战,业界提出了诸多的分布式理论、协议,如CAP定理,BASE理论,一致性协议2PC/3PC/ZAB,来保证系统的正常运行。虽然问题貌似是有了,但是应用的复杂度升高了。应用除了需要实现业务需求,还要兼顾非业务需求,集成诸如服务发现、负载均衡、失效转移、动态扩容、数据分片、调用链路监控等分布式系统的核心功能,对应用有很强的侵入性,这就是以Spring Cloud为代表的微服务框架的...阅读全文

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

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文

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

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

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

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的机制。它允许捕获有关请求的重要上下文元数据,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的,以绕过企业的架构来请求路由。 度量、跟踪和日志记录 - 可观察性对于复杂的分布式系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

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

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

型的UBI实验。(Universal Basic Income,无条件基本收入;Sam Altman认为,十年后AI的生产力可以创造巨大财富,足够给每个美国公民每年无条件发放13,500美元。)有一个为期五年的项目已经进行到三年半了。UBI不会是唯一的,但它是一个不错的做法。 OpenAI从受AI冲击最大的行业中汲取意见,以便制定应对方案;对于那些最先被AI取代的劳动者,我们也尝试利用AI帮助他们学习新技能。我们还会不断地做类似的事情。 Audience Member:你如何定义AGI(通用人工智能)?怎么才算实现了AGI? Sam Altman:我理解的AGI相当于一个可以共事的普通人,任何远程同事可以通过电脑帮你完成的工作,AGI也可以做,包括让AGI学习医疗知识和写代码等等...阅读全文

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

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

的调用链路通常复杂多变,站在流量角度上看,需要完整地知道它的来源,上下游链路,异步调用等等,这对于 CAT 来说可能略显超纲。 缺少图表定制化能力: CAT 虽供多维度报表分析,但定制化能力非常有限,在当时,业内的图表组件定制化逐步向 Grafana + Prometheus 靠拢,但若使用 CAT,则无法享受强大的图表绘制能力。与此同时,随着云原生社区可观测性项目 OpenTracing 的崛起,大约不到半年时间我们逐步下线了 CAT,向 OpenTracing 生态演进。 三、 0x02 第二阶段 持续创造 基于OpenTracing全链路采样监控 OpenTracing 为全链路追踪 Trace 定制了完整的一套协议标准,本身并不提供实现细节。在 OpenTracing 协议中...阅读全文

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

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

读取。用户态进程读取这些数据后,进一步关联 Kubernetes 元数据后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种内核事件,如文件读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在内核上做监测的好处是应用不需要变更,也不需要重新编译内核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证内核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈空间当前为 512、最...阅读全文

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

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

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

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

出的部分至今仍在试水阶段,具体如下: (1)第一关,数据输入者所在国是否被列入“充分性认定白名单”: 指欧盟一般数据保护条例(GDPR)第45条所规定的,由欧盟委员会以“实施法案”方式确定的数据跨境传输“白名单”。 一旦欧盟以外的某国家或地区(也包括国际组织或行业)进入该“白名单”,就意味着欧盟境内的个人数据可以更加自由地传输到该国家或地区(国际组织或行业),而不再受GDPR中诸如数据跨境传输协议、BCR认证等严格条件的限制。 “充分性认定”的门槛和标准比较高,且欧盟方面在判定、审查、修改、撤销等程序中自由裁量权十分大,目前全球范围内也仅有瑞士、以色列、日本等少数国家获得了欧盟“充分性认定”。 (2)第二关,若所在国未进入上述“充分性认定白名单”,则判断是否提供适当协议、行为准则为跨...阅读全文

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

zookeeper仅使用内存作为存储,所以不能存储太多东西。并发访问zk问题多最好单线程操作zk客户端,不要并发,临界、竞态问题太多。基于以上各种问题,所以提出了脱离zk的方案,转向自助研发强一致性的元数据,也就是KIP-500。KIP-500议案提出了在Kafka中处理元数据的更好方法。基本思想是"Kafka on Kafka",将Kafka的元数据存储在Kafka本身中,无需增加额外的外部存储比如ZooKeeper等。去zookeeper之后的kafka新的架构在KIP-500中,Kafka控制器会将其元数据存储在Kafka分区中,而不是存储在ZooKeeper中。但是,由于控制器依赖于该分区,因此分区本身不能依赖控制器来进行领导者选举之类的事情。而是,管理该分区的节点必须实现自我管理的Raft...阅读全文

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