微服务之间共享threadlocal_什么是微服务?微服务之间是如何独立通讯的?

0e4d63b80b72542b6aa96e89913e5c4b.png

什么是微服务

  • 微服务架构是一个分布式系统,按照业务进行划分成为不同的服务单元,解决单体系统性能等不足。
  • 微服务是一种架构风格,一个大型软件应用由多个服务单元组成。系统中的服务单元可以单独部署,各个服务单元之间是松耦合的。
微服务概念起源:Microservices

微服务之间是如何独立通讯的

同步

REST HTTP 协议

REST 请求在微服务中是最为常用的一种通讯方式,它依赖于 HTTPHTTPS 协议。RESTFUL 的特点是:

  1. 每一个 URI 代表 1 种资源
  2. 客户端使用 GET、POST、PUT、DELETE 4 个表示操作方式的动词对服务端资源进行操作:GET 用来获取资源,POST 用来新建资源(也可以用于更新资源),PUT 用来更新资源,DELETE 用来删除资源
  3. 通过操作资源的表现形式来操作资源
  4. 资源的表现形式是 XML 或者 HTML
  5. 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息

举个例子,有一个服务方提供了如下接口:

@RestController
@RequestMapping("/communication")
public class RestControllerDemo {
    
    @GetMapping("/hello")
    public String s() {
    
        return "hello";
    }
}

另外一个服务需要去调用该接口,调用方只需要根据 API 文档发送请求即可获取返回结果。

@RestController
@RequestMapping("/demo")
public class RestDemo{
    
    @Autowired
    RestTemplate restTemplate;

    @GetMapping("/hello2")
    public String s2() {
    
        String forObject = restTemplate.getForObject("http://localhost:9013/communication/hello", String.class);
        return forObject;
    }
}

通过这样的方式可以实现服务之间的通讯。

RPC TCP 协议

RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值