分布式技术总结
背景
大型互联网架构的挑战主要是高并发、大流量和高可用。
有两个方向:垂直伸缩和水平伸缩。
垂直伸缩在后期受技术和成本的约束太重,甚至无法实现。
水平伸缩在这方面表现的很好,被越来越多的厂商和客户接受,比如淘宝。
水平伸缩还有另外一个名称-分布式,主要技术有缓存、消息队列、负载均衡、数据库和NoSQL等。
分布式缓存
应用:CPU缓存、数据库缓存、JVM缓存、CDN缓存、代理和反向代理缓存、应用程序缓存等。
关键指标:命中率
影响命中率的主要指标:缓存集合大小、可用内存空间、缓存对象生命周期
分类:通读缓存、旁路缓存
算法:Hash算法
消息队列
应用:异步调用、消峰填谷
优点:效率、失败隔离、自我修复、解耦
产品:RocketMQ
负载均衡
实现方式:HTTP重定向、DNS、反向代理、IP、数据链路层
算法:Paxos等
产品:Nginx等
数据库
目标:提升读性能
方案:读写分离
总结
在解决互联网系统性能时,首先找到系瓶颈,然后有针对性的选择合适的方案。对架构师的要求就是横向的知识面要广,知道用什么样的方案和技术解决即可,忌专研技术。
另外,听也听明白了,脑子里也想明白了,但是写不出来,说明:一没有经验,二没能实践,三是表达能力,做为架构师也挺重要的。
版权声明: 本文为 InfoQ 作者【LEAF】的原创文章。
原文链接:【http://xie.infoq.cn/article/5c54ef7e65f8fd9a2c4692995】。未经作者许可,禁止转载。
评论