服务拆分和远程调用
服务的拆分的一个最大的作用就是解耦。任何分布式架构都离不开服务的拆分,微服务也是一样。
服务拆分原则
- 不同微服务,不要重复开发相同业务
- 微服务数据独立,不要访问其它微服务的数据库
- 微服务可以将自己的业务暴露为接口,供其它微服务调用
- 演进式拆分:刚开始的时候后不要拆的太细,可以随着迭代过程逐步优化
- 避免环形依赖与双向依赖
服务拆分示例
实现远程调用案例
提供者与消费者
在服务调用关系中,会有两个不同的角色:
服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)
服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)