分布式技术一周技术动态 2016.01.24

分布式系统实践

1. 微信架构设计

https://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=401661794&idx=1&sn=4a63c7150c1e6f17519a4f047a827f66&scene=1&srcid=01166ruzwlk9ZzPuNPKuWCU5&key=41ecb04b051110031351c7b4bec0ddd1c1fbbf1c6c21fa0943e794f849d613cbe2ba105acacd9de63bf7c304e97f9133&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=4IW1nCj1e3aFK3dvyvCle9SXBeOttBq7Ye6LJp22PjaHJ603noLVZIBws5ksrrBi

要点: 微信架构对外暴露的信息一直不太多, 本文是腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭示的微信架构, 虽然比较宽泛, 仍然可以让我们看到一个微信架构的概况.

2. Tachyon——以内存为核心的开源分布式存储系统

https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=402138917&idx=1&sn=f1dd92e0fd60ac0fab739df6a2efccfd&scene=0&key=41ecb04b05111003276fb75028852a772542c733594a261f46f7ef6da331bc0eeb97ce5afc88c91590e9169f969fa444&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=9akucfVtA54MYOOJ8yGDS1dLNeUHW%2BfcQoiF29UKwE0H1X1M6thk%2F02iZzFCpHYi

要点: Tachyon是一个以内存为核心的开源分布式存储系统,也是目前发展最迅速的开源大数据项目之一。Tachyon为不同的大数据计算框架(如Apache Spark,Hadoop MapReduce, Apache Flink等)提供可靠的内存级的数据共享服务。本文首先向读者介绍Tachyon项目的诞生背景和目前发展的情况;然后详解Tachyon系统的基本架构以及目前一些重要的功能;最后,分享一个Tachyon在百度大数据生产环境下的几个应用案例。

3. 彻底厘清真实世界中的分布式系统

https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=401429974&idx=1&sn=31c926c2ca75a967dc43b47297315824&scene=0&key=710a5d99946419d962a0c0b0c9833387d947874d14372a0850e60e92f28a97f5903eb60aab8e24e475ebb41dd32d44a3&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=x6wmQvAo0agNQBx90wCShABuYU9wsI2c%2BetgCsSzG90H1ZoqWGlJEjaS1JpyiWT3

要点: 分布式系统涉及的理论知识是非常广泛的, 这篇文章提供了一个不是那么学术的思路,帮助你理解分布式系统的各种设计思想。文中列出的参考文献,是研究分布式系统的绝佳起点。

4. 使用Consul打造弹性可扩展的PaaS平台

https://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=401958171&idx=1&sn=f9be69c4c68db2612d327e6490830d2b&scene=1&srcid=01225q2c0hLd0UbbsciGZ3WM&key=710a5d99946419d97b6b67e982e0775f11b063792d4606e38b368b4c0d806a197e4981626409edf30d98cfba333f5a30&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.3+build(15D21)&version=11020201&pass_ticket=EBAdyCzV898eYySvZe647ZoxG8Qd8wXl4rvzl3HH3ZElR9WVdhZDFww0xdwz5gMf

要点: NamingService是一个PaaS系统核心部件之一, 稳定可靠的NamingService系统是在线服务稳定性的关键因素, 如何能够既满足灵活的管理上下游服务, 又能满足在线系统苛刻的稳定性要求, 同时接口灵活易用, 是设计NamingService的难点. 本文介绍了在生产环境中使用consul作为NamingService的案例. 

5. Dapper,大规模分布式系统的跟踪系统

http://bigbully.github.io/Dapper-translation/

要点: dapper的论文相比很多同学都比较熟悉了, 这里推荐一遍比较不错的中文译文. 事实上, dapper的思想不仅仅用于RPC层面, 对于一个复杂的单机模块来说, 完全可以使用dapper的思想trace一个复杂的请求流程, 对于提升模块自身的debug功能也是非常有利的. 

服务化和资源管理技术

1. Docker 1.10 RC版现已推出:关于引擎的更新及新的镜像ID格式的重要提醒

