【微服务】微服务间的通信⽅式总的来说,各个微服务之间的通信⽅式分为以下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)
主流的消息队列框架:Kafka,ActiveMQ,RocketMQ等