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

十大软件公司排名高淳seo外包公司

十大软件公司排名,高淳seo外包公司,centos7 wordpress安装,山西格泰网站建设RPC 是Remote Procedure Call的缩写#xff0c;译为远程过程调用。是一个计算机通信协议。 1、为什么需要远程调用 在如何给女朋友解释什么是分布式这一篇文章中介绍过#xff0c;为了提升饭店的服务能力#xff0c;饭店从一开始只有一个负责所有事情的厨师发展成有厨师、切…RPC 是Remote Procedure Call的缩写译为远程过程调用。是一个计算机通信协议。 1、为什么需要远程调用 在如何给女朋友解释什么是分布式这一篇文章中介绍过为了提升饭店的服务能力饭店从一开始只有一个负责所有事情的厨师发展成有厨师、切菜师、备菜师等多个角色。 在饭店只有一个厨师的时候厨师想要做出一道美味的番茄炒蛋的时候他需要自己洗番茄、切番茄、打鸡蛋、炒菜。整个过程不需要其他人参与自己就完全可以完成了。这就是古老的集中式应用中一台单体计算机就可以搞定所有事情了。 制作番茄炒蛋{厨师-洗菜-切菜-炒菜 } 随着饭店发展需要明确分工让专业的人负责专业的事儿。所以整个做菜过程中不再只有厨师参与了。需要有多个角色备菜师傅负责准备番茄和鸡蛋、切菜师傅负责切菜、厨师只要负责炒菜就行了。 但是随着分工明确制作番茄炒蛋的过程不再是只有一个人参与的过程了。这个过程中需要多方协作。厨师准备炒菜之前需要先通知备菜师傅和切菜师傅前序工作准备好之后才能进行炒菜。 制作番茄炒蛋{备菜师-洗菜切菜师-切菜厨师-炒菜 } 这种情况下厨师就要依赖很多外人来参与这个炒菜工作。而他在通知备菜师帮他洗菜通知切菜师傅帮他切菜的时候这个过程就是远程过程调用。 大多数情况下一般是服务员直接到厨房下单然后后厨有一个人员分别把菜单分发给备菜师、切菜师和厨师。 这个过程就和计算机系统很像了。如今的大型网站都是分布式部署的。拿一个下单流程来说可能涉及到物流、支付、库存、红包等多个系统后而多个系统又是分别部署在不同的机器上的分别由不同的团队负责。而要想实现下单流程就需要用到远程调用。 下单{库存-减少库存支付-扣款红包-红包抵用物流-生成物流信息 } 2、到底什么是远程过程调用 RPC 是指计算机 A 上的进程调用另外一台计算机 B 上的进程其中 A 上的调用进程被挂起而 B 上的被调用进程开始执行当值返回给 A 时A 进程继续执行。 调用方可以通过使用参数将信息传送给被调用方而后可以通过传回的结果得到信息。而这一过程对于开发人员来说是透明的。 就像后厨的例子一样服务员把菜单传给后厨厨师告诉备菜师和洗菜师开始工作然后他等待他们完成工作。备菜师和洗菜师工作完之后厨师开始炒菜。这个过程对于服务员来说其实是透明的他不需要关心到底后厨是怎么做菜的。 由于各服务部署在不同机器上要想在服务间进行远程调用免不了网络通信过程服务消费方每调用一个服务都要写一坨网络通信相关的代码不仅复杂而且极易出错。 如果有一种方式能让我们像调用本地服务一样调用远程服务而让调用者对网络通信这些细节透明那么将大大提高生产力比如服务消费方在执行orderService.buy(HHKB键盘)时实质上调用的是远端的服务。这种方式其实就是RPC。而提供了这种功能的工具我们称之为RPC框架。 在RPC框架中主要有三个角色Provider、Consumer和Registry。如下图所示 Server: 暴露服务的服务提供方。 Client: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 服务提供方和服务消费方都比较好理解就是后厨的洗菜师和厨师啦。厨师就是服务消费方洗菜师就是服务提供方。厨师依赖洗菜师提供的服务。 服务注册中心又是个什么东西呢 其实这个也比较好理解。对于那种很大的饭店来说厨师可能有很多集群部署洗菜师也有很多集群部署。而厨师想要洗菜师帮忙洗菜的时候他不会直接找某个洗菜师而是通知一个中间人这个人可能是洗菜师团队的领导也可能就是一个专门协调后厨的人员。他知道整个厨房有多少洗菜师也知道哪个洗菜师今天来上班了需要先进行服务注册。而且他还可以根据各个洗菜师的忙碌情况动态分配任务负载均衡。 这个中间人就是服务注册中心。 服务提供者启动后主动向注册中心注册机器ip、port以及提供的服务列表 服务消费者启动时向注册中心获取服务提供方地址列表可实现软负载均衡和Failover 3、实现RPC需要用到的技术 一个成熟的RPC框架需要考虑的问题有很多这里只介绍实现一个远程调用需要用到的基本技术感兴趣的朋友可以找一些开源的RPC框架代码来看下。 动态代理 生成 client stub和server stub需要用到Java 动态代理技术我们可以使用JDK原生的动态代理机制可以使用一些开源字节码工具框架 如CgLib、Javassist等。 序列化  为了能在网络上传输和接收 Java对象我们需要对它进行序列化和反序列化操作。 可以使用Java原生的序列化机制但是效率非常低推荐使用一些开源的、成熟的序列化技术例如protobuf、Thrift、hessian、Kryo、Msgpack NIO 当前很多RPC框架都直接基于netty这一IO通信框架比如阿里巴巴的HSF、dubboHadoop Avro推荐使用Netty 作为底层通信框架。 服务注册中心  可选技术 Redis、Zookeeper、Consul、Etcd 参考资料 https://www.jianshu.com/p/dbfac2b876b1 4、开源RPC框架 Dubbo Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架使得应用可通过高性能的 RPC 实现服务的输出和输入功能可以和 Spring框架无缝集成。目前已经进入Apache孵化器。 Motan Motan是新浪微博开源的一个Java RPC框架。2016年5月开源。Motan 在微博平台中已经广泛应用每天为数百个服务完成近千亿次的调用。 gRPC gRPC是Google开发的高性能、通用的开源RPC框架其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计基于ProtoBuf(Protocol Buffers)序列化协议开发且支持众多开发语言。本身它不是分布式的所以要实现上面的框架的功能需要进一步的开发。 thrift thrift是Apache的一个跨语言的高性能的服务框架也得到了广泛的应用。 原文链接漫话如何给女朋友解释什么是RPC
http://www.zqtcl.cn/news/155733/

