【架构师第四周】总结
大型互联网系统的设计目标就是要满足三高:高并发、高可用、高性能。
高并发:
高并发不是技术问题,是因,高可用、高性能是果
高并发不是设计出来的,而是由业务决定的。
高可用:
大型网站系统区别于传统系统的另一个特点就是高可用,传统系统大部分时候不需要满足7*24小时持续提供服务,而大型互联网系统面对的是海量的用户,用户每时每刻都有可能来访问,系统必须保持高可用。
高性能:
大型网站用户数量庞大,必须满足高性能要求,卡顿会导致大量用户流失。往往需要做到毫秒级响应。
分布式:
用于解决三高问题。
关键词:分而治之
大型互联网系统往往功能错综复杂,一个网站可能会拆分成许多不同的子系统,每个子系统由专门的团队开发维护。以电商为例,从首页到商详到结算等等,每一个页面的背后就可能是一个或者多个团队在做。如果是单体应用根本无法进行管理,所以必须对应用进行拆分。每个应用独立部署,应用之间通过接口或者消息队列等方式进行交互。
关键词:分层、分割
从单体应用演化为分布式系统的过程,需要不断的对应用进行拆分,拆分的方式主要有水平拆分和垂直拆分,也就是分层和分割。
分层:就是将系统按调用链从上到下拆分,例如网关、服务、消息队列、数据层等等都可分为单独的一层对上层提供服务。
分割:则是将不同的业务或功能,拆分为不同的系统进行维护。比如微服务化就是一种分割。
关键词:集群
同一个应用,水平扩展为n个服务,每个服务都能单独对外提供服务。这样一组服务就是一个集群。当服务性能不足时,通过水平扩展集群机器,即可提高性能。
关键词:冗余
冗余是为了实现高可用,是为了保证系统不会因为单点出现故障就导致整个服务不可用。当例如数据库主从架构、redis主从等等
评论