开发者学堂课程【企业级互联网分布式系统应用架构学习:课程总结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/503/detail/6748
课程总结
内容介绍
一. 互联网应用架构概览
二.提高网络访问速度
三. 提高应用并发度
四. 高可用架构
一. 互联网应用架构概览
在互联网架构课程中,我们学习了互联网应用架构概览,CDN,负载均衡,WEB服务器,应用服务器,数据库,应用服务器与数据库服务器之间的缓存以及大数据服务平台。
二.提高网络访问速度
接着介绍了提高网络访问速度,访问速度,我们主要关注的是第一公里和中间一公里。
第一公里指的是在机房基础车之上选择第一批的网络,满足不同运营商接入客户的访问速度,另外一个主题是使用 CDN,解决中间一公里的速度。例如通过智能的DNS 让中端客户快速访问到边缘节点的缓存,来达到访问速度提升的目的。
三. 提高应用并发度
下一个主题是提高应用并发度。在其中我们介绍了四个小的内容。
1. 应用层横向扩展
第一个内容是应用层横向扩展,提升应用的并发处理能力,其中主要介绍了负载均衡服务,通过这个服务可以把流量分发到应用或 web 层,为了能够快速扩展资源或定时的扩展资源,也介绍了一些弹性扩展策略和工具。
2.使用应用层缓存
第二个主题是使用应用层缓存,通过应用缓存,我们可以大大降低数据库的压力,把一些热点数据缓存到应用缓存中,应用需要的热点数据,先去访问缓存,若缓存没有命中,在真正发起数据库的访问。因为应用层的缓存响应,每秒请求的次数会比数据库更高,应用的整个并发度会提升。
3. 同步转异步
第三个是同步转异步,在这个小的主题中,讨论了同步的几种线程模式,他会产生的一些问题,例如单线程模式和多线程模式会产生应用阻塞的一些场景。所以在大的并发访问情况下,我们通常会将同步请求处理掉,再把后续的一些操作转移到消息队列中,再进行异步处理。这样也可以降低业务处理的复杂度,使得每一个业务处理的速度加快,这样也可以提升应用的并发度。
4. 数据库读写分离及提高 IO 能力
第四个小的主题是数据库读写分离及提高IO能力,例如通过数据库层的一些技术,将主数据库的数据复制到只读库上,在应用层将只读的操作转向只读库,业务处理的请求转到主库,如此可以提升主库的处理速度,同时是只读库也可以帮助做一些业务运行的分析。当然,在一些场景下客户自己通过云服务器搭建数据库时,推荐用户使用 IO 更高的磁盘,然后提升数据库的响应能力。
四. 高可用架构
在第三个大的主题里,我们讲述了高可用架构,主要涉及的主题在单可用区下如何搭建高可用架构,通常通过负载均衡,将流量分发到多台中间应用服务器,再数据库做主备在单可用区情况下,但为了保证更高的可用架构,我们会用多可用区进行应用的部署,负载均衡自动的进行互联网 IP 的浮动,当单可用区出现问题时,同时在进行应用部署时,把部署应用的云服务器部署在不同的可用区中,同时我们数据库选用多可用区的数据库使得主库,生产库和摘备库位于不同的可用区,如此在在极端情况下,某一个可用区出现问题,应用可以平滑的切换到另一个可用区。