架构师训练营第四章作业一:互联网架构常用的技术
目前互联网架构主要是分布式的。
笼统地划分的话,分为 大前端、后端、存储。
大前端
大前端有各种端应用,网页版(含 APP 内嵌网页)、APP。常用的技术如下:
CDN 缓存加速
主要以提升静态资源的访问速度;另外 CDN 专用线路也可以提升动态资源的加载速度;以及直播分发提升直播质量。
前后端分离架构
从开发模式及部署模式上实现前后端分离。目前的前后端分离可以借助统一网关、单页面,从而更方便地实现。
开发模式上的分离。可以让前端人员不必非得在本地或开发测试环境跟后端应用耦合,纠缠在一起,影响开发效率,甚至可以自己部署,避免旧的方式,需要再通知后端,跟后端整合后再进行部署。
部署模式上的分离。一方面,前端可以独立部署;另一方面,前端独立部署可以更方便地进行 CDN 加速。
单页面应用
借助 React 、VUE 等单页面框架、以及 Service Worker 技术,网页版应用可以更像 APP 应用,这样就可以统一 网页版应用与 APP 应用与后端服务交互的方式,更有利于系统的架构。
后端
微服务
微服务主要还是主要新遵循 高内聚、低耦合 的设计原则。根据功能、团队组织架构将服务进行拆分。在开发阶段可以减少开发量、减少功能相互影响,服务之间以及接口的形式进行交互。在部署阶段,可以更敏捷,小范围地改动,小范围上线,即使有问题,影响范围也比较小;并且可以针对性地对服务进行治理。如果某个服务访问量大,可以专门对这个服务进行优化。
水平伸缩
随着业务及访问规模的扩大,可以水平将微服务进行复制,达到提升吞吐的目标。
消息中间件
系统之间进一步进行解耦。
异步任务处理。
分布式追踪
分布式应用在于应用很多,运维压力非常大,分布式追踪技术让问题的排查更方便;问题的告警更精确。
存储
数据库分库分表、读写分离
提升数据库的访问能力。
搜索引擎
使用专门的搜索中间件,提升网站的搜索能力,并减少数据库的压力。
评论