InfraPub 为您找到相关结果 263

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

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 架构师在软件开发的整个过程中着很重要的作用。 架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构...阅读全文

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

2017 热门开源自动化测试框架优缺点对比

于断言的语法。 缺点: 多数情况下,它需要一个测试运行器(如 Karma )。 难以异步测试。 如果你正在寻找一个统一的(客户端 - 服务器)单元测试解决方案,Jasmin 可能会非常适合。 7. Mocha Mocha 是一个 JavaScript 单元测试框架,它在 NodeJs 上运行测试,主要与 ReactJS 配对使用。 优点: 内置测试运行器。 支持异步测试。 使用灵活,可使用任何符合需求的断言库(Chai、expect.js、Must.js 等)作为 Node 标准“断言” 功能的替代品。 缺点: 相对较新 (始于 2012 年),意味着有许多的未知性和可变性,在某些方面或缺乏用户基础和支持。 仅提供基本的测试结构,因此需要额外的设置和配置(对于一些可能是有利的)。 如果你正...阅读全文

博文 2017-11-15 08:52:47 debian.cn

提问的智慧 – 全文

户,这样,你能最有效地得到问题的回答。 第一件需要明白的事:黑客喜欢艰巨的任务和激发思考的好问题。否则,我们也不会写这篇文章了。如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励和馈赠,帮助我们发展认知,揭示没有注意的问题。对于黑客,提供「好问题」就是热情而真诚的赞扬。 虽然如此,黑客在外却有坏名声:遇到简单问题就表现出鄙视或傲慢的姿态。有时,我们看来还会对新手和愚蠢的人有条件反射般的无礼,但事实并不如此。 我们只是毫无歉意地鄙视那些提问前不愿思考、不做功课的人。这种人就象时间黑洞一样,只知道索取,不愿意付出,他们在浪费我们时间,而这些时间我们本可用于其它更有趣的问题或更值得回答的人身上。我们将这种人叫做 「loser」[4] (由于历史原因,我们有时将「loser...阅读全文

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

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

地化工作也是做得非常到位,而凭借着架构简单,开箱即用的特点,CAT 也是我们得物使用的第一个应用监控系统。 二、 0x01 第一阶段 从0~1基于CAT的实时应用监控 在得物五彩石项目交付之前,系统仅有基础设施层面的监控,CAT 的引入,很好地弥补了应用监控盲区。它支持提供各个维度的性能监控报表,健康状况检测,异常统计,对故障问题排查到了积极推动的作用,同时也提供简单的实时告警的能力。 CAT 拥有指标分钟级别的聚合统计的能力,从 UI 上不难看出,它拥有丰富的报表统计能力和问题排障能力。 但随着公司业务规模逐步扩大,微服务粒度也不可避免地变小,我们发现,CAT 已经逐步无法满足我们的使用场景了: 无法直观呈现全链路视图: 问题排障与日常性能分析的场景也越来越复杂,对于一个核心场景,其内部...阅读全文

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

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

随着企业的逐步成熟,他们会开发更多工具。在Google,我们持续创建新的外部和内部服务,以及支持这些服务的基础架构。 从2013年,我们开始放弃之前用来更新和维护服务的简单的自动化工作流。每个服务都要求复杂的更新逻辑,并且还需要适应基础架构的变化,经常性的集群的启动关闭等等。配置多个,互相交互的服务的工作流变得难以维护。 我们需要一种全新的方案来适应业务的增长以及所涉及到的配置的复杂性。为此,我们开发了声明式的自动化系统,作为统一的控制层,并且取代了工作流。这个系统包括两个主要的工具:Podspec,描述服务基础架构的工具,和Annealing,更新生产环境来匹配Prodspec输出的工具。本文讨论我们解决过的问题,以及我们所选择的架构。 Prodspec和Annealing有一个根本共...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon属于一套GNOME 3桌面fork,且希望实现GNOME桌面从未能实现的效果。除了对GNOME进行改进与扩展外,它还保留了独特且令人赞赏的特色。事实上,Cinnamon已经脱胎于GNOME 3并做得更好。 2011年,GNOME 3的发布激了一系列积极与消极的反应。很多用户与开发者更喜爱原本的GNOME界面,因为它提供更多fork选项——而Cinnamon正是其中的杰出代表。 由于GNOME用户界面中的许多组件已经停止开发,Cinnamon及其他多种fork项目应运而生。而作为GNOME的使用方之一,Linux Mint项目也因此积极参与Cinnamon的开发工作。时至今日,Cinnamon已经成为一套完全独立的桌面环境,且继承了大量用户最为喜爱的GNOME特性。 默认的...阅读全文

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

如何在 Debian 上添加和删除用户

户: sudo adduser sammy 一旦执行该命令,您将看到一些输出,后面是一系列提示,要求您为新用户分配和确认密码。然后,系统会要求您输入有关新用户的任何其他信息。这是完全可选的,可以通过碰撞跳过ENTER ,如果你不希望将信息输入到这些领域。 最后,系统会要求您确认您提供的信息是否正确。输入Y继续。整个过程看来像这样: OutputAdding user `sammy' ... Adding new group `sammy' (1001) ... Adding new user `sammy' (1001) with group `sammy' ... Creating home directory `/home/<^>sammy' ... Copying files...阅读全文

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

十条关于 WordPress 安全性的小贴士

面的代码来删除该信息: remove_action('wp_head', 'wp_generator'); 9. 理智选择第三方插件和主题 WordPress 的插件和主题拥有着用户梦寐以求的功能。但一个不好的插件会影响性能、泄露隐私数据或授予使用者另一种访问方式。除非绝对必要,否则最好避免安装代码。而且在进行在线安装时,还要注意验证插件的真实性并在本地服务器上进行测试。 10. 定期更新 WordPress 和插件 WordPress 会自动更新,但主要版本需要一键激活过程。当然,在备份数据库和文件之后再更新。同样地,记得定期检查主题和插件的更新。 风险规避应该在更新在线系统之前检测副本测试服务器上的更新。也就是说,WordPress 更新过程和向后兼容性很少引问题。 还有其他快速和简单...阅读全文

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

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

TLC的这个活生生的案例在前面,解决来会更容易一些。 3、成本 虽然QLC只是在TLC的电子单元内增加了一个比特位,但其所要求的技术含量却非常高。因为不仅要在原有的基础上增加一个比特单位,还需要双倍的精度才能保有足够高的稳定性以及性能。不过,一旦解决了所有技术上的难题,随着SSD容量的大幅增加,其所需要的单位成本也会相应降低。 4、容量 东芝的QLC的技术已经可以实现每闪存颗粒768Gb(96GB)的容量,相比之TLC颗粒的 512Gb有了更大提升。如果采用16颗粒封装,那么可以实现单颗芯片封装达到1.5TB的容量,容量达到目前单颗最大。如果一块SSD采用八颗这样的新品,总容量可以达到惊人的12TB。 虽说目前QLC 闪存不过刚正式出现在人们的视线中,其在速度、寿命、稳定性等方面可能会比TLC...阅读全文

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

Tmux 快速教程:快捷键和配置

示当前的时间 ctrl + z 挂当前会话 窗口操作 c 创建新窗口 & 关闭当前窗口 [0-9] 数字键切换到指定窗口 p 切换至上一窗口 n 切换至下一窗口 l 前后窗口间互相切换 w 通过窗口列表切换窗口 , 重命名当前窗口,便于识别 . 修改当前窗口编号,相当于重新排序 f 在所有窗口中查找关键词,便于窗口多了切换 面板操作 " 将当前面板上下分屏(我自己改成了 |) % 将当前面板左右分屏(我自己改成了 -) x 关闭当前分屏 ! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板 ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小 alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小 q 显示面板编号 o 选择当前窗口中下一个面板 方向键 移动光标选择...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明显的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn

Debian 10 Buster 正式版即将发布

的包组成了该分发版的基石,main 是像石头一样稳定的。因此他们要确保那里没有主要的功能或者安全问题。他们同样给予了不同的优先级,例如 Essential、Required、Important、Standard、Optional 和 Extra,详细介绍可参考这里。 这是必要的,因为 Debian 在很多环境中被用作服务器,人们已经变得依赖 Debian。他们同样看重升级周期是否有破环,因此他们寻找人们来测试,来查看当升级的时候是否有破坏并通知 Debian 这样的问题。 Debian 10 Buster 的新内容 这里是即将到来的 Debian Buster 主要发布版的一些变化。 新的主题和壁纸 Buster 的 Debian 主题被称为 FuturePrototype 并且看来如下图...阅读全文

博文 2019-04-29 11:04:15 debian.cn

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

在一个快速扫描的世界,现有的 IP 协议也是适用的。 在 2019 年 11 月的 IETF 会议上,华为发言人进行了回应: New IP 主张的是一种自上向下的整体架构,希望将应用程序紧密地耦合到网络上,这正是互联网设计的初衷。 IP 的改变与否不仅是顶层人员的事务,背后利益关系最受影响的,当属用户。在国外讨论区 Reddit 上,网友们也给出了各自的看法。 用户 Cookie_Dodger 认为,“数据就是数据,所有数据源都应该被平等对待,尽管网络中立性已死......普通人关心的是服务有多快、多实用、是否支付得”。 关于“(华为提议重塑互联网可能影响)网络中立性”,Cookie_Dodger 补充称: 如果华为可以提供具有基本功能的 Internet 服务(包括 IE...阅读全文

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

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

Kubernetes API在运行时一提供服务。其他重点改进的地方包括可伸缩的准入控制器(admission controller),可插拔的云提供者,和容器运行时接口(CRI)。 新特性 安全: 网络策略 API(Network Policy API)提升至稳定状态。网络策略通过一个网络插件实现,允许用户对管理哪些 Pod 可以彼此通信的规则进行设置和强制。 节点授权器(Node authorizer)和准入控制插件(admission control plugin)是新增用来限制kubelet基于节点对Secret、Pod和其对象的访问。 Secret的加密和其他etcd中的资源,现在可用并处于alpha状态。 Kubelet TLS 启动现在支持客户端和服务端证书轮换。 由 API 服务器存储的审计日...阅读全文

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

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

写代码并通过自动化脚本来测试各种案例的测试人员的需求将大幅增长。如果你是测试人员并且在是否学习编码方面处于两难境地,我们建议你还是学习编码吧。了解不同的 DevOps 工具和自动化脚本在当今的软件开发中着至关重要的作用,并且将在 2019 年占据主导地位。 如果测试人员不学习编写代码和自动化测试脚本,就有可能被淘汰。手动测试将在 2019 年过时,因为它们需要耗费大量的时间。测试自动化不仅可以提高效率,还可以确保更快地将功能交付给市场。 微服务架构采用率增加 DevOps 和微服务将齐头并进。微服务是独立的实体,因此在出现问题时不会给其他系统造成破坏。微服务架构可以帮助公司轻松部署和添加新功能。预计更多的企业将会转向微服务架构,以改进他们的在线运行时间和有效交付。不要只是因为别人采用了微服...阅读全文

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

Debian 10使用 Wine 安装配置微信、QQ与TIM

Debian10安装wine及用wine安装微信、QQ与TIM 作者:幻影剑客 概览 本文适用于Linux发行版Debian 10,主要参考winehq官方文档Debian部分,Debian wiki的wine,还有其他网上文章。总结来,就是Debian 10的情况,要先安装faudio依赖,再安装wine官方版。安装完后要做启动配置、字体配置、输入框配置。如果想要更多功能还得做更多配置,这里没介绍了。 注意wine的每个版本甚至在不同发行版的安装都有差别,需要先看winehq官方介绍、你的Linux发行版关于wine的wiki,然后是网上其他资料。下面部分是正式安装介绍。 搞定FAudio部分依赖 winehq的Debian安装页面指出,要先安装依赖FAudio,见 官方链接。这是因为...阅读全文

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

现的要早,多年来,他们一直在使用各种开源技术通过 Linux 服务器提供服务。“在过去的十年中,我们发现,与其自己解决问题,不如找到面临类似挑战的上游开源社区进行合作,然后我们一同为这些项目做出贡献,而不是一切都由自己来创造和维护。“Bell 说。一个很好的例子是 Linux 本身。CERN 曾经是 Red Hat Enterprise Linux 的客户。其实,早在 2004 年,他们就与 Fermilab 合作一建立了自己的 Linux 发行版,名为 Scientific Linux。最终他们意识到,因为没有修改内核,耗费时间建立自己的发行版是没有意义的,所以他们迁移到了 CentOS 上。由于 CentOS 是一个完全开源和社区驱使的项目,CERN 可以与该项目合作,并为...阅读全文

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

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

据信息。 3. HDFS的特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合来实现其功能,集群中的服务器有各自的角色。 1. master/slave 架构(主从架构) HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。 2. 分块存储 HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,默认大小在 hadoop2.x 版本中是 128M。 3. 名字空间...阅读全文

Debian 相比 Ubuntu 有哪些不同之处

的版本。为Debian编写的软件几乎总是有面向Ubuntu的版本,因为Ubuntu的程序包来自Debian的软件库。由于Debian的发布周期慢,Ubuntu的软件还通常比Debian的软件来得更新颖。不过其优点是,Debian往往更稳定,经过更全面的测试。 提醒一句:别想当然地以为共同的源让两者程序包可以相互兼容;因为虽然许多程序包可以同时安装到Ubuntu和Debian上,但大约20%的Ubuntu程序包与Debian不兼容的可能性相当大,那是由于名称和文件位置不一样。 社区方面的区别 对于从事开发工作的用户来说,Ubuntu社区和Debian社区也是他在选择时需要考虑的一个因素。众所周知,Debian常常事无巨细地讨论一切,尤其是有争议的话题,甚至会进入集体表决的地步。 近些年来...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 语言的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的内核接口。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的空间,并侧重于安全性。 在编译应用程序时,大部分都是针对特定的 libc 进行编译的。如果你要将它们与另一个 libc 一使用,则必须重新编译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

博文 2018-09-06 10:50:29 debian.cn

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

“模式浏览器(Schema Explorer)”这样可以执行定期模式检查的特性也是值得拥有的。 忘记排序规则(排序顺序) 这比其他任何的配置错误都会导致更多的挫折和时间浪费。MongoDB 默认使用 二进制排序规则 。这对任何地方的文化都是不利的。在 80 年代,大小写敏感、重音敏感、二进制排序规则,和念珠、土耳其长衫和卷胡子一,被视为奇怪的时代错误。现在,他们没法辩解了。在现实生活中,motorbike 和 Motorbike 就是一样,而 Britain 和 britain 就是同一个地方。小写字母和大写字母只是书写上的等价。就不要让我再说重音字符排序规则了。当你创建一个 MongoDB 数据库时,使用一种合乎系统 用户语言和文化 的 重音敏感、大小写敏感 排序规则。这使得字符串数据的检...阅读全文

Gitlab CI 配置文件 .gitlab

types 已废除,将会在10.0中移除。用stages替代。 与stages同义 variables GitLab Runner V0.5.0. 开始引入 GItLab CI 允许在.gitlab-ci.yml文件中添加变量,并在job环境中作用。因为这些配置是存储在git仓库中,所以最好是存储项目的非敏感配置,例如: variables: DATABASE_URL:"postgres://postgres@postgres/my_database" 这些变量可以被后续的命令和脚本使用。服务容器也可以使用YAML中定义的变量,因此我们可以很好的调控服务容器。变量也可以定义成job level。 除了用户自定义的变量外,Runner也可以定义它自己的变量...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

域名与商标: 如何防止域名被仲裁

被投诉人选择一人独任,则最终由一人独任审理,对另外一种情况我则没有查到具体的说法。 以上是我近期学习到的关于域名仲裁的相关内容,在这里分享给大家,由于个人理解的不同,描述不一定正常,在这里仅仅是作为一个介绍,欢迎朋友们一讨论和指正。 关于域名与商标,虽然知识产权在社会中越来越被重视和保护,但还是希望各大公司、终端自身给予高度的重视,在这个互联网时代、眼球时代和信息爆炸时代,互联网经济必然会占到越来越大的比重,最终会与实体经济平平座,各大依托于网络的公司能在短短几年内,超越苦心经营几十年的实体企业,这都是互联网经济的威力。而域名就是企业在网络上的虚似商标,是企业的网络脸面,一些大的公司无不在自身网站的域名上不惜成本,花空心思,说明一个契合自身特色的域名是多么的重要。 当然,在这里也奉劝各位...阅读全文

博文 2019-01-18 14:59:59 debian.cn

如何使用 journalctl 清理 journal 日志

下面的逻辑来覆盖默认设置: 主配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

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

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

写给五年陈的自己 写周报,写的兴,编写周报,还边用虎跑泉,泡铁观音喝。自己写周报的**惯还是要改一改,自己是个性情中人,写个周报也透露了太多情感在周报里。有很多人肯定觉得不好,也许以后我也会改,改的越来越干练,掏心的话少说。 兴奋了,喝了茶,睡不着了。灵感闪动,本周是个值得纪念的日子,写个文章纪念下过去。 回想这一路路走来,还是很感恩收获的一切,我渐渐从一名菜鸟,成长为一位架构师,记得毕业的时候我给自己定的目标是:五年要成为一方面的专家。虽然,实际的成长比这个慢了两年,但是我还是庆幸自己当初果断的裸辞,然后进入支付宝。 每个架构师都是独立无二的,每个架构师都应该有自己的情怀,这些情怀是你的世界观。 我是如何成长为一个架构师的,我姑且给自己定的 title 就是架构师,不要认为有架构师的...阅读全文

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

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比大多数的消息系统来说,Kafka...阅读全文

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

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

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

类的价值观)。风险在于,有人担心懂得“自我改进”的AI有可能会像科幻小说描写的那样,擅自改动代码或修改优化算法。 我深信,真正有利于促进人类和经济的前行的,是一个能够推动科学进步的社会架构。我们能从这样的社会架构中获益很多。 Audience Member:像GPT-3这样的基础模型会如何影响生命科学研究的步伐?生命科学研究中有没有一些技术手段无法克服的限制因素,比如自然规律等? Sam Altman:目前的可用模型还不够好,不足以对生命科学领域产生重大影响——不少生命科学家了解这些模型之后都说,它们只能在部分情况下发挥些许作用。AI在基因组学领域有一些很有前景的应用方向,但目前尚属步阶段,不过我很看好。我认为这也是市值千亿的巨头准备进军的领域之一。 如果AI未来真的可以让医药公司的研发速...阅读全文

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

aptitude 与 apt

初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现后,人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为 dpkg。至此着名的package首次在GNU/Linux上出现。不久之後红帽子也开始着手建立自己的包管理系统 rpm。 GNU/Linux的创造者们很快又陷入了新的窘境。他们希望通过一种快捷、实用而且高效的方式来安装软件包。这些软件包可以自动处理相互之间 的依赖关系,并且在升级过程中维护他们的配置文件 。Debian又一次充当了开路先锋的角色。它首创了APT(Advanced Packaging Tool)。这一工具后来被Conectiva 移植到红帽子系统中用于对RPM包的管理。在其他...阅读全文

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

架构师详解 Nginx 架构

立即得到结果,就去处理其他的请求(即为非阻塞);而客户端在此期间也无需等待响应,可以去处理其他事情(即为异步);当 IO 返回时,就会通知此工作进程;该进程得到通知,暂时挂当前处理的事务去响应客户端请求。 三. Nginx 事件驱动模型 在 Nginx 的异步非阻塞机制中,工作进程在调用 IO 后,就去处理其他的请求,当 IO 调用返回后,会通知该工作进程。对于这样的系统调用,主要使用 Nginx 服务器的事件驱动模型来实现。 如上图所示,Nginx 的事件驱动模型由事件收集器、事件发送器和事件处理器三部分基本单元组成。其中,事件收集器负责收集 worker 进程的各种 IO 请求,事件发送器负责将 IO 事件发送到事件处理器,而事件处理器负责各种事件的响应工作。 事件发送器将每个请求放入...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

务账户给应用,方便应用能够获取一定的权限 initContainers: #初始化镜像执行初始化操作 - name: peer-finder-plugin-install image: nacos/nacos-peer-finder-plugin:1.0 volumeMounts: - mountPath: "/home/nacos/plugins/peer-finder" name: plugindir affinity: #配置Pod反亲和性,放置Pod都在同一节点上(如果都在一个节点,节点宕机将会使全部实例不可用) podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: #硬策略,pod一定不能启在同一个节...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

隐私声明

关注册信息后方能使用,如果您无法提供此类信息,可能会不能使用对应服务。如果您注册了本网站,您可以随时查阅或编辑您提交给本网站的个人信息,但出于安全性和身份识别的考虑,您可能无法修改注册时提供的初始注册信息及其他验证信息。 5. 用户发布信息 本网站的部分服务允许用户发布自己的信息、视频、照片、观点、博客等等,请注意上述内容自发布之时成为公开信息,请在公布您的联系信息、财务信息或其他个人信息之前做出谨慎判断。我们将无法阻止上述信息以不符合本隐私权声明和适用法律法规的方式被使用。 6. 未成年人的个人信息保护 本网站非常重视对未成年人个人信息的保护。若您是18周岁以下的未成年人,在使用本网站的服务前,应事先取得您家长或法定监护人的书面同意。 7. 隐私权声明的更新...阅读全文

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

出很多时间和努力。 1. 尽可能多地使用 Debian 完成日常工作。也就是说,成为开发者前,先做一个用户。 2. 阅读 Debian New Maintainer’s Guide 学习 Debian 打包的基本知识(英文版,中文版)。 这些知识能帮助你让不太复杂的软件包工作来,但是与满足 Debian 标准之间还有相当大的距离。这个过程中可以独立地重新打包一个已经在仓库中的包,完成后和别人现有的工作进行对比,找出自己的不足。这个包一般不需要很复 杂,初学时直接弄复杂的包很可能只会浪费很多精力。做包的过程中遇到任何问题都可以找有经验的人询问清楚,这对提高水平非常有益。 3. 寻找一个感兴趣的软件进行打包,WNPP (Work-needing and Prospective Packages...阅读全文

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

。 BlueStore支持Ceph存储的所有的完整的数据和元数据校验。 BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。 EC池现在完全支持覆盖,允许它们与RBD和CephFS一使用。 ceph-mgr: ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继续, 但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。 ceph-mgr守护进程daemon包括基于REST的API管理。注:API仍然是实验性质的,目前有一些限制,但未来会成为API管理的基础...阅读全文

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

在TKE上使用Kubecost进行成本管理

。例如 CPU 和 GPU 等计算资源价格相对较高,Mem 价格相对较低,而 Disk 价格则更低),相同的资源利用效率,不同资源对成本的贡献度也不一样。 例如,100%的 Disk 利用率,但是由于磁盘相对便宜,对最终的成本控制的贡献就较低。但如果是 CPU 资源,即使资源利用率为30%,由于 CPU 资源价格相对昂贵,最终可能对成本到关键作用,因此需要用加权平均来评估成本效率,例如: - Mem 的效率:MemEfficiency = MemUsage / MemRequest - CPU 的效率:CPUEfficiency = cpuUsage / cpuRequest - Mem 的成本效率:MemCostEff = a.MemEfficiency...阅读全文

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

] munmap(0x7f53d0000000, 13275136) = 0 [pid 19343] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f53d04a8000 Process 19495 attached 我检查了一下trace文件也没有发现大量内存mmap动作,即便是brk动作引的内存增长也不大。于是感觉人生都没有方向了,然后怀疑是不是文件缓存把虚拟内存占掉了,注释掉了代码中所有读写日志的代码,虚拟内存依然增加,排除了这个可能。 灵光一现 后来,我开始减少thread的数量开始测试,在测试的时候偶然发现一个很奇怪的现象。那就是如果进程创建了一个线程并且在该...阅读全文

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

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

