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

seo站内优化站外优化制造业网站开发

seo站内优化站外优化,制造业网站开发,锦州市城市建设服务中心网站,手机图标 wordpress什么是RPC#xff1a; RPC#xff08;Remote Procedure Call Protocol#xff09;——远程过程调用协议#xff0c;它是一种通过网络从远程计算机程序上请求服务#xff0c;而不需要了解底层网络技术的协议。 简言之#xff0c;RPC使得程序能够像访问本地系统资源一样 RPCRemote Procedure Call Protocol——远程过程调用协议它是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议。 简言之RPC使得程序能够像访问本地系统资源一样去访问远端系统资源。 比较关键的一些方面包括通讯协议序列化资源接口描述服务框架性能语言支持等。 典型RPC调用框架 RPC的实现和调用框架五花八门简单介绍其中几种比较典型的。 RMI实现利用java.rmi包实现基于Java远程方法协议(Java Remote Method Protocol) 和java的原生序列化。 Hessian是一个轻量级的remoting onhttp工具使用简单的方法提供了RMI的功能。 基于HTTP协议采用二进制编解码。 protobuf-rpc-pro是一个Java类库提供了基于 Google 的 Protocol Buffers 协议的远程方法调用的框架。基于 Netty 底层的 NIO 技术。支持 TCP 重用/ keep-alive、SSL加密、RPC 调用取消操作、嵌入式日志等功能。 THRIFT是一种可伸缩的跨语言服务的软件框架。它拥有功能强大的代码生成引擎无缝地支持C C#JavaPython和PHP和Ruby。thrift允许你定义一个描述文件描述数据类型和服务接口。依据该文件编译器方便地生成RPC客户端和服务器通信代码。    最初由facebook开发用做系统内个语言之间的RPC通信 。 2007年由facebook贡献到apache基金 现在是apache下的opensource之一 。 支持多种语言之间的RPC方式的通信php语言client可以构造一个对象调用相应的服务方法来调用java语言的服务 跨越语言的C/S RPC调用 。 底层通讯基于SOCKET。 AVROAvro出自Hadoop之父Doug Cutting, 在Thrift已经相当流行的情况下Avro的推出其目标不仅是提供一套类似Thrift的通讯中间件更是要建立一个新的标准性的云计算的数据交换和 存储的Protocol。支持HTTPTCP两种协议。 RPC调用框架的过程原理基本类似以Thrift为例 Thrift 协议栈 以及各层的使用java 为例 1、model   interface 服务的调用接口以及接口参数model、返回值model 2、Tprotocol    协议层 将数据model编码 、解码 。 3、Ttramsport 传输层 编码后的数据传输简单socket、http 5、Tserver 服务的Tserver类型实现了几种rpc调用多线程、单线程非阻塞IO、多线程非阻塞IO RPC调用框架比较 Thrift与protobuf-rpc-pro比较 1、Another important difference are the languages supported by default.    protobuf: Java, C, Python    Thrift: Java, C, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, Ocaml 支持语言不同thrift支持着更多的语言 2、Thrift supports ‘exceptions 。 thrift支持服务的异常 。 3、Protocol Buffers much easier to read 。Protobuf API looks cleaner, though the generated classes are all packed as an inner classes which is not so nice. Protocol Buffers 在文档方面比thrift丰富而且比thrift简单 。 4、Protobuf serialized objects are about 30% smaller then Thrift. Protocol Buffers在序列化/反序列化、传输上性能更优 。 5、RPC is another key difference. Thrift generates code to implement RPC clients and servers wheres Protocol Buffers seems mostly designed as a data-interchange format alone.  thrift提供了一套完整的rpc服务实现多线程socket、单线程非阻塞的socket、多线程非阻塞socket 6、And according to the wiki the Thrift runtime doesnt run on Windows. thrift 对有些语言在windows上不支持C   摘选自 http://gemantic.iteye.com/blog/1199214 thrift的使用介绍 Apache Avro 与 Thrift 比较 转自网络http://www.360doc.com/content/12/0515/08/2716732_211104190.shtml 文章有比较详细的对比值得仔细研读。摘部分内容如下。 Avro和Thrift都是跨语言基于二进制的高性能的通讯中间件. 它们都提供了数据序列化的功能和RPC服务. 总体功能上类似但是哲学不一样. Thrift出自Facebook用于后台各个服务间的通讯,Thrift的设计强调统一的编程接口的多语言通讯框架. Avro出自Hadoop之父Doug Cutting, 在Thrift已经相当流行的情况下Avro的推出其目标不仅是提供一套类似Thrift的通讯中间件更是要建立一个新的标准性的云计算的数据交换和 存储的Protocol。 这个和Thrift的理念不同Thrift认为没有一个完美的方案可以解决所有问题因此尽量保持一个Neutral框架插入不同的实现并互相交互。 而Avro偏向实用排斥多种方案带来的 可能的混乱主张建立一个统一的标准并不介意采用特定的优化。Avro的创新之处在于融合了显式,declarative的Schema和高效二进制的 数据表达强调数据的自我描述克服了以往单纯XML或二进制系统的缺陷。Avro对Schema动态加载功能是Thrift编程接口所不具备的符合 了Hadoop上的Hive/Pig及NOSQL 等既属于ad hoc又追求性能的应用需求。 目前阶段Thrift比Avro支持的语言更丰富. Thrift: C, C#, Cocoa, Erlang, Haskell, Java, Ocami, Perl, PHP, Python, Ruby, Smalltalk. Avro: C, C, Java, Python, Ruby, PHP. Avro和Thrift处理Schema方法截然不同。 Thrift是一个面向编程的系统, 完全依赖于IDL-Binding Language的代码生成。 Avro支持2种方式。Avro-specific方式和Thrift的方式相似依赖代码生成产生特定的类并内嵌JSON Schema. Avro-generic方式支持Schema的动态加载用通用的结构(map)代表数据对象不需要编译加载直接就可以处理新的数据源。 Avro的Schema文件有三种格式依次是avdl,avpr,avsc后两种是json格式avdl可以转成avpr。 java -jar avroj-tools.jar idl src/test/idl/input/namespaces.avdl /tmp/namespaces.avpr 关于序列化avro的机制有更好的数据的透明度和可操作性更高的存储效率。 Thrift提供了多种序列化的实现 TCompactProtocol: 最高效的二进制序列化协议但并不是所有的绑定语言都支持。 TBinaryProtocol: 缺省简单二进制序列化协议. RPC服务 Avro提供了 HttpServer : 缺省,基于Jetty内核的服务. NettyServer: 新的基于Netty的服务. Thrift提供了 TThreadPolServer: 多线程服务 TNonBlockingServer: 单线程 non blocking的服务 THsHaServer: 多线程 non blocking的服务 性能测试Benchmarking两者差相仿佛。 Conclusion Thrift适用于程序对程序静态的数据交换要求schema预知并相对固定。 Avro在Thrift基础上增加了对schema动态的支持且性能上不输于Thrift。 Avro显式schema设计使它更适用于搭建数据交换及存储的通用工具和平台,特别是在后台。 目前Thrift的优势在于更多的语言支持和相对成熟 比较分析结论 基于以上三种框架比较分析个人决定采用AVRO框架。 相关资源 protobuf-rpc-pro-demo-1.1.0及源码 包含在附件中该文件包中包含一个1.1.0版本的运行环境bin,lib中以及最新3.3版本的demo源码和protobuf-rpc-pro源码。相关代码在官网都可以下载到 http://code.google.com/p/protobuf-rpc-pro/ protobuf-rpc-readme个人的一点总结 thrifttest源码包含在附件中该项目包含一个rmi的实现以及thrift的实现。 Avrotest源码包含在附件中该项目包含官网提供的一个数据序列化反序列化的两种实现SpecificMainGenericMainSpecific方式的接口调用MailMain*Generic方式的多接口调用包含http方式和netty方式http/,netty/;项目涵盖了三种不同的Schema格式。 本文附件下载: tech_blog.zip (4.5 MB)
http://www.zqtcl.cn/news/2331/

