一、需求缘起

明明架构要求高可用,为何系统中还会存在单点?

回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点

在哪些场景中会存在单点?先来看一下一个典型互联网高可用架构。
image.png

典型互联网高可用架构:

(1)客户端层,这一层是浏览器或者APP,第一步先访问DNS-server,由域名拿到nginx的外网IP

(2)负载均衡层,nginx是整个服务端的入口,负责反向代理与负载均衡工作

(3)站点层,web-server层,典型的是tomcat或者apache

(4)服务层,service层,典型的是dubbo或者thrift等提供RPC调用的后端服务

(5)数据层,包含cache和db,典型的是主从复制读写分离的db架构

在这个互联网架构中,站点层、服务层、数据库的从库都可以通过冗余的方式来保证高可用,但至少

(1)nginx层是一个潜

收藏 打印