分布式系统实践
1. Google编程学院:分布式系统设计简介
http://article.yeeyan.org/view/150661/107052
要点: 这是google code university(可惜已经不维护了)介绍的分布式系统设计的基本原则, 这是中文翻译版. 文章中指出, 分布式编程和单机编程最大的区别在于对故障的处理. 分布式系统中增加了3种故障类型, 分别是成功, 失败和不确定. 不确定是最难处理的情况, 正确的处理了这3种情况, 也就意味着你对分布式系统编程的理解程度.
2. 基于Go实现的分布式MQ
http://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=207242945&idx=1&sn=602190b440d167d9c3b9c11609220b8c&scene=1&srcid=0914dpqL7j4Elhx8QMVwNfUr&key=dffc561732c22651402b277ab70141e60f5cfff06a878a24c3568c20c44ebcbe67dd839f27bd58fb8617e44d7cb19c37&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=OOSneO%2FvM%2BIQNy3WT763BwDz7SztgBHqQb06BiCnZxRSVf1tOjNNdmbcF14Sl7hw
要点: 业界有很多种MQ的开源实现, 本文介绍了一个基于GO语言实现的分布式MQ的架构和设计, 并且通过2PC支持了事务消息, 大家可以从中体会一下MQ的设计方法. 另外, 大家还可以参考这篇介绍kafka架构的文章(http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=208955024&idx=1&sn=21b80c24929766676c6eecc39701acfd&scene=0&key=dffc561732c226513fdf153e0fe20c31e730dd645879dd89d8d4dd04b7ff3580c89c5ed445549e848aaba7e40be7b9ae&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=lNUWV5PLgmKNc55rHWbC36MeVoueFn2rp6OO6t1HbgY0nws%2BlYoBeNl2CeSiFcsp), 和kafka的架构对比一下.
服务化和资源管理技术
1. docker周报45期
http://weekly.dockone.io/issue/45#rd?sukey=b0cb5c5b9e50130340ea61270f0d0ef20444b3f9020e54d72841a332933e26ce478256c6f56553108b22939441b16a74
要点: docker一周动态汇总.
2. google software stack
http://malteschwarzkopf.de/research/assets/google-stack.pdf
要点: 本文整理了出自google 论文或者访谈中的google的基础架构, 清晰了勾勒出了整个google的基础软件架构, 并且都提供了相关的文章出处, 造福人类!
3. 服务发现:Zookeeper vs etcd vs Consul
http://dockone.io/article/667
要点: 服务发现系统很多同学都不陌生了, 公司的bns, beehive的namingService都属于服务发现系统. 但是成熟的服务发现系统很少, 基础的key/value存储系统却比较多, 比如zookeeper, etcd等, 我觉得一个重要的原因就是服务发现系统往往需要根据业务特点自己定制, 不过基于成熟的key/value存储系统构建起来也不复杂. 本文介绍了几种适用于docker的比较成熟的服务发现系统, 或者相关工具的组合构建服务发现系统.
4. Mesos在Qunar的应用
http://dockone.io/article/675#rd?sukey=a805c0b270074a06de8eb269c92901c9d2fe273c2776d65e06e46a3f156d5b80a231c7a93893c30d55e2b6551096e369
要点: 本文比较详细的介绍了qunar在使用mesos过程中构建的软件栈, 以及每个层次的基本功能. 从文中可以看出来, 使用mesos+docker+ELK是可以比较快速的搭建出相对完善的业务运行平台的, 对于中小规模的业务是比较好的选择.
5. Kubernetes性能测试和发展计划
https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=208206438&idx=1&sn=1914df673d9d6d878a64676af93ef53a&scene=1&srcid=0918RCVW8C42gqgVz53j5nSF&key=dffc561732c2265160c2011a1eaa039c202e65755f3bc0bfd4d828604811213652bffa6cf60e4382cb39e9dbbddb6937&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=NgbLW%2BmUMT9uw0gF8p093xTBhQ6N1bZHfyLVxyjBtXiyEujC9vm3JXGJUdzTr6Gn
要点: Kubernetes在v1.0版本支持最多100个节点的集群,但是我们的目标是在2015年末将这个数字番10倍。这篇博文将会介绍我们现在的状态以及我们计划如何达到下一阶段的目标性能。
6. 运行Mesos
https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=208224007&idx=1&sn=fe93f93e7413fe00995dc714622f0fb9&scene=1&srcid=09198Jkz4Ho4Pf5T4SjziM2F&key=dffc561732c226514aa47dcccae18640bcfe345087544b42421ff2fb8c56a4bd06d9f05860753c0d38614378134a8fa1&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=VWw5L3fXKRxnYGILAFOTg%2B5jK7t%2FJb5MZ3fNO4RAu2kqv%2FWZS4bYH3n6XCZyy9NX
要点: 本文是<<Mesos:大数据资源调度与大规模容器运行最佳实践》第一章, 介绍了mesos的基本常识以及在本地搭建mesos集群的方法, 可以用于简单实验.
服务调度和 Trace 技术
1. ELK stack at weibo.com
http://www.slideshare.net/chenryn/elk-stack-at-weibocom
要点: 早就听说新浪微博使用ELK进行日志收集和分析了, 这篇slide介绍了新浪微博团队使用ELK过程中越到的各种问题以及解决方法, 同时介绍了把logstash替换成rsyslog的优点. 除了ELK本身之外, 从这篇slide中还可以看到, 开源软件也不是免费的, 也有可能出现各种问题, 如果打算在生产环境中使用开源软件, 就意味着你需要有维护开源软件的能力.
2. 最棒的60个DevOps开源工具
http://openskill.cn/article/106?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 涵盖了持续集成, 持续部署, PAAS平台, 监控和日志分析等多个领域, 非常全面.
3. Apache Kafka:下一代分布式消息系统
http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=208955024&idx=1&sn=21b80c24929766676c6eecc39701acfd&scene=0&key=dffc561732c226513fdf153e0fe20c31e730dd645879dd89d8d4dd04b7ff3580c89c5ed445549e848aaba7e40be7b9ae&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=lNUWV5PLgmKNc55rHWbC36MeVoueFn2rp6OO6t1HbgY0nws%2BlYoBeNl2CeSiFcsp
要点: Kafka可能有些同学并不模式, kafka是linkdin开源的高可用分布式消息系统, 本文介绍了kafka的基本架构和原理, 帮助大家深入理解kafka. 有兴趣的同学可以和公司的bigpipe对比一下.
4. 一份快速实用的 tcpdump 命令参考手册
http://mp.weixin.qq.com/s?__biz=MjM5MzA0OTkwMA==&mid=212054109&idx=1&sn=aaccfceb2596d6875e9284901bf5d81e&scene=1&srcid=0919GfLzmAHRtiRD6eUtWYMr&key=dffc561732c22651f71a2c6a018df4395809e5dd6c4f0fc6d26b4e005920c9663efc4abc54d218bbdef079c7b0febf4e&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=VWw5L3fXKRxnYGILAFOTg%2B5jK7t%2FJb5MZ3fNO4RAu2kqv%2FWZS4bYH3n6XCZyy9NX
要点: 分析网络的各种稳定性问题恐怕离不开tcpdump, 这篇文章通过例子介绍了tcpdump的常用命令.
DevOps 技术
1. 需纠正的几种错误运维认知
https://mp.weixin.qq.com/s?__biz=MzA4NjAzMjEyOA==&mid=208160947&idx=1&sn=64252a304a98122712f7fce335472462&scene=1&srcid=0915C8PXMgtsa0ddEl3TRBoJ&key=dffc561732c226519f1e7cffe5a7173ba91f96cf20beb8f70cdff08424c9c2e49ab09d95985f2f1d8b5763148c751952&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=OOSneO%2FvM%2BIQNy3WT763BwDz7SztgBHqQb06BiCnZxRSVf1tOjNNdmbcF14Sl7hw
要点: 很多人认为运维是OP需要干的事情, 其实不然, 一个系统的可运维性的好坏, 取决于研发, 测试, 运维一系列的合作. 这篇文章总结了对运维的几种错误认识, 我觉得都很有道理.
2. DevOps 能力模型、演进及案例剖析
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=207421614&idx=1&sn=c15e89b71b89454eb88159425b0c21e6&scene=1&srcid=0915XmZBmBWTsTTwKrl5crbr&key=dffc561732c22651e2d390139e8a4ed8f1cfdf5531a142f9d2c27dbab3663fa674d2e3e9809d272abb7c21b00c968923&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=OOSneO%2FvM%2BIQNy3WT763BwDz7SztgBHqQb06BiCnZxRSVf1tOjNNdmbcF14Sl7hw
要点: 本文通过几个案例, 介绍了作者理解的devops能力模型, 作者强调devops一定是ops和dev的结合, 要从两种角色的角度考虑问题.
3. Google DevOps 能力模型(下)
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=207659148&idx=1&sn=ee253db5aa195f213b7210f8338a4f75&scene=1&srcid=0918oyrVPSpiUpvlc8ssqS3B&key=dffc561732c226512e616da6393da3fdce963cc11fcf0ddcbec88e976a2d6228e56877f5f0b0d855fefb500fa18ceaec&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=NgbLW%2BmUMT9uw0gF8p093xTBhQ6N1bZHfyLVxyjBtXiyEujC9vm3JXGJUdzTr6Gn
要点: 本文由 Gene Kim 根据对 Randy Shoup 的采访整理,深入讨论和讲解谷歌 DevOps 的提升之道. "每个人都写很棒的测试;我们不想成为一个写蹩脚测试的团队", 这句话我非常认同, 并且逐步在团队中鼓励RD写出更完善的单元测试, 测试从来都不是只有QA才需要做的工作.
工具集合
1. gdb dashboard
https://github.com/cyrus-and/gdb-dashboard
要点: 让gdb也像IDE一样拥有丰富的调试窗口.
2. 高效 MacBook 工作环境配置
http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=208231200&idx=1&sn=8a76ddc56c1fe8e627fddf67c3a1b338&scene=1&srcid=0920lzISV8EmrHMNPUrPPgN3&key=dffc561732c22651b431446917a1d3e2ff28762b8c403e2155fd75f29151756e0fb3c6c4df544868915b439612092874&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.10.5+build(14F27)&version=11020201&pass_ticket=6MoPE70BWICBDkjC3vV75X%2F3lAHL06SCp9I%2FE%2Be9UjVUawyzR4xKPeNFkCTcnzY3
要点: 之前分享过几篇关于配置mac工作环境的文章, 这是一篇合集, 方便阅读.
时间: 2024-10-19 12:16:34