分布式实验室

其他

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

随着企业的逐步成熟,他们会开发更多工具。在Google,我们持续创建新的外部和内部服务,以及支持这些服务的基础架构。从2013年起,我们开始放弃之前用来更新和维护服务的简单的自动化工作流。每个服务都要求复杂的更新逻辑,并且还需要适应基础架构的变化,经常性的集群的启动关闭等等。配置多个,互相交互的服务的工作流变得难以维护。我们需要一种全新的方案来适应业务的增长以及所涉及到的配置的复杂性。为此,我们开发了声明式的自动化系统,作为统一的控制层,并且取代了工作流。这个系统包括两个主要的工具:Podspec,描述服务基础架构的工具,和Annealing,更新生产环境来匹配Prodspec输出的工具。本文讨论我们解决过的问题,以及我们所选择的架构。Prodspec和Annealing有一个根本共同点:不再关注于给生产环境推送单独的变更,而是关注于想要达到的状态。不再维护一步一步的工作流,而是让服务所有者使用配置来描述他们想要基础架构达到的样子:运行什么job,负载均衡器的搭建,数据库schema的位置等等。基于这些信息,Prodspec和Annealing将这些配置转化成统一的结构,随后被执行。执行是安全并且持续性的:自动化系统重复地比较用户模型所表达的预期状态和生产环境的状态,并且在安全的时候自动触发reconciliation。服务所有者不再需要将配置变更手动推送到生产环境里。因为我们从2015年左右就开始开发Prodspec和Annealing,基于intent的执行(intent-based
2022年4月7日
其他

领导说要搞微服务,我该怎么搭建开发和测试环境?

和集成测试了。在仔细调研开发人员是如何使用现有环境之后,我们确定了三个关键工作流程(在下图中以紫色表示),维护这些工作流程至关重要并且需要一些投入:本地开发:对于任何给定的服务,运行单元测试或启动
2022年4月5日
其他

怎么看源代码?

今天想跟大家分享下,作为技术Leader,要懂得研究和引入技术,引入的前提一定是要Hold住。怎么才叫Hold住呢?就是能精通使用它,能够深入了解它的架构、原理,能够剖析它的核心源代码。以研究Nacos为例,这次我分享下研究技术的方法,授之以渔,希望大家有所收获,当然也欢迎留言共同讨论更好的技巧。—
2022年4月4日
其他

案例:同程艺龙融合下的会员系统高可用架构设计

会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所有业务线。所以,会员系统必须保证高性能、高可用,提供稳定、高效的基础服务。随着同程和艺龙两家公司的合并,越来越多的系统需要打通同程APP、艺龙APP、同程微信小程序、艺龙微信小程序等多平台会员体系。例如微信小程序的交叉营销,用户买了一张火车票,此时想给他发酒店红包,这就需要查询该用户的统一会员关系。因为火车票用的是同程会员体系,酒店用的是艺龙会员体系,只有查到对应的艺龙会员卡号后,才能将红包挂载到该会员账号。除了上述讲的交叉营销,还有许多场景需要查询统一会员关系,例如订单中心、会员等级、里程、红包、常旅、实名,以及各类营销活动等等。所以,会员系统的请求量越来越大,并发量越来越高,今年五一小长假的秒并发TPS甚至超过2万多。在如此大流量的冲击下,会员系统是如何做到高性能和高可用的呢?这就是本文着重要讲述的内容。—
2022年3月30日
其他

Web1是只读的,Web2是读写的,Web3是读-写-拥有

怎么会稀缺呢?从根本上说,重要的是区块链保留了从一个帐户到另一个帐户的所有权记录。它允许艺术家或公司建立“原创”,就像区块链解决的基本问题一样,防止另一个人声称是其所有者或“双花”。许多人对
2022年3月25日
其他

如何调试Kubernetes集群中的网络延迟问题?

以后的数据,但是扰人心智,最后通过多方面定位,解决了该问题。最后发现跟业务、网络都没有什么关系,而是基础设施自身出了问题,如下文给了一个具体排查方案,并从一定程度上解释了容器、cgroup、CPU
2022年3月20日
其他

做好工作规划,本身就是一种能力

why。3、知晓未来方向规划有短期规划,也有长期规划,一般笔者是先思考长期规划,思考
2022年3月19日
其他

学新技术,千万别一上来就陷入细节

上的项目,比如一些消息缓存中间件、服务发现、服务代理、控制系统、Agent、日志收集等等,他们没有复杂的业务场景,也到不了特别底层(如操作系统)的软件项目或工具。而
2022年2月19日
其他

怎么理解Web 3.0?

channels):区块链通过让节点在链外相互通信,通过在主链上“打开”和“关闭”通道,只写初始和最终结果,而不是在链上记录每个状态转换,从而提高可扩展性的一种方式。例如比特币的Lightning
2022年2月16日
其他