定自己的策略,在遵循开发者成员委员会规定的基本原则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一工作过的现有成员那里收集证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

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

Pod 初始化配置,还能到配置统一的效果。 2、环境、软件准备 本次演示环境,我是在本机 MAC OS 上操作,以下是安装的软件及版本: Docker: 18.06.3-ceOracle VirtualBox: 6.0.8 r130520 (Qt5.6.3)Linux: 7.6.1810Minikube: v0.30.0Kubernetes: 1.12.1 注意:这里 Kubernetes 集群搭建使用 Minikube 来完成,Minikube 启动的单节点 k8s Node 实例是需要运行在本机的 VM 虚拟机里面,所以需要提前安装好 VM,这里我选择 Oracle VirtualBox。k8s 运行底层使用 Docker 容器,所以本机需要安装好 Docker 环境,这里忽略...阅读全文

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

五款流行开源的 HIDS 系统简单介绍

复杂的。一旦它的安装,你需要启动数据库,你可以轻松地开始你的支票。如果您需要一个集成良好的Linux入侵检测系统,则开源Triptrip可能是您的最佳选择,但它有一些限制。例如,它不会实时通知您,因此您需要自己查看日志。您还需要在安装操作系统后进行安装,以使其在安装之前不会检测到恶意活动。以下屏幕快照除了其他指示之外,还说明了每个规则和安全级别。​图23. WazuhWazuh是另一个用于完整性监视,事件响应和合规性的开源监视解决方案。撰写本文时,最新版本为3.8.2。如前所述,您可能会在网上看到Wazuh与OSSEC的比较,但这不仅是因为相似的目的,而且是一个共同的源。Wazuh最初是OSSEC的分支,并且如官方文档所示,它的构建具有更高的可靠性和可伸缩性。除了执行日志分析,完整性检查...阅读全文

