目录

集群和分布式
集群:多个数据节点——>完成一个功能,提高效率,完成高性能,并且 挂了一个节点其他节点继续工作(完成高可用的实现),多台机器提高性能,伸缩性也增强
分布式:很多人做不一样的事情放在不同的节点上g'g

在项目中:
AB服务在一台机器中,并且部署多个节点,集群——>伸缩性较高,提高了处理能力,满足高性能
分布式——>降低了服务之间的耦合

架构演变
项目启动慢,扩展性低,一个服务错整个服务就挂,不方便维护

将一个项目拆为多个单体架构,其实就是按按业务(垂直)进行拆分,每个单体架构之间是没有依赖的
好处:相对单体架构,扩展性较高
坏处:重复功能较多,比如两个模块一个购物车一个商品,都需要用户信息,那么两个单体服务(互相没有依赖)中就会有重复的服务

分布式架构
就是将重复的模块抽取出来,然后我们其他模块(消费者)去调用它即可,实现服务的共享和重用——>RPC(远程调用,比如RestTemplate通过url调用,或者用feign,Dubbo都可以)
(36条消息) http客户端Feign_Fairy要carry的博客-CSDN博客

当服务较多时,服务与服务调用较多时,耦合较高,并且分布式架构如果provider的ip变了,消费方都需要变更,比如通过RestTemplate,容易出问题——>通过一层中间件进行代理架构ESB(服务中介,可以理解服务总线类似于nacos,eureka这些注册中心,会对provider的状态进行监听)
(36条消息) Nacos注册中心_Fairy要carry的博客-CSDN博客_nacos注册中心

强调的时业务的组件化,每个业务模块都是可以拆分独立开发然后集成,每个服务有自己的数据库(服务级联调用出现分布式下数据不一致需要seata解决);大大降低微服务之间的耦合
(36条消息) Seata的几种事务模式_Fairy要carry的博客-CSDN博客_seata设置事务模式
(36条消息) 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?_万猫学社的博客-CSDN博客_soa和微服务