如何构建知识体系?

key复制到server的~/.ssh/authorized_keys中。然后你应该会对这个原理要有一些理解(更大的钉子),于是理解了密钥对,和SSH验证的流程,顺便学会怎么看SSH
2022年1月22日
其他

怎么从传统的Linux网络视角理解容器网络?

—使用虚拟的Ethernet设备(veth)将容器连接到主机上如果我们无法和某个专有的网络栈通信,那么它看上去就没什么用。幸运的是,Linux提供了好用的工具——虚拟Ethernet设备。从man
2022年1月10日
其他

我在美团的八年

本篇文章原标题是“写给工程师的10条精进建议”,作者:云鹏,2014年加入美团,先后参与了美团酒店供应链体系、分布式调度系统的建设,现在负责美团旅行客户关系管理系统、基础信息服务的建设工作。原文链接:https://awps-assets.meituan.net/mit-x/2018-ebook-bundle2/2018-ebook-engineer.pdf引言时间回到8年前,我人生中的第一份实习工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个Casestudy。由于对部署环境的不了解,把SVN库里的配置文件错误地发到线上,并且上完线就去吃晚饭了,等吃饭回来发现师傅在焦头烂额地回滚配置。那次故障造成了一个核心服务20分钟不可用,影响了几百万的用户。这仅仅是一个开始,在后来半年的时间里,我几乎把所有职场新人可能犯的错误都犯了个遍。架构师让我调研一个抓取性能提升方案,我闷头搞了两周,也没有得出任何结论;本来安排好的开发计划,由于我临时要回去写论文,搞得经理措手不及;参加项目座谈会,全程“打酱油”……那段时间,自己也很苦恼,几乎每天晚上11点多才走,很累很辛苦,但依然拿不到想要的结果。8年过去了,自己从一个职场小白逐步成长为一名技术Leader。我发现团队中的很多同学在不停地重复犯着自己当年类似的错误。他们并不是不努力,到底是哪里出了问题?经过一段时间的观察与思考后,我想我找到了答案。那就是:我们大多数同学在工作中缺乏原则的指导。原则,犹如指引行动的“灯塔”,它连接着我们的价值观与行动。不久前,桥水基金创始人雷·达里奥在《原则》一书中所传达的理念,引爆了朋友圈。每个人都应该有自己的原则,当我们需要作出选择时,一定要坚持以原则为中心。但是在现实生活中,我们往往缺少对原则的总结,对于很多人来说这是一门“只可意会不可言传”的玄学,是属于老司机的秘密,其实不然。“追求卓越”是美团的价值观。作为一名技术人员,我们应该如何践行呢?本文总结了十条精进原则,希望能够给大家带来一些启发,更好地指导我们的行动。原则一:Owner意识“Owner意识”主要体现在两个层面:一是认真负责的态度,二是积极主动的精神。认真负责是工作的底线。首先,要对我们交付的结果负责。项目中每一个设计文档、每一行代码都需要认真完成,要对它的质量负责。如果设计文档逻辑混乱,代码没有注释,测试时发现一堆Bug,影响的不仅仅是RD的工程交付质量,还会对协同工作的RD、QA、PM等产生不好的影响。久而久之,团队的整体交付质量、工作效率也会逐步下降,甚至会导致团队成员之间产生不信任感。其次,我们要对开发的系统负责。系统的架构是否需要改进,接口文档是否完善,日志是否完整,数据库是否需要扩容,缓存空间够不够等等,这些都是需要落地的事情。作为系统Owner,请一定要认真履行。积极主动是“Owner意识”更高一级的要求。RD每天要面对大量的工作,而且很多并不在计划内,这就需要具备一种积极主动的精神。例如我们每天可能会面对大量的技术咨询,如果客户提出的问题很长时间得不到回应的话,就会带来不好的客户体验。很多同学说忙于自己的工作没有时间处理,有同学觉得这件事不是很重要,也有很多同学是看到了,但是不知道怎么回答,更有甚者,看到了干脆装没看见。这些都是缺乏Owner意识的体现。正确的做法是积极主动地推动问题的解决,如果时间无法排开或者不知道如何解决,可以直接将问题反馈给能解决的同学。积极主动还可以表现在更多方面。比如很多同学会自发地梳理负责服务的现状,根据接口在性能方面暴露的问题提出改进意见并持续推动解决;也有同学在跨团队沟通中主动承担起主R的角色,积极发现问题、暴露问题,推动合作团队的进度,保证项目顺利推进。这些同学无一不是团队的中坚力量。所以,我们在做好自己份内工作的同时,也应该积极主动地投入到“份外”的工作中去。一分耕耘一分收获,不要给自己设限,努力成为一个更加优秀的人。原则二:时间观念相信大家都有时间观念,但是真正能执行到位的可能并没有那么多。互联网是一个快速发展的行业,RD的研发效率是一个公司硬实力的重要体现。项目的按期交付是一项很重要的执行能力,在很大程度上决定着领导和同事对自己靠谱程度的评价。大家可能会问:难度几乎相同的项目,为什么有的同学经常Delay,而有的同学每次都能按时上线?一个很重要的原因,就是这些按时交付的同学往往具备如下两个特质:做事有计划,工作分主次。工作安排要有计划性。通常,RD在设计评审之后就能预估出精确的开发时间,进而再合理地安排开发、联调、测试计划。如果是项目负责人,那么就会涉及协调FE、QA、PM等多个工种的同学共同完成工作。凡事预则立,不预则废。在计划制定过程中,要尽可能把每一项拆细一点(至少到pd粒度)。事实证明,粒度越细,计划就越精准,实际开发时间与计划之间的误差就会越小。此外,务必要规定明确的可检查的产出,并在计划中设置一些关键的时间点进行核对。无数血淋淋的事实告诉我们,很多项目延期都是因为在一些关键交付点上双方存在分歧造成的。例如后台RD的接口文档计划在周五提供,FE认为是周五上午,而RD认为是周五下班前提交,无形中会给排期带来了1pd的误差。所以,我们要做到计划粒度足够细,关键时间点要可检查。工作安排要分清楚主次。我们每天要面对很多的事情,要学会分辨这些工作的主次。可以尝试使用“艾森豪威尔法则”(四象限法则),把工作按照重要、紧急程度分成四象限。优先做重要紧急的事情;重要不紧急的事情可以暂缓做,但是要持续推进;紧急不重要的事情可以酌情委托给最合适的人做;不重要不紧急的事情可以考虑不做。很多项目无法按期交付的原因,都是因为执行人分不清主次。比如在开发中需要使用到ES,一些不熟悉ES的同学可能想系统性地学习一下这方面的知识,就会一头扎进ES的汪洋中。最后才发现,原本一天就能完成的工作被严重拖后。实际工作中,我们应当避免这种“本末倒置”的工作方式。在本例中,“系统性地学习ES”是一件重要但不紧急的事情。要学会分辨出这些干扰的工作项,保证重要紧急的事情能够按时交付。原则三:以终为始“以终为始”(Begin
2022年1月2日
其他

