夜间模式
微服务是什么
微服务≠SpringCloud
微服务是什么呢
微服务是一个分布式架构方案:
特征:
- 单一职责:每个服务负责某个唯一且单一业务
- 面向服务:对其他微服务保留业务接口
- 自治:团队独立、技术独立、数据独立、部署独立。每个微服务由特定的团队使用特定的技术特定的数据库在特定的地址上部署,相互独立互不干扰。
- 隔离性强:服务调用之间由隔离、容错、降级,避免出现级联问题。
一个项目把所有的功能集成为一个整体,这就是一个服务,单体架构
这样做架构简单部署成本低,缺点是耦合度高
微服务就是把一个项目进行拆分,把一个服务变为好几个微服务,这就是微服务的概念
每一个微服务对应着一个业务,降低了耦合,未来升级或添加业务也就更加方便
但是这样也引出新的问题 :
- 不同服务之间远程调用
- 拆分粒度
- 集群地址维护
- 服务健康状态,是否还在运行
拆分服务
一个微服务项目除了原本的项目的微服务还有着其他的微服务中间件。
注册中心:
配置中心:
服务网关:
消息队列:
分布式搜索:
分布式缓存:
系统监控链路追踪:
分布式日志服务:
部署容器:
自动部署、持续集成工具:Jenkins
SpringCloud
为了解决项目过大过杂的问题,市面上一直出现着不同的微服务架构
SpringCloud不是创建了什么东西,而是整合了市面上常见的微服务架构
而SpringCloud Alibaba又整合了阿里巴巴原来的dubbo和springCloud
dubbo | SpringCloud | SpringCloud Alibaba |
---|---|---|