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