Kubernetes实战与CKA培训 | 深圳站

这是一个属于云原生的时代。从技术角度看,以容器、微服务以及动态编排为代表的云原生技术蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。从市场角度看,云原生技术已在金融、制造、互联网等多个行业得到广泛验证,支持的业务场景也愈加丰富,行业生态日渐繁荣。从人才角度看,不管是一线互联网公司,还是正在进行数字化转型的传统企业,所有的公司都缺懂云原生、能够落地云原生的人才。有数据为证,2020年CNCF中国云原生调查报告显示:容器持续迅猛增长。68%的机构在生产过程中使用容器,比前一年增长了39%,相比2年前增长240%。Kubernetes已经无处不在,生产环境中使用Kubernetes的比例已从去年的72%增长到了82%。云原生技术正在逐渐成为后台工程师与架构师们的必修课,而Kubernetes正是云原生的基石。懂了Kubernetes,等于就掌握了云原生的半壁江山。从招聘网站能看出来云原生相关的岗位的火热程度。比如蚂蚁金服,只要你懂Kubernetes,不管工作经验,薪水最低都可以到30K。云原生背后是一家叫CNCF的基金会在推。同时,他们还提供了一个能给证明工程师Kubernetes能力的证书:CKA。你拿着这张证书,去任何一家公司应聘,他都会承认你的基础能力,这相当于半张学历了。那怎么能拿到这张证书呢?你需要先掌握Kubernetes的核心原理,然后参加Linux
2021年12月21日
自由知乎 自由微博
其他

eBPF 如何简化服务网格

今天有几个服务网格的产品和项目,承诺简化应用微服务之间的连接,同时提供额外的功能,如安全连接、可观察性和流量管理。但正如我们在过去几年中反复看到的那样,对服务网格的兴奋已经被对额外的复杂性和开销的实际担忧所抑制。让我们来探讨一下
2021年11月17日
其他

斗鱼基于etcd和ZooKeeper的注册中心实践案例

陈鹏,腾讯云容器服务产品架构师,多年专注云原生领域,帮助了大量用户云原生容器化改造和生产落地,拥有丰富的一线实践经验,也发表了海量的云原生技术文章。
2021年10月9日
其他

如何在团队中做好Code Review

