007. 服务间通信 RPC & REST over HTTP(s) & 消息队列
- 服务间通信
服务间通信的几种方式: RPC、REST over HTTP(s)、消息队列。
https://www.jianshu.com/p/2a01d4383d0b
- RPC
https://blog.csdn.net/weixin_42672054/article/details/81708464#commentBox 创建WebService工程
1.RPC允许程序调用另一个地址空间的过程或函数,而不需要显式编码这个远程调用的细节。
在底层去看,RPC其实就是将流从一台计算机传输到另外一台计算机,无论是基于传输协议(http、tcp、udp等等)和网络IO(bio、nio)来实现。
2. RPC的基本特点如下:
- 通过网络传输的
- 跨终端、跨平台的
- 基于请求-响应的
- 只调用过程,不需关注细节
3.常见的RPC技术
https://blog.csdn.net/chen213wb/article/details/80330356
WebService (现在基本不使用) |
跨语言的,基于SOAP协议,基于xml数据或json数据 |
SOAP WebService: JAX-WS restful WebService: JAX-RS |
SpringCloud | Spring的,基于Socket的,SOA架构的分布式框架 | |
Dubbo(x) | 阿里巴巴的,基于Socket的,SOA架构的分布式框架 | |
Hessian | 跨语言的,基于Binary-RPC协议,走二进制数据 | |
- REST over HTTP(s)
https://www.jianshu.com/p/b1910c425268
REST是一种架构风格,REST规范把所有内容都视为资源,网络上一切皆资源。
REST并没有创造新的技术,组件或服务,只是使用Web的现有特征和能力。 可以完全通过HTTP协议实现,使用 HTTP 协议处理数据通信。
REST调用及测试都很方便,RPC就显得有点繁琐,但是RPC的效率是毋庸置疑的,所以建议在多系统之间的内部调用采用RPC。对外提供的服务,Rest更加合适。
- 使用SpringBoot创建 restful 的微服务
- 消息队列
通过将微服务连接到集中消息总线来工作,服务之间的通信通过 发送消息/接收消息 来完成。
AMQP(RabbitMQ)
最新文章
- TCP/IP协议工作原理简述
- NOIP2000进制转换
- 关于在C#中构造函数中调用虚函数的问题
- python: jquery实现全选 反选 取消
- POSIX字符类
- varnish状态引擎2
- javascript之事件
- 修改Activity的继承类导致程序闪退
- java classpath import package 机制 @Java的ClassPath, Package和Jar
- [工作总结] QA小鸟一年了
- javaWeb学习总结(3)- Servlet总结(servlet的主要接口、类)
- 想要写出高性能sql语句,你得记住这些……
- [bzoj1819] [JSOI]Word Query电子字典
- JavaScript读取对象属性遇到的问题
- Lucene的简单用法
- python3 字符串str
- maya2017卸载/安装失败/如何彻底卸载清除干净maya2017注册表和文件的方法
- 得到WAV文件的长度
- Dom4j完整教程,操作XML教程
- oracle_jdbc_insert_into
热门文章
- 让你分分钟理解 JavaScript 闭包
- 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解
- 循环神经网络(Recurrent Neural Network,RNN)
- [区块链] 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)
- ShortcutBadgerDemo【安卓应用角标(badge)实现方案】
- 如何在CentOS上创建Kubernetes集群
- 安全研究 | Jenkins 任意文件读取漏洞分析
- Spring Boot入门(二):使用Profile实现多环境配置管理&;如何获取配置文件值
- Chrome启动后打开第一个网页很慢的解决方案
- 【English】20190429