博文 2023-01-26 11:07:43 joseph

SVN切换分支用法汇总

,在进行分支切换之前,一定要先保存修改。2. 切换分支要保证分支版本库状态干净在进行分支切换操作之前,我们需要保证代码分支版本库的状态是干净的,即没有未提交的修改。否则,分支操作可能会导致一些未提交的修改全部丢失。3. 切换分支要保证源分支和目标分支都在同一版本库中SVN是针对版本库来进行代码管理的,所以在进行分支切换时,源分支和目标分支都必须在同一个版本库中。否则,你就需要进行多库协同编程,难度会增加很多。4. 将切换分支操作单独进行为避免出现一些问题,一般我们建议将分支切换操作独立出来,不要和其他代码操作混在一。这样做可以使我们的代码更加清晰,也可以有效地避免出现一些不必要的操作。5. 多人协作时切换分支需要谨慎当多人协作时,任何一个人都可能进行分支切换的操作,这时每个人都应该非常谨慎...阅读全文

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

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

源的数量,而且能限制某个 Namespace 中被 Pod 所请求的资源总量。该准入控制器和资源对象 ResourceQuota一实现了资源配额管理。LimitRanger 作用类似于上面的 ResourceQuota 控制器,针对 Namespace 资源的每个个体(Pod 与 Container 等)的资源配额。该插件和资源对象 LimitRange 一实现资源配额管理。 3. etcd 到现在为止,Kubernetes 已经对该客户端的调用请求进行了全面彻底地审查,并且已经验证通过,运行它进入下一个环节。下一步 kube-apiserver 将对 HTTP 请求进行反序列化,然后利用得到的结果构建运行时对象(有点像 kubectl 生成器的逆过程),并保存到 etcd 中。下面我们...阅读全文

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

