微服务技术
服务架构的发展
单体架构:将所有的功能都集成在一个项目里面开发,打成一个包部署
优点:架构简单,部署成本低 缺点:耦合度高
分布式架构:根据业务功能对系统进行拆分,将每个业务模块作为独立项目开发,称为一个服务
优点:降低服务耦合度,利于服务的升级和扩展
微服务是一种经过良好架构设计的分布式架构方案,
微服务的特征:
- 单一职责:微服务拆分粒度更小,每个服务对应唯一业务功能
- 面向服务:微服务对外暴露业务接口
- 自治:团队独立,技术独立,数据独立,部署独立
- 隔离性强:服务调用做好隔离,容错,降级,避免出现级联错误
SprigCloud
SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用的体验:
服务注册发现:Eureka,Nacos,Consul,
统一配置管理:SpringCloudConfig,Nacos
远程服务调用:OpenFeign,Dubbo
服务链路监控:Zipkin,Sleuth
统一网关路由:SpringCloudGateway,Zuul,
流控,降级,保护:Hystix,sentinel