【微服务】微服务间的通信方式
总的来说,各个微服务之间的通信方式分为以下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基金会的顶级项目
[ 版权声明 ]:
本文所有权归作者本人,文中参考的部分已经做了标记!
商业用途转载请联系作者授权!
非商业用途转载,请标明本文链接及出处!

浙公网安备 33010602011771号