SpringCloud-微服务拆分、服务远程调用

    微服务拆分是为了解决问题,将服务拆分隔离使开发工作简单直接、排查问题有更强的针对性、迭代升级影响范围可控,节约维护系统运行人力成本。

01服务拆分的原则

  • 单一服务内部功能高内聚低耦合。根据业务模块拆分,做到单一职责,不要重复开发相同的业务

  • 服务自治、接口隔离。不同微服务都应该有自己独立的数据库,尽量减少对其他服务的强依赖,使得服务可以独立开发、测试、部署、运行,以服务为单位持续交付。

  • 服务接口的定义具备可扩展性。微服务将业务暴露为接口,供其他微服务使用,服务之间通信就不再是进程内部的方法调用而是跨进程的网络通信。

  • 避免环形依赖与双向依赖。一旦出现环形依赖或者双向依赖,说明在业务上的拆分是有问题的,单独的服务功能边界不清晰,通用功能实现方式模糊。

SpringCloud-微服务拆分、服务远程调用_第1张图片


02Springcloud微服务远程调用方式


  • 基于RestTemplate发起的http请求实现远程调用

  • http请求做远程调用是与语言无关的调用,只要知道对方的IP、端口、接口路径、请求参数即可

SpringCloud-微服务拆分、服务远程调用_第2张图片

springcloud中远程调用实现过程

  1. 注册RestTemplate

  2. 服务远程调用RestTemplate

SpringCloud-微服务拆分、服务远程调用_第3张图片

SpringCloud-微服务拆分、服务远程调用_第4张图片

————————————————————

关注微信公众号「BaseJ」,收看更多专题内容

你可能感兴趣的:(微服务,微服务)