分布式系统实践
1. 架构的本质是管理复杂性,微服务本身也是架构演化的结果
http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=411129391&idx=1&sn=ebf06fb5cc4a5f57f86341ba4114cab8&scene=0#wechat_redirect
要点: 这篇文章介绍了携程, netflix和SoundCloud等知名互联网公司的微服务架构实践, 总结了微服务架构的演化本质上是管理架构复杂性的体现.
2. 一致性HASH算法详解
http://www.jianshu.com/p/e8fb89bb3a61?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: 如果你还不了解一致性HASH算法, 那么这篇文章就是为你准备的. 读完之后, 就会对一致性HASH算法有一个基本的了解了.
3. bfs:支撑Bilibili的小文件存储系统
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=406016886&idx=1&sn=f5aa286373fb981c9de904568fe7ddb2&scene=1&srcid=0411E8naA5E9O1R10U1Utv6y&key=b28b03434249256b155024dc0c2ce94fdb443b81f70f8d5412658febd9bb7ee4843920e5f0b0314a1a2a1d4a301bbae4&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=DYWex3aM4skHkqBS6%2BkkmtKavy%2FUIBuuEoCR5AqbI5XWroP7Uql1t6DX1BDPL%2FAU
要点: 这篇文章介绍了Bilibili自研的图片存储系统的架构和设计, 整个设计本着简单, 可靠, 稳定的原则, 整个设计中没有特别复杂的技术, 架构读起来也非常容易懂, 不管是运维还是问题追查, 都比较容易, 这一点也是我们应该学习的地方.
4. Hadoop NameNode 高可用 (High Availability) 实现解析
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
要点: HDFS的namenode状态是非常重要的信息, 如何在保证一致性的前提下, 实现一主多从的namenode互备是决定提升HDFS稳定性的关键因素. 本文介绍了namenode基于QJM(Quorum Journal Manager)实现的共享状态存储方式很值得借鉴, 事实上INF也实现了一个相对通用的QJM组件.
服务化和资源管理技术
1. 在Docker中使用Open vSwitch创建跨主机的容器网络
https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=2649689779&idx=1&sn=11326ff26ec69abe6890db7434360f8b&scene=0&key=b28b03434249256b73650d69c4a66bac98b606e40bbf227ee76ae0454084b3e25cff67d33044918315b01b2d6ae577ad&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=DYWex3aM4skHkqBS6%2BkkmtKavy%2FUIBuuEoCR5AqbI5XWroP7Uql1t6DX1BDPL%2FAU
要点: 本文介绍了如何使用Open vSwitch为Docker 1.9.0及以后版本提供网络支持。网络部分是容器最为复杂的地方, 借助Open vSwitch来灵活的管理容器的网络.
2. kubernetes调度详解
http://www.skycloudsoftware.com/index.php/2016/04/12/kubernetes003.html
要点: 本文将从调度流程、调度算法、资源限制几个方面详细介绍kubernetes调度器, 对于深入了解kuberntes的调度功能非常有帮助.
3. Docker容器的监控技术
https://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=403252900&idx=2&sn=e0a7de8b86e547eef8cf8343d2590d3d&scene=1&srcid=0413NHTaEXMLV6bN7mVAPggH&key=b28b03434249256bcb435176a2032b48ca99480570bff5be9c764b3f554a5fdfe84107f81b5a85aa03752f84fc76f364&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=dmeEMR4uaZvypn%2BqB9sXKN7ZHBJ4SXp%2BWXjEQ3I42gFiBshMpV%2Bun9ChSzPAR9wx
要点: 服务离不开监控, 本文介绍了几种基于docker的常见的监控解决方案, 并推荐了比较常用的工具组合.
4. Docker 1.11有哪些值得关注的变更?
https://mp.weixin.qq.com/s?__biz=MzI3OTEzNjI1OQ==&mid=2651492598&idx=1&sn=a370bcd184db26db5b4d384dcf0b7f2d&scene=0&key=b28b03434249256bfb04e9c3d3a8f3cf56b7404ea7ed79f54aea4cada1c85b981700fa53b90f10f43390b719c6fdd301&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=P%2FKCyxIkBs9M%2FY6PJzEs8n2a56adXH0slt6PoaXfmwMe6H8M4kAkDKMq80vvPmeP
要点: Docker 1.11在4月13日发布了, 这个版本首次发布了runC和containerd, 并且对containerd设计了新的logo. 除此之外, 还有一些其他的新特性, 大家看文章了解吧.
服务高可用技术
1. 分布式系统中负载均衡算法在高可用场景下的分析
http://tech.youzan.com/load-balancing-algorithm/
要点: 这篇文章介绍了常见的几种负载均衡策略, 并且着重分析了最小并发数策略的请求成功概率, 对于我们设计负载均衡策略有一定的指导意义.
2. QQ会员亿级Web系统的容错性建设实践
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=403476561&idx=2&sn=d68cebba4ff4d8f0eda4e62e8fb4b614&scene=0&key=b28b03434249256bb79d85e42a0da423a5108a839ef8450b04e78556b636ad98525790c35241f0832dd06c5b78f7dbef&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=DYWex3aM4skHkqBS6%2BkkmtKavy%2FUIBuuEoCR5AqbI5XWroP7Uql1t6DX1BDPL%2FAU
要点: 这篇文章详细介绍了QQ会员系统的稳定性方案, 包括负载均衡, 重试, 降级, 过载保护等策略, 和我们的策略有很多相似的地方.
3. 高可用性系统在大众点评的实践与经验
https://mp.weixin.qq.com/s?__biz=MzAwMDM2NzUxMg==&mid=2683177565&idx=1&sn=bbe68683ea4c0409b6886594b829464d&scene=0&key=b28b03434249256b52571ba82d8b215eb9fdc3f07951919709ca95cb3c9c987bac8dbf32dc6282ea67675ab408308d6a&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=MtgG3i2lLfMjhRzKobQDHiuP9FOvjNHQ7QtWJdZ3dQ5m%2BC2sH4JHuUrFzIgEFFpb
要点: 本文介绍了大众点评的系统演化过程, 特别是在演化过程中实践的不同形态的高可用解决方案.
DevOps 技术
1. 谷歌生产环境的软件包管理系统
https://mp.weixin.qq.com/s?__biz=MzI4OTE3MTI1NA==&mid=402328249&idx=1&sn=0ae1a016b26adce549fdffc919dbeb54&scene=0&key=b28b03434249256bb4659ccdf99d4f7703a9be29ce9c7c34f27472cb7d28843a59b2581f3c1ffe7efe8695ab3341789b&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=DYWex3aM4skHkqBS6%2BkkmtKavy%2FUIBuuEoCR5AqbI5XWroP7Uql1t6DX1BDPL%2FAU
要点: 如何高效的在上百万台服务器规模下生产和分发软件包? 我相信很多同学都被各种差异化的环境和配置所困扰, 让我们看看google是如何解决这个问题的.
2. 聊聊监控(一):什么值得监控以及监控指标的取舍
https://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=412113314&idx=1&sn=b500ceec76a6a844fa7d0c277c2d166b&scene=0&key=b28b03434249256b71f1c5ac9b7234b49f150967f118d697a1b9c219cfe73a5171a9eb9caef952f55c3246e9165e520d&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=P%2FKCyxIkBs9M%2FY6PJzEs8n2a56adXH0slt6PoaXfmwMe6H8M4kAkDKMq80vvPmeP
要点: 本文是"聊聊监控"系列文章的第一篇, 介绍了监控指标取舍相关的内容.
3. 基于CMDB与SALTSTACK的运维自动化之路
https://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=2651296412&idx=1&sn=645b8d9f5ee9226fcf57987a7fac95c7&scene=0&key=b28b03434249256bc04268e50009d90376b775d44b7c3d4da020267bb4a6bf0852b12fd54d8b9345270a2cdd6190f804&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=P%2FKCyxIkBs9M%2FY6PJzEs8n2a56adXH0slt6PoaXfmwMe6H8M4kAkDKMq80vvPmeP
要点: 本文总结了基于CMDB和saltstack构建的自动化运维体系的实践, 涉及的体系规划、实施路线、产品设计及架构设计等方面的经验.
大杂烩
1. 如何让glog性能提高10倍
http://mp.weixin.qq.com/s?__biz=MzA4MjA0MTc4NQ==&mid=403091448&idx=1&sn=e0a52f52ee3a4b1c511cb7f84faa63ad#rd
要点: 提升glog性能的一些小技巧
2. C++ 模板技法
https://segmentfault.com/a/1190000003901666
要点: c++模板的一些高级技巧, 包括type_traits, SFINAE, CRTP.
3. 技术成长四个阶段需要的架构知识
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=406063297&idx=1&sn=0cd1fc5495e1e26471d7a4ffcd96cd0f&scene=0&key=b28b03434249256b6fa2d245c6016d5182ee7d9b8a48b0d704c373c6861b3f69b999a04d1c7a7a4773f4cd9ff62d246d&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.4+build(15E65)&version=11020201&pass_ticket=MtgG3i2lLfMjhRzKobQDHiuP9FOvjNHQ7QtWJdZ3dQ5m%2BC2sH4JHuUrFzIgEFFpb
要点: 这篇文章类比圣斗士升级过程, 阐述了架构工程师技术成长的4个阶段, 以及每个阶段需要的架构知识, 帮助大家规划自己的发展方向.
4. Git 使用规范流程
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
要点: git由于非常灵活的支持了分支和本地仓库, 所以基于git的玩法很多, 这里推荐了一种比较靠谱的玩法, 供大家参考.