二、服务拆分及远程调用

目录

一、注意事项:

1.单一职责:

2.数据独立:

3.面向服务:

二、服务拆分例子:

三、远程调用例子:

微服务调用方式:

四、提供者与消费者

服务调用关系:


一、注意事项:

1.单一职责:

不同微服务,不要重复开发相同业务

2.数据独立:

不要访问其它微服务的数据库

3.面向服务:

将自己的业务暴露为接口,供其它微服务调用

二、服务拆分例子:

 1、导入demo,并运行sql文件,启动服务

二、服务拆分及远程调用_第1张图片

2、修改mysql的用户名及密码

二、服务拆分及远程调用_第2张图片

3、发送get请求进行测试

二、服务拆分及远程调用_第3张图片

二、服务拆分及远程调用_第4张图片

三、远程调用例子:

1、通过user模块发送get请求给order模块,这样我们既可以得到user信息又能得到订单信息

二、服务拆分及远程调用_第5张图片

2、在orderApplication中创建注册对象

二、服务拆分及远程调用_第6张图片

3、这是原代码,我们将修改它,让它通过restTemplate向order发送get请求并返回为user对象

二、服务拆分及远程调用_第7张图片

4、修改后

二、服务拆分及远程调用_第8张图片

5、重新发起请求

微服务调用方式:

  • 基于RestTemplate发起的http请求实现远程调用
  • http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可。

四、提供者与消费者

服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)

服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

服务调用关系:

  • 服务提供者:暴露接口给其它微服务调用
  • 服务消费者:调用其它微服务提供的接口
  • 提供者与消费者角色其实是相对的
  • 一个服务可以同时是服务提供者和服务消费者
     

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