格兰仕微波炉操作方法 微服务调用为啥用RPC框架,http不更简单吗?
微服务调用为啥用RPC框架,http不更简单吗?
简单点,HTTP是协议,RPC是概念!实现RPC可以基于HTTP协议(Feign),TCP协议(Netty),RMI协议(Soap),WebService(XML—RPC)框架。传输过程中,也因为序列化方式的不同,又有一些框架和协议,比如Dubbo中的Dubbo协议,gRpc—Protobuf序列化协议等等。其实,都是基于远程调用的概念,何为远程调用?
重点是,RPC就是远程调用,远程调用就是客户端把调用的接口,参数,参数类型,方法,返回值,返回值类型等(这些称为方法签名),通过如上的协议,发送给服务端,告知服务端需要调用的接口方法,这个过程就是RPC的实现过程!HTTP和RPC是不同层面的两个东西!
性能方面,HTTP本身是基于TCP协议的,属于应用层协议,所以HTTP协议本身在实现过程中就会占用大量的资源(内存,带宽等),性能上肯定没有通过TCP直接实现RPC协议快,不管HTTP如何优化肯定的是不如TCP的!而TCP则是依靠字节码,现在普遍采用的是将客户端调用的接口信息,序列化的方式发送给服务端,序列化框架又包含很多(Hession,Protobuf,Kryo等等,序列化性能最高的是Kryo,序列化后字节码最小的是Protobuf),序列化后的字节码越小,占用带宽越少,序列化时间越短,线程IO等待时间就会越小。所以,在具体应用层面有很多可探讨的技术,可以根据自己的硬件能力来选择相应的技术就可以了!
欢迎热爱技术的人来探讨!
大家一般用什么工具测试HTTP和json接口?
SoupUI,这是我现在用的最多的接口测试工具。
在我们日常的开发过程中,大多数是两种类型的接口:SOAP API和Rest API两种,SoupUI对这两种接口都有很好的支持,而且还支持Amazon Web Service,这个只在软件的首页上看到过,没有实际使用过。
其实很多的接口测试工具对这两种常用的接口都有很好的支持,具体的使用方法我在这里也不详细讲了,都是图形界面的操作,按照指示一步一步的新建即可完成。
其中它可以很方便地进行压力测试,也是按照提示,一步一步新建,最后的的操作页面是这样的:
可以设置:并发数、策略,压力测试的时间等。
结果可以展示:接口的最大响应时间、最小响应时间、平均响应时间、TPS等等。
非常好用,大家可以尝试。
希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、职业发展等方面的见解,希望能得到你的关注;另外,关注我后私信【资料】两个字,可获取架构、大数据、面试等相关资料。
格兰仕微波炉操作方法 行车记录仪使用教程 格兰仕微波炉使用教程
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。