架构师训练营第四周作业
一个典型的大型互联网应用系统使用的技术方案和手段:
分层:将系统在横向维度上切分成几个部分,每个部分复杂一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完整的系统。
视图层、应用逻辑层、公用服务层、基础设施层、存储层,不同的层可以部署在不同的服务器上。
分割:将不同的功能和服务分割开,包装成高内聚低耦合的模块单元,有助于软件开发和维护,也有助于分布式部署。
分布式:分层和分割的主要目的是为了切分后的模块便于分布式部署,即将不同的模块部署在不同的服务器上,通过远程调用协同工作。分布式部署能够提升并发访问数和存储量。
集群:多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务。
缓存:将数据存放在距离计算最近的位置以加快处理速度。常用的缓存有:CDN、反向代理、本地缓存、远程缓存。
异步:将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行操作,例如消息队列。使用异步处理可以:降低软件的耦合性、提高系统可用性,加快网站响应速度、消除并发访问高峰。
冗余:为了保证在服务器宕机的情况下网站依然可以继续服务,数据不会丢失,需要一定程度的服务器冗余运行,数据冗余备份。
自动化:在无人值守的情况下网站可以正常运行,目前主要集中在运维方面。系统自动监控,自动部署、自动集群扩容。
安全:常用的安全措施有:密码、手机校验码、敏感数据加密,验证码、编码转换等。
评论