Review的功能没有Gerrit功能完善,但是GitLab附带的文档功能、以及GitLab完善的管理后台都要比Gerrit更好,如果要做CI/CD,GitLab的社区版几乎是最佳选择Gerrit
2021年8月25日
其他

一篇文章搞懂Filebeat

curl-L-Ohttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-linux-x86_64.tar.gztar
2021年2月1日
其他

Kubernetes管理员认证(CKA)培训 | 北京站

关注分布式相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2021年1月22日
其他

浅谈微服务体系中的分层设计和领域划分

架构师开始设计领域(资深架构师一下午就能搞定),前端开始切图,应用层开发开始按照UI和PRD设计前端每个页面使用的Restful接口(比如直接Springfox代码生成Swagger)
2020年7月29日
其他

RabbitMQ和Kafka的比较

临时(ephemeral)订阅,这种订阅只有在消费者启动并且运行的时候才存在。一旦消费者退出,相应的订阅以及尚未处理的消息就会丢失。
2020年3月18日
其他

基于Kubernetes的DevOps实战培训 | 上海站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年6月30日
其他

零基础快速学习Kubernetes | 深圳站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年6月19日
其他

容器、微服务与服务网格

https://thenewstack.io/which-service-mesh-should-i-use/
2019年6月14日
其他

Kubernetes实战培训 | 深圳站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年6月5日
其他

在Kubernetes上运行Kafka合适吗?

Services:服务通过逻辑名称将Pod与客户端分离。Kubernetes负责负载平衡。但是,对于ZooKeeper和Kafka等有状态工作负载,客户端必须与特定实例进行通信。这就是
2019年6月4日
其他

Kubernetes线下实战培训 | 北京站

关注分布式相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年5月29日
其他

Docker 工作原理及容器化简易指南

http://www.cs.cmu.edu/afs/cs/academic/class/15213-s00/www/class28/tiny.c
2019年5月13日
其他

Kubernetes入门与进阶实战培训 | 北京站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年5月9日
其他

深入浅出Kubernetes网络:跨节点网络通信之Flannel

DirectRouting(Boolean):当两台主机处于同一个网段当中时,启用后将采用直接路由的方式进行跨节点网络通信(此时工作模式跟后面要讲的host-gw
2019年4月5日
其他

基于Kubernetes的DevOps实战培训 | 上海站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年4月2日
其他

Service Mesh入门与进阶实战培训

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年3月28日
其他

Kubernetes入门与进阶实战培训

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年3月27日
其他

Kubernetes中的存储资源使用为何如此之难?

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年3月12日
其他

Kubernetes入门与进阶实战培训 | 北京站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年3月12日
其他

如何使用消息队列、Spring Boot和Kubernetes扩展微服务?

https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler#deployment
2019年2月28日
其他

Kubernetes实战培训

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年2月1日
其他

Service Mesh入门与进阶实战培训 | 北京站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2019年1月29日
其他

Kubernetes API 与 Operator:不为人知的开发者战争(一)

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年12月29日
其他

深入浅出Kubernetes网络:容器网络初探

beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=10-10-88-170
2018年12月25日
其他

基于Kubernetes的DevOps实战培训 | 上海站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年12月21日
其他

Multi-Cloud Kubernetes 最佳实践

没有用户的概念,但它提供了丰富的控件来指定角色和权限。集群可以利用默认角色或使用指定权限集定制角色。企业中的所有集群都具有这些角色的通用定义以及跨集群管理它们的方法,这一点很重要。
2018年10月20日
其他

3天Kubernetes线下实战培训 | 北京站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年10月19日
其他

Kubernetes管理员的11条安全军规

而网络规则只能被应用到静态的IP或podSelector(也就是Kubernetes的动态IP机制)上。安全上有一条最佳实践建议一开始对Kubernetes的namespace先拒绝所有流量,
2018年8月14日
其他

基于Kubernetes的DevOps实战培训 | 北京站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年8月12日
其他

Istio 1.0 正式版发布,可用于生产环境!

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年8月1日
其他

Kubernetes入门与进阶实战培训 | 深圳站

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年7月26日
其他

深入解读Service Mesh背后的技术细节

专业的容器技术文章,权威的容器技术新闻。关注容器生态圈的发展。
2018年7月20日
其他

Kubernetes项目实战训练营 | 深圳站

专业的容器技术文章,权威的容器技术新闻。关注容器生态圈的发展。
2018年7月19日
其他

50个免费的Kubernetes工具盘点

关注云原生相关的开源项目和基础架构,致力于分析并报道这些新技术是如何以及将会怎样影响企业的软件构建方式。
2018年7月3日
其他

Kubernetes入门与进阶实战培训 | 上海站

专业的容器技术文章,权威的容器技术新闻。关注容器生态圈的发展。
2018年6月26日