理解 Linux 的虚拟内存

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

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

Gitlab CI 配置文件 .gitlab

: 1 week dependencies GitLab 8.6 和 GitLab RUnner v1.1.1引入。 这个功能应该与artifacts一使用,并允许定义在不同jobs之间传递artifacts。 注意:所有之前的stages都是默认设置通过。 如果要使用此功能,应该在上下文的job中定义dependencies,并且列出之前都已经通过的jobs和可下载的artifacts。你只能在当前执行的stages前定义jobs。你如果在当前stages或者后续的stages中定义了jobs,它将会报错。可以通过定义一个空数组是当前job跳过下载artifacts。 在接下来的例子中,我们定义两个带artifacts的jobs,build:osx和build:linux。当test:osx...阅读全文

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

RabbitMQ 高可用实现镜像队列

:A,B同时停 该场景下可能是由掉电等原因造成,只需在30s内联系启动A和B即可恢复镜像队列。 场景3:A先停,B后停,且A无法恢复。 因为B是master,所以等B来后,在B节点上调用rabbitmqctl forget_cluster_node A以接触A的cluster关系,再将新的slave节点加入B即可重新恢复镜像队列。 场景4:A先停,B后停,且B无法恢复 该场景比较难处理,旧版本的RabbitMQ没有有效的解决办法,在现在的版本中,因为B是master,所以直接启动A是不行的,当A无法启动时,也就没版本在A节点上调用rabbitmqctl forget_cluster_node B了,新版本中forget_cluster_node支持-offline参数,offline参数允许...阅读全文

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

