微服务学习日记一
一、微服务的定义
微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征:
1、单一职责:微服务拆分粒度更小,每一个服务对应唯一的业务能力
2、
- 单一职责:微服务拆分粒度更小,每一个服务对应唯一的业务能力
- 面向服务:微服务单独部署,对外暴漏业务能力接口
- 单独治理:开发独立,技术独立,数据独立(根据成本),部署独立
- 隔离性强:服务间调用做好隔离、容错、降级,避免级联问题
二、微服务技术
SpringCloud
简介:基于SpringBoot的微服务框架。官网地址
- 注册中心:Eureka
- 服务调用:Feign(http协议)
- 配置中心:SpringCloudConfig
- 服务网关:SpringCloudGateway、Zuul
- 服务监控和保护:Hystrix
SpringCloudAlibaba
- 注册中心:Nacos、Eureka
- 服务调用:Feign(http协议)、Dubbo
- 配置中心:SpringCloudConfig、Nacos
- 服务网关:SpringCloudGateway、Zuul
- 服务监控和保护:Sentinel
接口风格
服务调用一般使用Feign(http协议)、注册接口一般采用Restful风格
三、服务拆分、远程调用
1、每个微服务职责单一、业务明确,避免重复开发
2、微服务间数据独立,不要链接其他微服务数据库
3、将需要被调用的业务接口暴露出去,供其他微服务调用
微服务调用方式
基于RestTemplate发起http请求实现远程调用
1、注册RestTemplate
2、使用RestTemplate对象调用其他微服务接口
提供者与消费者
- 提供者:暴露接口给其他服务调用
- 消费者:调用其他微服务的接口