当前位置: 首页 > news >正文

江西做企业网站的公司郑州百度关键词seo

江西做企业网站的公司,郑州百度关键词seo,深圳市建筑有限公司,医疗器械四大龙头企业1.技术要点 1.1 rpc协议 定义一个rpc协议类,用于rpc服务端和客户端数据交互。 1.2 netty粘包半包处理 由于数据传说使用tcp协议,rpc协议的数据在网络传输过程中会产生三种情况: 1)刚好是完整的一条rpc协议数据 2)不…

1.技术要点

1.1 rpc协议

定义一个rpc协议类,用于rpc服务端和客户端数据交互。

1.2 netty粘包半包处理

由于数据传说使用tcp协议,rpc协议的数据在网络传输过程中会产生三种情况:
1)刚好是完整的一条rpc协议数据
2)不止一条rpc协议的数据(粘包)
3)不够一条rpc协议的数据(半包)
针对这些可能发生粘包核半包情况,netty提供了很多解码器,这里使用:

LengthFieldBasedFrameDecoder
这个解码器是基于长度的帧解码器,需要定义最大的帧有多少字节(自定义的rpc协议的数据包最大长度不能超过帧的大小,否则就会抛出异常),只要数据长度不超过最大帧数据,就会按照实际长度进行解码。

下面来看看为什么LengthFieldBasedFrameDecoder能够解决粘包或者半包

假设rpc协议的数据,长度用4个字节表示。(半包情况)

1)接收到的数据首先会进入到系统的缓冲区中,当读取长度的时候,缓存区数据不够四个字节,就等待够四个字节了在读取,这样就保证先读取到数据长度,假设读取到的长度值是512,表示内容的部分有512个字节。
2)当拿到长度以后,就要读取内容部分了,当缓冲区的数据不够512字节的时候,就等够512个字节以后,就读取512个字节,多余的部分会进行下一个解码。。

假设rpc协议的数据,长度用4个字节表示。(粘包情况)

1)先读取到数据长度,假设读取到的长度值是512,表示内容的数据有512个字节。
2)当拿到长度以后,就要读取内容部分了,这里只会读取512个字节,多余的部分会进行下一个解码。

这样长度的4个字节的数据+内容的512个字节的数据=516个字节的rpc协议数据就接收完成了,然后通过后续的解码器解码成对应的java对象,可以在代码中使用这样java对象进行后续业务操作。

1.3 动态代理

在rpc的客户端,能够获取service的代理对象,这个代理对象,内部通过netty封装网络请求,rpc协议的数据编解码。

1.4 整体流程

客户端请求注册中心找到某个服务接口的地址列表,然后从地址列表中选一个地址(这个过程也叫负载均衡);
然后通过实现InvocationHandler的invoke方法,在invoke方法里面里面会把接口名、方法参数、方法参数类型等信息封装成一个java请求对象,这个java请求对象在客户端经过一系列的编码器编码成rpc协议(字节数据)发送给服务端;
服务端接收到rpc协议数据以后,经过一系列解码器把rpc协议数据解码成java请求对象,然后进行后续业务操作,生成java响应对象;
服务端把java响应对象通过一系列编码器编码成rpc协议数据发送给客户端,客户端经过一些列解码器变成java响应对象。

2.项目结构

2.1 公共部分

service (服务接口)
register (注册中心)
protocol (rpc协议)
context (rpc上下文)
codec (rpc调用编解码)

2.2 服务端

server

2.3 客户端

client

总结

通过netty实现rpc服务,需要定义rpc协议,用来客户端和服务端数据交互,服务端通过监听端口,客户端tcp连接服务端,然后发送和接收数据,这个数据交互的过程,需要把数据序按照rpc协议的格式进行编解码,客户端通过动态代码封装网络请求,产生接口的代理对象。

http://www.15wanjia.com/news/19388.html

相关文章:

  • 手机微网站怎么制作百度霸屏推广多少钱一个月
  • wordpress系统管理密码忘记青岛百度推广优化怎么做的
  • wordpress 评论回复邮件通知优化清理大师
  • 清理wordpress头部百度seo可能消失
  • 苏州手机网站建设企业做推广有几种方式
  • 最讨厌网站苏州百度关键词优化
  • 网站推广seo优化企业培训考试app
  • 海口做网站多少钱seo优化软件大全
  • 简约网站模板文职培训机构前十名
  • 优秀网站设计模板种子搜索神器在线搜
  • 动画设计怎么自学广州网站营销seo
  • 做技术分享网站 盈利免费刷赞网站推广免费
  • 建个自己的网站难吗百度服务商
  • 婚恋网站怎么做windows优化大师的优点
  • 兼容ie8的网站模板北京搜索引擎优化经理
  • 网页设计个人网站怎么做18款禁用软件黄app免费
  • 网页设计与网站规划b2b网站推广排名
  • 多功能垫块机石家庄百度快速排名优化
  • 做车贷的网站商品标题seo是什么意思
  • 网站应用软件设计网络营销环境分析
  • wordpress highlightseo研究中心教程
  • 做网站域名的成本优化网站排名
  • 无锡网站建设课程网上引流推广怎么做
  • 做网站背景图片网站规划
  • 常用的博客建站程序自助建站系统软件
  • 空压机网站开发公司外链是什么意思
  • wordpress 秀温州网站建设优化
  • 找什么样的公司帮助做网站口碑营销案例
  • 钦州市建设网站阿里巴巴指数查询
  • 企业网站的建设论文html制作网页代码