相关文章:

  • 哪些域名适合营销型网站网站海外推广公司
  • 衡阳网站建设价格国人原创wordpress cms模板:hcms
  • 小网站关键词公司网站怎么做网站备案
  • 网站建设规划书模板西安网站创建
  • 抖音做我女朋友的网站无代码开发原理
  • 做英文网站 用阿里服务器行吗新办公司网上核名在哪个网站做
  • 官方网站建设对比广东网站系统建设
  • 网站开发需求逻辑图专门做网站建设的公司
  • 网站建设广告背景图傻瓜式网站制作
  • 网站建设佰首选金手指十八上海企业网站制作多少钱
  • 凡科 做网站上海发布官网最新版
  • 建一个淘宝客网站要多少钱3g手机网站源码
  • 怎样做宣传网站网页游戏排行榜前十名3d
  • 餐饮网站建设优化建站电子插件加工厂生产线
  • 自己能制作免费网站吗网站专栏建设情况
  • 代刷网站只做软件吗seo的优化方向
  • 公司做网站 分录别人发我网站外链会降权我吗
  • 吴中区网站建设商务网站的特点
  • 冒用公司名做网站镇海区建设工程安监站网站
  • 网站建设小组的运营模式网站你应该明白我的意思吗
  • 网站怎么做分时wordpress清空演示数据
  • 深圳建站公司告诉你十个建站步骤济南网站建设泉诺
  • 门户网站有哪些企业网站建设用什么语言
  • 没有数据怎么做网站网站图片最大尺寸是多少
  • 福安网站定制专业做淘宝网站绍兴
  • 分类信息网站建设价格沈阳世纪兴网站制作
  • 网页制作与网站建设英文翻译建一个门户网站多少钱
  • 企业网站建设硬件wordpress主页显示分类
  • 网站制作自己做本地架设wordpress
  • 在线网站建设教程ftp wordpress