架构师训练营第四周命题作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么什么问题?请列举描述。
垂直伸缩,通过升级硬件和网络吞吐能力实现垂直伸缩,从而提高并发量。
水平伸缩,通过增加服务器数量提升计算能力,从而提高并发量。
分层,将系统在横向维度上切分为几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完整的系统。主要解决了系统的可维护性问题。
分割,系统越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护,另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
分布式,将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式的方式解决同样的问题可以使用更多的计算机,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大。
集群,多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。提高了系统并发访问能力。
缓存,将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段。
异步,将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行协作。此方式可以提高系统的可用性,加快网站响应速度,消除并发访问高峰。
冗余,为了保证在服务器宕机的情况下网站依然可以继续服务,数据不会丢失,就需要一定程度的服务器冗余运行,数据冗余备份。
评论