week04_ 系统架构
作业一:
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
维基百科:GeoDNS(域名服务)
Squidcaching layers(反向代理服务器集群)
LVS(负载均衡服务器)
Application servers(应用服务器)
Distributed Object Cache(Memcached)(分布式缓存集群)
Core databases(数据库服务器)
Image server(Lihttpd)图片服务器集群
Search(Lucene)搜索服务器集群
Invalidation notification(缓冲内容失效)
淘宝:雅虎的搜索引擎(快淘)、MySQL读写分离(加快数据库操作)、MySQL迁移到Oracle(解决数据库性能问题_垂直伸缩)、分布式缓存Tbstore、分布式存储TFS、分布式搜索引擎、CDN
作业二:根据当周学习情况,完成一篇学习总结
应对高并发挑战的两个技术方向:
1.垂直伸缩
通过升级硬件和网络吞吐能力可以实现垂直伸缩。由于不需要改变应用架 构,所以通常
被认为是最简单的短期伸缩性方案。
• 通过使用 RAID(独立冗余磁盘阵列)增加 I/O 吞吐能力。
• 通过切换到 SSD(固态硬盘)改善 I/O 访问速度。
• 通过增加内存减少 I/O 操作 。
• 通过升级网络接口或者增加网络接口提高网络吞吐能力。
• 更新服务器使用更多处理器或者更多超线程
垂直伸缩的缺点
• 达到某个程度后,增加计算能力需
要的更多的花费。
• 垂直伸缩有物理极限。
• 操作系统的设计或者应用程序自身
制约着垂直伸缩最多只能达到某个
点。
2.水平伸缩
水平伸缩是指通过增加服务器提升计算能力的一类架构方法。
水平伸缩被认为是伸缩性的圣杯,水平伸缩可以克服垂直伸缩带来的单位计算成本随计
算 能力增加而迅速飙升的问题。
另外,水平伸缩总是可以增加更多服务器,这样,就不会像垂直伸缩那样遭遇到单台服
务器的极限。
架构演化第一阶段:应用数据分离
架构演化第二阶段:使用缓存改善系统性能
架构演化第三阶段:使用应用服务器集群改善系统的并发处理能力
架构演化第四阶段:数据库读写分离
架构演化第五阶段:使用反向代理和 CDN 加速网站响应
架构演化第六阶段:使用分布式文件系统和分布式数据库系统
架构演化第七阶段:使用 NoSQL 和搜索引擎
架构演化第八阶段:业务拆分
架构演化第九阶段:微服务及中台化
架构演化第十阶段 大数据与智能化
评论