最近在努力学关于Java分布式开发的内容,推荐大家一本书,陈康贤的《大型分布式网站架构设计与实践》,文后有资源链接。

RPC,远程过程调用,是实现分布式计算的基础。

它有两种实现方式:

1.基于TCP协议的RPC;

2.基于HTTP协议的RPC;

其中涉及到的关键技术是对象的序列化和反序列化,一个简单的RPC过程包括一个服务消费者和服务提供者,服务消费者需要使用服务提供者的提供的服务,就需要传给服务提供方相关的信息,这些信息包括服务名称(实际上是一个接口),方法名称,方法的参数类型,参数个数等参数列表信息以及对应的参数,服务提供者根据这些信息返回处理结果给服务消费者,一次RPC完成。

两种实现方式的对比:

1.基于TCP协议实现的RPC,由于处于协议栈的下层,能够更灵活地对协议字段进行定制,减少网络传输字节数,降低网络开销,提高性能,实现更大吞吐量和并发数。但是需要更多地关注底层复杂的细节,实现的代价更高,且由于所定义协议自身的局限性,难以得到平台厂商和开源社区的支持,较难实现跨平台调用。

2.而基于HTTP协议的RPC实现来说,很多成熟开源Web容器已经帮我们处理好了这些事情,如Tomcat、Jboss、Apache等,开发人员可以将更多的精力集中在业务的实现上,而非处理底层细节,当然,基于HTTP协议的实现也有其劣势的一面。由于是上层协议,发送包含同等内容的信息,使用HTTP协议传输所占用的字节数肯定要比使用TCP协议所占用的字节数更多。因此,同等网络环境下,通过HTTP协议传输相同的内容,效率会比基于TCP协议的数据传输要低,信息传输的时间也较长。

当然,通过优化代码和使用gzip数据压缩,能够缩小这一差距。

权衡利弊,结合实际环境中其性能对于用户体验的影响来看,基于HTTP协议的RPC还是有很大优势的。

百度网盘:http://pan.baidu.com/s/1slRlgL3

Java分布式开发中的RPC相关推荐

  1. java sessionstate_在Java Web开发中自定义Session

    Session在存储安全性要求较高的会话信息方面是必不可少的,对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的.本文就来教大家如何在Java Web开发中自定义Session ...

  2. 一文理解分布式开发中的服务治理

    我们在分布式开发中经常听到的一个词就是 "服务治理". 在理解"服务治理"的概念之前让我们先理解什么是分布式系统,分布式系统之间如何通过RPC(Remote P ...

  3. java web开发中Filter使用Annotation配置 (转载)

    为什么80%的码农都做不了架构师?>>>    为了在java中得到request和response对象,搜索到了 <如何在Java的普通类中获取Session以及reques ...

  4. Java Web开发中路径问题小结

    Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...

  5. 【UE4】网游开发中的RPC和OnRep(二)

    [UE4]网游开发中的RPC和OnRep(二) 本文转自我的公众号-游戏开发手账 转载请标明出处 搭配Multicast,让Server和所有的Client正常运转起来. 上篇遗留了什么问题? 上一篇 ...

  6. 【UE4】网游开发中的RPC和OnRep(三)

    [UE4]网游开发中的RPC和OnRep(三) 本文转自我的公众号-游戏开发手账 转载请标明出处 最后说说怎么用OnRep完成子弹的同步. OnRep 使用属性同步也能够完成Client和Server ...

  7. 你了解Java应用开发中的注入攻击吗?

    第31讲 | 你了解Java应用开发中的注入攻击吗? 安全是软件开发领域永远的主题之一,随着新技术浪潮的兴起,安全的重要性愈发凸显出来,对于金融等行业,甚至可以说安全是企业的生命线.不论是移动设备.普 ...

  8. java GUI开发中关于卡片式布局详细步骤讲解

    java GUI开发中关于卡片式布局详细步骤讲解 JFrame frame = new JFrame("调课");//首先要申明一个JFrame. JPanel p1 = new ...

  9. 在java商城开发中map集合的应用

    在java商城开发中map集合的put方法(Object key, Object value)添加一个"值"(想要得东西)和与"值"相关联的"键&qu ...

  10. Java Web开发中,自定义过滤器被执行两次的原因分析及解决办法

    本文出处:http://blog.csdn.net/chaijunkun/article/details/7646338,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

最新文章

  1. 2.3 使用 dom4j 对 xml文件进行 dom 解析
  2. oracle 归档日志
  3. Dart编程语言入门
  4. Leecode刷题热题HOT100(6)——Z 字形变换
  5. redhat java配置
  6. VIIRS 学习资料分享
  7. GPS模拟器算法(C#)
  8. java中的math pow_Java ME中的Math.pow()方法使用详解
  9. 蓝桥杯 ALGO-45算法训练 调和数列问题
  10. java 菱形继承_菱形继承与菱形虚拟继承
  11. 【OpenBMC 系列】D-Bus 调试器介绍 - D-Feet
  12. DES的s盒输出CPA和DPA攻击
  13. 债务大爆发,中国30%家庭不堪一击!
  14. FreeNAS 简介
  15. 云服务器 文件服务,云服务器 和文件服务器
  16. rk3568 | 瑞芯微平台GPIO引脚驱动编写
  17. 中文字符点阵信息的显示和插入新字符(基于HZK16 ASC16软字库)
  18. iOS开发 - 类似美团选商品页,从按钮上往上滑动,tableview依然响应,点击按钮,按钮也可响应
  19. 安卓drawable基本属性corners、solid、gradient、stroke、size、padding详解
  20. NSA组网下2G/3G/4G/5G系统协同策略的研究

热门文章

  1. 一种基于地理信息的服务方式
  2. 解决nginx设置反向代理后,css|js|gif|jpg|jpeg|png|bmp|swf等静态资源无法加载
  3. telnet 测试IP和端口命令
  4. 基于Unity3D实现的HitUFO鼠标打飞碟游戏
  5. 新能源专属车险可在线投保 80%车主基准保费下降
  6. 电大网络教育计算机应用基础,(热)最新电大奥鹏远程网络教育计算机应用基础题库.doc...
  7. Exchange 2010输入序列号方式
  8. wmv怎么转换成视频mp4,详细步骤
  9. 手机怎么看php格式的视频教程,wmv格式用手机怎么看
  10. 链路冗余的解决和故障的备用方案