集群、分布式和微服务的区别
2021-01-15 本文已影响0人
MrH_永无BUG
集群:多个服务同时干一件事情,某一个服务宕机,用户基本无感知。我们通常讲的tomcat集群,nginx集群,redis集群都是为了确保系统的稳定性;集群当中最重要的点在于保证数据的最终一致性。
分布式:一个大的任务被分成几个小任务,每个小任务都是一个服务;某一个服务宕机,其他未关联服务不受影响;重启某一个服务,其他服务也不受影响;某一个服务是瓶颈,则只针对这个服务提升性能做成集群,资源利用率高;我们通常见到的dubbo+zookeeper就是分布式技术,用来解耦controller层和service层;用一个服务去调用另外一个服务并非必须依靠注册中心,httpclient技术也是选项之一。
微服务:多个服务,一个调用另外一个,我们要提供服务注册和服务发现,但服务被分割的很小的时候,众多服务的管理,降级,路由,断路,过滤,监控,配置等功能也要考虑到,然而,dubbo+zookeeper却少有提供这类组件,或者说要自己实现;而已springcloud为代码的微服务便更受欢迎,它是一个技术栈;它有netflix实现的版本,也有阿里巴巴实现的版本。微服务是对分布式的代替和优化。微服务的部署方式和分布式不一样,可以是多机也可以是单机