目录
1.微服务概念
微服务将一个项目拆分成独立的多个服务,每个服务都可以独立运行并占用线程。微服务是一种经过良好架构设计的分布式架构方案
2.分布式(微服务)和单体的区别
1.定义不同
单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。
分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。
2.特点不同
单体架构:架构简单,部署成本低。但是耦合性高(升级困难)
分布式架构:降低服务耦合,有利于升级和拓展。架构复杂,部署成本高。
3.微服务的拆分原则(架构特征)
(1)单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
(2)自治:团队独立、技术独立、数据独立,独立部署和交付
(3)面向服务:服务提供统一标准的接口,与语言和技术无关
(4)隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题
4.springcloud
SpringCloud是目前国内使用最广泛的微服务框架,集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。
常用组件
服务注册发现:Nacos、Eureka
服务远程调用:OpenFeign、Dubbo
统一配置管理:Nacos、SpringCloudConfig
统一网关路由:SpringCloudGateway、Zuul
流控、降级、保护:Sentinel、Hystix
服务链条监控:Zipkin、Sleuth