最全 MongoDB 基础教程

sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列 语法 db.COLLECTION_NAME.find().sort({key: 1}) 案例 ruochen 集合中的数据按字段 likes 的降序排列 db.ruochen.find().sort({'likes': -1}).pretty() skip(), limilt(), sort()三个放在一执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。 MongoDB 索引 creatIndex() 方法 MongoDB使用 createIndex() 方法来创建索引 语法...阅读全文

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

Docker 核心原理

子系统(即资源控制器) 1 2 3 4 5 6 7 8 root@lxkaka-server:~# lssubsys cpuset # 分配单独的 cpu 节点或者内存节点 cpu,cpuacct # 限制进程的 cpu 使用率;cpu 使用统计 blkio # 限制进程的块设备 io memory # 限制进程的 memory 使用量 devices # 控制进程能够访问某些设备 freezer # 挂或者恢复 cgroups 中的进程。 net_cls,net_prio # 可以标记 cgroups 中进程的网络数据包,对数据包进行控制 hierarch 层级关系 由一系列控制组以一个树状结构排列而成,hierarch 通过绑定对应的子系统进行资源调度。hierarch 中的...阅读全文

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

2017 年会是 Serverless 爆发之年吗

定运行。通过以一种松散编排的方式将函数和服务组合来,能够构建易于理解、易于管理的复杂后端系统。 为 lambda 等计算服务编写的代码应该以无状态方式进行构建,这样会让无状态功能很强大,让平台得以迅速扩展,处理数量不断变化的请求或者事件。 设计基于推送的、事件驱动的管道可以构建满足任何用途的服务器架构。系统可以一开始就构建成无服务器,也可以逐步设计现有的单体型应用程序,以便充分发挥这种架构的优势。最灵活、最强大的无服务器设计是事件驱动型的。 构建事件驱动的、基于推送的系统常常有利于降低成本和系统复杂性,但是要注意,并不是任何情况下都是适当的或者容易实现的。 创建更强大的前端由于 Lambda 的定价基于请求数量、执行时间段以及分配的内存量,所以代码执行需要越快越好。数据签名的令牌让前端可以...阅读全文

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

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

