SpringCloud
服务拆分,将单体项目拆分成多个独立的项目
注册中心:存储多个服务的信息
配置中心:存取配置信息
服务网关:对用户的身份进行校验,请求路由,做负载均衡
缓存:分布式缓存
分布式搜索
分布式日志服务
自动化部署
服务架构演变
单体架构:所有的功能在一个项目中进行开发,打成一个包部署。耦合性较高
分布式架构,将服务进行拆分,业务模块进行独立项目开发,
耦合度较低,便于升级维护拓展
认识微服务
微服务是一种分布式架构设计方案
特征:
单一职责:微服务拆分粒度较小,每个服务对应着唯一的业务能力,做到单一职责。
面向服务:对外暴露业务接口
自治:团队独立,技术独立,数据独立,部署独立。
Dubbo | SpringCloud | SpringCloudAlibaba | |
---|---|---|---|
注册中心 | zookeeper、reids | Eureka、Consul | Nacos、Eureka |
服务远程调用 | Dubbo协议 | Feign(http协议) | Dubbo、Feign |
配置中心 | 无 | SpringCloudConfig | SpringCloudConfig、Nacos |
服务网关 | 无 | SpringCloudGateway、Zuul | SpringCloudGateway、Zuul |
服务监护和保护 | dubbo-admin、功能弱 | Hystrix | sentinel |