阅读本文需要了解的基础知识

分布式相关概念介绍:

集群的架构方式传统架构:

虚拟IP负载均衡软件=>nginx主备集群=>tomcat集群=>mysql主备集群

虚拟IP负载均衡软件=(vip软件分配nginx工作)>nginx主备集群=(nginx分配tomcat工作)>tomcat集群=(tomcat内的应用分配mysql工作)>mysql主备集群

以上括号内的都是负载均衡技术,并且都算是客户端负载均衡(我规定的,哈哈,为什么这么说呢,因为所有的集群分配工作的事情都前置了,即交给了调用者来完成,集群本身不能处理分配任务的事情)。

微服务架构:

虚拟IP负载均衡软件=>nginx主备集群=>服务网关集群=>服务注册中心集群,微服务集群=>redis多主多从集群,mysql多主多从集群

服务注册中心集群内部实现方式为(以nacos为例):虚拟IP负载均衡软件=>nginx主备集群=>注册中心集群=>mysql主备集群,也就是传统集群架构。

注册中心提到的CAP,不是指微服务集群的CAP,微服务只是接口并不存储什么共享的数据,不需要什么CAP,CAP只是注册中心自己集群时候需要用到,为了维护注册中心的注册表在集群环境下的数据同步问题。

虚拟IP负载均衡软件=(vip软件分配nginx工作)>nginx主备集群=(nginx分配网关工作)>服务网关集群=(网关分配微服务工作)>服务注册中心集群,微服务集群=(微服务分配redis、mysql工作)>redis多主多从集群,mysql多主多从集群

集群技术难点

集群很简单,无非就是copycopycopy,runrunrun。但是做负载均衡、数据同步、分布式事务分布式锁(mysql、redis)就很麻烦。 负载均衡有很多策略,典型的就是轮询和哈希,而数据同步就是CAP理论了,选AP,Base还是选CP之类的。 选好负载均衡策略和CAP策略之后还要选择对应的技术框架来实际落地,将技术或框架实际部署并测试可行之后才算落地,才算架构搭建完成。