相关文章:

  • 江阴做网站的地方网站维护需要的知识
  • 做网站是域名怎么申请网页设计跟做网站一样吗
  • 叮当快药网站谁做的网站开发遇到的最大困难
  • 一个域名可以建几个网站毕业设计可以做哪些简单网站
  • 知名商城网站建设报价wordpress 后台 logo
  • 单位网站建设框架yellow网站推广联盟
  • html5和php做网站做网站租用服务器
  • 网站开发中效率较高的编程语言公司域名注册流程
  • 万户网站管理系统4.0cms监控系统手机版下载
  • 宁波专业网站建设怎么做如何做一个虚拟网站
  • 网站栏目建设调研公司怎么建立一个网站
  • 苍溪建设局网站网站建设和维护采购协议
  • 代做网站微信号下载 wordpress插件
  • 泉州住房建设局网站wordpress输入html代码
  • 为什么访问外国网站速度慢沈阳网站公司排名
  • 网站建设+泰安网站项目建设策划方案
  • 微信人生里面微网站怎么做wordpress 第三方登录 代码
  • 做商城网站哪里高端大气网站案例
  • 网站做项目网站设计公司深
  • 学校做网站及费用建设网站有何要求
  • 河北邢台移动网站建设宁波网站开发公司电话
  • 免费建立个人网站申请seo搜索引擎优化推广
  • 如何拷贝服务器里面网站做备份金融网站怎么做的
  • 什么网站做的比较好网上投资网站建设
  • 公司网站运营方案策划办网站怎么赚钱
  • 贾汪区建设局网站设计接单兼职网站
  • 东莞商城网站建设哪家便宜wordpress 插件路径
  • 网站服务器 安全快递系统专注快递企业网站开发
  • 旅游网站平台建设的方案深圳移动官网网站建设
  • 如何建设企业人力资源网站网站建设和网络优化的区别