确保您可以成功地执行这些步骤,因为Kubernetes快速更改,并且最新版本可能无法与本教程一使用。 完成后保存并关闭文件。 接下来,通过本地运行执行playbook: ansible-playbook -i hosts ~/kube-cluster/kube-dependencies.yml 完成后,您将看到类似于以下内容的输出: OutputPLAY [all] **** TASK [Gathering Facts] **** ok: [worker1] ok: [worker2] ok: [master] TASK [install Docker] **** changed: [master] changed: [worker1] changed: [worker2] TASK...阅读全文

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

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

CSDN 翻译,如需转载,请注明来源出处。作者独立观点,不代表 CSDN 立场。 热 文 推 荐 ☞小米“祭出” AIoT 神器!| 技术头条 ☞杠上百度?今日头条也做搜索来了 | 畅言 ☞Google 再被罚! ☞95 后天才读数千页 Intel CPU 手册发现危及全球重大漏洞! ☞硬核接亲!程序员被新娘要求现场写代码,结果万万没想到…… ☞理工男的网红生意, 6000万月活50万条日更的背后, 内容链还能这样操作? ☞工作量不断增加的微软Azure,正缩小与亚马逊AWS的差距 ☞杨超越第一,Python第二! ☞68款大规模机器学习数据集,涵盖CV、语音、NLP | 十年资源集 System.out.println("点个在看吧!");console.log("点个在看吧!");print...阅读全文

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