【微服务】微服务间的通信方式

总的来说,各个微服务之间的通信方式分为以下2种:

1、同步调用

同步调用也就是:调用方需等待执行方的调用结果

Dubbo的RPC方式(底层基于Netty实现,而Netty底层基于Java NIO,基于TCP建立的长链接)

SpringCloud的Restful http方式,短连接的方式

性能方面:Dubbo > SpringCloud

【扩展知识】:

BIO,NIO,AIO只是一种网络通信模型

BIO:传统的阻塞IO模式,为每个连接创建一个线程

NIO:一个线程服务多连接,弊端是当连接数过多,性能下降

Netty: 封装了NIO,在它的基础上,添加主从处理组,BoosGroup和WorkerGroup

 

2、异步调用

异步调用也就是:调用方无需等待执行方的执行结果

典型的就是消息队列(MQ)

主流的消息队列框架:
RocketMQ,Kafka,ActiveMQ等

这里强烈推荐RocketMQ,它是阿里开源的消息中间件,各方面性能比其他几个都要优秀,目前已成为Apach基金会的顶级项目

 

posted @ 2021-07-20 11:26  CEO雷总  阅读(2114)  评论(0)    收藏  举报