https://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=401405733&idx=1&sn=4e9908267c231a5f0b079c12348120da&scene=0&key=41ecb04b05111003774f57406d90f853a6ceb2eef4d651bfe2699c33d2b30ad1c10e06596ce018bb8bf5bb467e9a6797&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=s2pM1dBo2w5mKPH2evmOn7A4uZgLou1ljBiq4nD%2B5l6or%2FZo4Jp%2BagtmgUjEFUeZ

要点: 本文主要介绍的是Docker新版本将带来的新的Docker引擎存储镜像及容器文件系统数据的方式。这些更新将在Docker v1.10版本起对用户开放。

2. Cgroup - Linux 的 IO 资源隔离

http://www.v2ex.com/t/251497?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 非常详细的对cgroup IO资源隔离原理介绍的文章. 实际应用中, 由于IO速度受page cache等因素影响比较多, 更靠谱的方法是物理隔离, 所以对IO速度的隔离需求不是那么强烈. 但是对IOPS的需求场景却是比较场景的, 线上就出现过一台机器进程较多, 产生日志造成的io util高从而影响响应时间的case. 面对大搜这种对延迟非常敏感的服务, 网络IOPS隔离也是一个强需求.

3. 微服务(Microservice)那点事

http://yq.aliyun.com/articles/2764?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 微服务最近被炒的火热, 微服务究竟是什么, 实施微服务架构有什么先决条件, 有哪些利弊? 本文给大家介绍一二.

4. 为了性能,请不要在CentOS中运行Docker,尽量用Ubuntu

http://dockone.io/article/972?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 【编者的话】生产环境里Docker运行在CentOS上似乎是大家的共识,但本文的作者通过自己在CentOS上使用Docker比在Ubuntu上性能缓慢的体验差异,决定转向在Ubuntu上使用Docker。你们是否对Docker运行在CentOS或Ubuntu上的性能差异有自己的见解,下面让我们看看作者的理由。

 

大规模服务高可用技术

1.  Linux TCP/IP 网络工具对比:net-tools 和 iproute2

https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=414201558&idx=1&sn=55dad3258c8bbee8b5a3532218573f13&scene=1&srcid=01175ZtRhVrwOnmdmh6FeNZy&key=41ecb04b05111003410bbb2bbc28b9bc6fd19a0fffeed3334cf5936a3f2e7fbcefd44681f3afa1cae0406c306ef47172&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=s2pM1dBo2w5mKPH2evmOn7A4uZgLou1ljBiq4nD%2B5l6or%2FZo4Jp%2BagtmgUjEFUeZ

要点: net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。

2. 2亿QQ用户大调度背后的架构设计和高效运营

https://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=401884312&idx=1&sn=e5063666cf706de275e98ad5ae1c6e55&scene=0&key=710a5d99946419d97adc9ae9810a123f3c972c0e20132904e565e627501e31daffaa2d194f4f7e656c8bf71e6d90fcc0&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=x6wmQvAo0agNQBx90wCShABuYU9wsI2c%2BetgCsSzG90H1ZoqWGlJEjaS1JpyiWT3

https://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=401905879&idx=1&sn=25e366ef6dd4704553d8376d56b3333f&scene=0&key=710a5d99946419d9c5fadd38528464cf34a25f95da8a3446f8c98760a609dcc5e5e5deaaebe6898d404b9b34c24a3e30&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=8OUIk86GC0qtUagbkL9kLGrMOCvWiT6k%2FahfBrINAXr37LX0TkvcluoczBduWxr%2F

要点: 本文讲述了天津发生爆炸期间, 腾讯天津数据中心损坏严重, 为此将所有北方的QQ用户流量迁移到上海和广州数据中心的过程, 以及背后的强有力的技术支撑. 

3. Nmon 监控 Linux 的系统性能

https://xiequan.info/nmon-%E7%9B%91%E6%8E%A7-linux-%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 追查线上稳定性问题往往需要对系统的性能进行监控, 但是cpu, 内存, iops等各种维度的监控工具非常分散, 本文介绍的工具将这些集成一体, 并且在终端中提供了尽可能美观的图形显示.

