SpringCloud-笔记
[toc]
零、资料
一、微服务概述
1、微服务技术栈
微服务是为了拆分服务,形成服务集群。
由于服务过多,调用关系过于复杂,因此,需要有一个注册中心,来记录服务集群的调用关系,每次调用时,只需要到注册中心去找需要调用的服务的ip就行了。
因为服务过多,造成配置过多,难以维护,所以需要配置中心来记录每个服务的配置。
为了让用户访问微服务,所以需要服务网关。
为了加快访问,所以需要有分布式缓存。
为方便查询,需要分布式搜索
为加快速度,需要有异步通信的消息队列
2、微服务架构的演变过程
2.1、单体架构
单体架构,将所有的业务功能放在一个项目中开发,打成一个包部署。
优点:架构简单,部署成本低。
缺点:高耦合
2.2、分布式架构
根据业务功能,对系统进行拆分,每个业务模块作为一个独立项目,每个业务模块成为一个服务。
优点:低耦合,易扩展。
缺点:带来了服务治理的问题。
分布式架构需要考虑的问题(服务治理):
- 服务拆分的粒度如何?
- 服务集群的地址如何维护?
- 服务与服务之间如何实现远程调用?
- 服务健康状态如何感知?
2.3、微服务架构
在总结了分布式架构的经验后,提出了微服务架构,它是一种经过良好设计的分布式架构。
微服务架构的特征:
- 单一职责:微服务的拆分粒度更小,一个业务就是一个服务,做到单一职责,避免重复开发。
- 面向服务:对外暴露服务的业务接口。
- 自治:团队独立、技术独立、数据独立、部署独立。
- 隔离性强:服务做好隔离、容错、降级,避免出现级联问题。
2.4、小结
3、微服务的技术对比
国内较为出名的:SpringCloud 和 Dobbo
SpringCloudAlibaba 兼容 前两种。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Cyw的笔记栈!