Java通信协议的选择

目录

1、HTTP通信协议

1.1 HTTP 特点

1.2 HTTP Method

1.3 HTTP 状态码

2、RPC通信协议

3、MQ通信协议

4、Netty通信协议


1、HTTP通信协议

        HTTP通信一般用于普通业务场景,非高并发,单次请求小数据量,它的优势在于屏蔽了语言的差异,特别适合于跨语言、跨平台的服务调用场景。
        参考文档:Http、RESTful、RPC、MQ、Socket 概念与区别

1.1 HTTP 特点

  • 基于C/S模式,客户端通过URL向服务端发送请求,其信息交换过程为:建立连接、发送请求信息、发送响应信息、关闭连接。
  • 无连接,指 限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。这样可以节省传输时间。
  • 无状态,指协议对于事务处理没有记忆能力。

1.2 HTTP Method

  • GET 获取一个资源
  • PUT 修改一个资源
  • POST 添加一个资源
  • DELETE 删除一个资源

1.3 HTTP 状态码

  • 200 - 请求成功
  • 301 - 重定位,资源被永久转移到其他URL
  • 404 - 请求资源不存在
  • 500 - 内部服务器错误

2、RPC通信协议

        RPC,即 远程过程调用,一种标准,屏蔽底层通信细节,可以直接调用。简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个
函数或方法(可统称为服务)并得到返回的结果。RPC在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)。
        在Java领域比较流程的RPC框架有:阿里的Dubbo、Google 的GPC、新浪的Motan。

3、MQ通信协议

MQ通信一般用于同一个公司的多个业务应用系统之间,用于异步处理、应用解耦、削峰填谷,如果客户端的调用依赖于消息的处理结果,此时MQ通信协议不太适用于这种场景。

4、Netty通信协议

猜你喜欢

转载自blog.csdn.net/s2008100262/article/details/112735862