DevOps 技术

1. 老王的运维心路历程

http://mp.weixin.qq.com/s?__biz=MzA4NjAzMjEyOA==&mid=405583824&idx=1&sn=87f3eda43450d3eb3187d48c5af1c373&scene=2&srcid=0118ofVHBci7EzHqMk0VCpqE&from=timeline&isappinstalled=0#wechat_redirect

要点: 一个互联网运维老兵的工作经历以及作者对运维的理解. 点击阅读原文可以获取PPT <<全栈DevOps运维平台的设计与实现>>.

2. 对监控基础建设几个问题的思考

http://mp.weixin.qq.com/s?__biz=MzI2MjA5MjUwMQ==&mid=401637260&idx=1&sn=907ef3539e1b54772f2a54bc651b3424&scene=20#wechat_redirect

要点: 说到监控大家都不陌生, 但是如何把监控做好呢, 本文作者进行了一系列思考.

3. 最简明扼要的 Systemd 教程,只需十分钟

https://linux.cn/article-6888-1.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: systemd和sysvinit是linux两大初始化系统, sysvinit正在逐渐被systemd取代的趋势, centos也是从7.0版本以后开始完全迁移到了systemd. 本文简要的介绍了systemd的功能.

 4. 使用ulimit 命令、/etc/security/limits.conf、proc 调整系统参数

http://www.jianshu.com/p/23ee9db2a620?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 服务后台开发经常需要调整各种linux内核参数, 但是不同的命令控制生效的作用域不同, 本文给出简要介绍.

 5. 解读2015之运维篇:变化、发展、涨姿势

https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=402417241&idx=1&sn=d999027b055a90af1f10a5121be1841a&scene=0&key=710a5d99946419d98782ce29cd56333be4063ab366c4dd9fe57453bdbbf6092b80e9575bd54979ed39739f01e5ab81c5&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.3+build(15D21)&version=11020201&pass_ticket=zmP8mGC3nzwy8kbAFUIk11Hdye%2BrKd5mirh%2Bevm8a2810yPVFvaer5QUXdwYClkI

要点: 2015年虽不是运维发展最快的一年,却是运维变化最大的一年。前一年大家普遍认为云计算是运维的救命稻草,而2015年的多次“灾难”让人警醒。越来越多的企业开始对运维更加重视了。与此同时,无论是使用开源软件的数量还是采用开源软件的企业都在持续增长。许多公司对自己的一些软件进行了开源,其中包括Google、Facebook、微软和IBM等。企业用户以前所未有的速度拥抱开源,很多优秀人才也投身其中,开源不再可有可无。除此之外,运维基础系统的更新迭代也不容小觑。还有哪些涨姿势?我们一起来盘点。

 

大杂烩

1. mmap实例及原理分析

http://blog.rootk.com/post/mmap-example-and-kernel-implementation.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 一遍比较详细的介绍mmap原理的文章, 并且附有样例程序.

2. 全栈工程师眼中的 HTTP

https://mp.weixin.qq.com/s?__biz=MjM5MzA0ODkyMA==&mid=404565007&idx=1&sn=96a0f2e9c5068ce738b47cc8c8bf650c&scene=1&srcid=0119AdHoI6mfDK3SPF2Dnifu&key=710a5d99946419d92580b4f591b06b549a316a37e3028967bec454db2f5244a4b667dd6d05b96f429bb14685ea236b5f&ascene=0&uin=Mjk1ODMyNTYyMg%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=8OUIk86GC0qtUagbkL9kLGrMOCvWiT6k%2FahfBrINAXr37LX0TkvcluoczBduWxr%2F

要点: 科普性小文章

3. sysctl.conf学习和调优

https://wsgzao.github.io/post/sysctl/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: 介绍limits.conf的相关知识.

4. socket关闭: close()和shutdown()的差异

http://drmingdrmer.github.io/tech/programming/network/2015/07/28/close-shutdown.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

要点: close()和shutdown()的区别大家知道吗? 不清楚的话, 看这篇文章吧.

你可能感兴趣的:(分布式技术一周技术动态 2016.01.24)