netty,webrvice有什么区别
1、三者关注点不同:netty 提供一套基于NIO的服务器的框架(简化TCP/UDP的socket开发),类似的还有mina。 比如实现一个web服务器。web rvice 重点是web服务,建立一套规则,使得跨平台/跨应用可可访问。比如天气预报接口、google Map接口等。
2、大概会有 Dubbo 默认支持的 dubbo 协议,以及老生常谈的由当当贡献给 Dubbo 的 rest 协议,或者是今天的主角 http。
3、RemoteMethodInvocation ,Java语言特有的远程调用接口,使用还是比较简单方便。不过需要跨语言的情况下,就需要使用 webrvice 等其他方式来支持。一般来说,程序都不需要使用RMI,不过可以在特定的情况下使用,我就在一个项目中,使用RMI来进行程序远程启动停止的控制。
4、适用场景:需同时给应用程序和浏览器使用的服务。 基于WebService的远程调用协议。
5、两个没有关联,但是非要说区别,有如下几点: (1)通信方式不同,Dubbo使用RPC通信,Spring Cloud使用HTTP Restful方式 (2)组成部分不同Dubbo支持的协议 dubbo:// (推荐);rmi:// ;hessian:// ;http:// ;webrvice:// ;thrift:// ;memcached:// ;redis:// ;rest:// 。
6、Java和XML,包括Java Web Service,JavaXML, 业界主流XML解析器程序设计;企业规范和工程,包括UML建模型和设计(Rational Ro 200x)工程和业界开发规范;CVS版本控制、Java Code书写规范;J2EE商务应用项目开发,4~5人一个项目组,项目大小为(25人*工作日左右)。
RPC、HTTP、Socket区别
1、总结来看,HTTP、RPC和Socket在不同层次和场景下发挥着各自的功能。HTTP协议用于应用层的网络通信,RPC实现了远程过程调用,而Socket提供了底层的网络通信接口。理解它们之间的区别与联系,有助于在实际开发中选择最适合的网络通信技术。
2、tcp和udp都是传输协议,主要区别是tcp协议连接需要3次握手,断开需要四次握手,是通过流来传输的,就是确定连接后,一直发送信息,传完后断开。udp不需要进行连接,直接把信息封装成多个报文,直接发送。
3、HTTP 和 RPC 为何并存?HTTP 是基于 TCP/IP 协议的超文本传输协议,而 RPC 则基于 TCP/IP 实现远程调用。HTTP 协议在传输层之上运行,因此在效率上更胜一筹。HTTP 和 RPC 都能实现远程调用,但 HTTP 是基于 socket 的通用协议,而 RPC 可以基于 HTTP 协议,也可以使用自定义协议。