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

郴州网站建设网站tcms系统

郴州网站建设网站,tcms系统,深圳网站建设哪家公司好,wordpress页面编辑分别使用dubbo协议和triple协议#xff0c;按照官方文档搭建Demo。 两个流程对比下来发现#xff0c;dubbo协议搭建起来比较简单直接#xff0c;定义好接口#xff0c;实现类#xff0c;然后启动provider和consumer就完事了。而triple协议则需要先定义proto文件 然后增加…分别使用dubbo协议和triple协议按照官方文档搭建Demo。 两个流程对比下来发现dubbo协议搭建起来比较简单直接定义好接口实现类然后启动provider和consumer就完事了。而triple协议则需要先定义proto文件 然后增加maven编译插件在maven编译时生成对应的接口类GreeterPOJO对象HelloReply、HelloRequest以及一些其他的辅助类用于后续定义接口实现时继承使用。 生成好之后需要导出的接口的实现需要继承自生成的DubboxxxTriple类 之所以要使用生成的类是为了完成Java与proto的互相转换。 后续的重点分析点在于 triple协议相比于dubbo协议多了哪些特性和优势使用这两种协议发起rpc请求的流程和接受到rpc请求的处理有哪些流程上的不同 目前已知tripple协议兼容http2.0和grpc更适用于云原生可以跨语言、跨端跨平台进行调用可以流式处理数据适用于直播等大数据包场景可以使用protobuf进行编解码 Dubbo3 triple流式编程示例 https://developer.aliyun.com/article/1097681 流式编程的应用场景 在一些大文件传输、直播等应用场景中consumer 或 provider 需要跟对端进行大量数据的传输由于这些情况下的数据量是非常大的因此是没有办法可以在一个RPC 的数据包中进行传输因此对于这些数据包我们需要对数据包进行分片之后通过多次 RPC 调用进行传输如果我们对这些已经拆分了的 RPC 数据包进行并行传输那么到对端后相关的数据包是无序的需要对接收到的数据进行排序拼接相关的逻辑会非常复杂。但如果我们对拆分了的 RPC 数据包进行串行传输那么对应的网络传输 RTT 与数据处理的时延会是非常大的。 为了解决以上的问题并且为了大量数据的传输以流水线方式在 consumer 与provider 之间传输因此 Streaming RPC 的模型应运而生。 通过 Triple 协议的 Streaming RPC 方式会在 consumer 跟 provider 之间建立多条用户态的长连接Stream。同一个 TCP 连接之上能同时存在多个 Stream其中每条 Stream 都有 StreamId 进行标识对于一条 Stream 上的数据包会以顺序方式读写。 我理解流式调用不再是传统的消费者和提供者的短暂的、单向通信而是消费者和提供者之间建立的持久的、双向通信 triple多语言兼容原理proto作为媒介定义接口和参数。 triple兼容grpc原理header里面包含所有grpc的header 此外dubbo 协议在线程模型上比较丰富而triple则比较单一。详见 https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/threading-model/provider/ 文档中可见dubbo对消费者的线程模型进行了一次优化主要是降低IO线程的开销将IO线程做的一些事情交给业务线程。 服务端的线程模型则比较多有五种。其实我比较关心的点在于dubbo这5种线程模型AllDispatcher、DirectDispatcher、MessageOnlyDispatcher、ExecutionDispatcher、ConnectionOrderedDispatcher他们有何选型上的考量。据我观察其实完成一次rpc通信主要的消耗有channel的sent、received、connected、disconnected、caught以及数据的编解码。这五种线程模型其实是把这些任务以不同的方式分散到IO和业务线程。如下图为All Dispatcher 。 那么在面对不同场景时如何对线程模型进行配置呢这些线程模型分别适用于怎么样的场景呢 https://zhuanlan.zhihu.com/p/157354148 这篇文章里我认为有句话说的很好 如果处理逻辑较为简单并且不会发起新的I/O请求那么直接在I/O线程上处理会更快因为这样减少了线程池调度与上下文切换的开销毕竟线程切换还是有一定成本的。如果逻辑较为复杂或者需要发起网络通信比如查询数据库则I/O线程必须派发请求到新的线程池进行处理否则I/O线程会被阻塞导致处理IO请求效率降低。 也就是说如果本次请求是一次快速的操作那么大可以在IO线程中进行因为进行上下文切换反而会更加耗时。但如果是一次耗时的操作那么就推荐交给业务线程来处理防止IO线程被占满。 怎么去判断本次是不是快速地呢我认为有两个方面一个是是否进行了多次网络通信或者磁盘IO另一个是 接收/响应的数据量是否过大导致编解码过于耗时。
http://www.yutouwan.com/news/93598/

相关文章:

  • 电子商务网站建设的发展趋势网站代码调试
  • 网站开发费用如何记账微信的网址链接
  • 手机百度登录入口沈阳网站搜索引擎优化
  • 网站设计与开发培训php 网站下载器
  • 做网站原型图软件贾汪区住房和城乡建设局网站
  • .我爱你 网站手机淘宝网页
  • 网站载入页面怎么做权重2的网站
  • 长春网站开发公司哪家好中国建设人才网络学院登录入口
  • 互动网站设计与制作公司软件网站开发怎么入账
  • 安康企业网站建设价格社交电商系统开发
  • 深圳建设工程交易服务中心网站北京矿建建设集团有限公司 网站
  • 网站的开发平台什么系统做网站最安全
  • wordpress网站嵌入商城wordpress 页面分栏
  • 做网站 赚广告费wordpress 快讯模板
  • 福州网站建设优质服务商个人网站做企业备案吗
  • 新网站怎么做seo大连网站流量优化定制
  • 建设一个行业性的网站价格平面设计是什么意思
  • 网站排名易下拉教程手游推广渠道
  • 建立用模板建立网站那些网站专门做游戏辅助的
  • 做壁纸网站厨师培训
  • PHP网站建设计划书烟台网站建设加企汇互联专业
  • 连云港网站建设报价html5video网站
  • 网站换域名怎么做个体工商户营业执照
  • 做超链接网站的代码嘉兴网站建设技术托管
  • 网站内容保护建设介绍网站
  • 建网站 南京优秀购物网站
  • 网站找哪些单位做实名认证怎么给网站做反链
  • 临沂网站建设兼职上海关键词排名推广
  • 网站建设公司哪家好?该如何选择网站建设 不违背
  • 网站域名被重定向wordpress不显示图片