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

免费域名空间申请seo自动排名软件

免费域名空间申请,seo自动排名软件,网站配色 标记色,百度推广多少钱一天一、什么是RPCRPC是“远程调用#xff08;Remote Procedure Call#xff09;”的一个名称的缩写#xff0c;并不是任何规范化的协议#xff0c;也不是大众都认知的协议标准#xff0c;我们更多时候使用时都是创建的自定义化#xff08;例如Socket#xff0c;Netty#… 一、什么是RPCRPC是“远程调用Remote Procedure Call”的一个名称的缩写并不是任何规范化的协议也不是大众都认知的协议标准我们更多时候使用时都是创建的自定义化例如SocketNetty的消息方式进行调用相比http协议我们省掉了不少http中无用的消息内容。因此很多系统内部调用仍然采用自定义化的RPC调用模式进行通信毕竟速度和性能是内网的关键指标之一而标准化和语义无关性在外网中举足轻重。所以为何API网关无法工作在RPC上因为它没有一个像HTTP/HTTPS那样的通用标准。二、CzarRpc简介CzarRpc是作者基于Dotnetty实现的RPC通讯框架参考了Surging和Tars.Net优秀设计目前正在内部使用中下面就CzarRpc调用方式做一个简单介绍测试结构如下1、服务接口新建一个Czar.Rpc.Common类库首先需要引用Czar.RpcNuget包。然后定义测试接口IHelloRpc.cs也是目前支持的调用方式。2.服务端新建一个控制台程序Czar.Rpc.Server然后实现服务接口因为都是测试数据所以就随意实现了方法。HelloRpcServer.cs然后启动服务端监听。启用外部使用CzarConfig.json的配置文件注意需要设置成始终复制。到此服务器端搭载完成。3、客户端新建客户端控制台程序Czar.Rpc.Client然后配置Rpc调用信息。现在开始启用客户端信息。现在整个RPC调用搭建完毕然后分别启动服务器端和客户端就可以看到屏幕输出内容如下。客户端输出服务器端输出至此整个CzarRpc的基本使用已经介绍完毕感兴趣的朋友可以自行测试。三、Ocelot增加RPC支持有了CzarRpc的通讯框架后现在在Ocelot上实现Rpc功能简直易如反掌现在开始添加我们的Rpc中间件也让我们扩展的网关灵活起来。还记得我介绍网关篇时添加中间件的步骤吗如果不记得的可以先回去回顾下。首先如何让网关知道这个后端调用是http还是Rpc呢这时应该会想到Ocelot路由配置里的DownstreamScheme可以在这里判断我们定义的是http还是rpc即可。同时我们希望之前定义的所有中间件都生效最后一步请求时如果配置下端路由rpc使用rpc调用否则使用http调用这样可以重复利用之前所有的中间件功能减少重复开发。在之前的开发的自定义限流和自定义授权中间件开发中我们知道开发完的中间件放到哪里使用这里就不介绍原理了直接添加到BuildCzarOcelotPipeline里如下代码。这里是在最后请求前判断使用的下游请求方式如果DownstreamScheme使用的rpc就使用rpc中间件处理。Rpc处理的完整逻辑是如何从http请求中获取想要解析的参数这里需要设置匹配的优先级目前设计的优先级为。1、首先提取路由参数如果匹配上就是用路由参数名称为key值为value按顺序组成第一批参数。2、提取query参数如有有值按顺序组成第二批参数。3、如果非Get请求提取body内容如果非空组成第三批参数4、从配置库里提取rpc路由调用的服务名称和函数名称以及是否单向调用。5、按照获取的数据进行rpc调用并等待返回。看了上面的设计是不是思路很清晰了呢1、rpc路由表设计2、提取远程调用方法根据上游路由获取远程调用的配置项目3、重写返回结果由于rpc调用后是返回的Json封装的信息需要解析成对应的HttpContent。4、rpc中间件逻辑处理有了前面的准备信息现在基本可以完成逻辑代码的开发了详细的中间件代码如下。5、启动Rpc客户端配置目前Rpc的客户端配置我们还没启动只需要在AddCzarOcelot中添加相关注入即可。6、配置客户端最后别忘了配置Rpc客户端信息是否启用证书信息为了配置信息的内容。现在让网关集成Rpc功能全部配置完毕。四、网关Rpc功能测试本次测试我在原有的网关基础上增加不同类型的Rpc调用就按照不同维度测试Rpc调用功能本次测试案例是建立在Czar.Rpc 服务端基础上正好可以测试。1、测试路由参数请求路径/hello/{no}/{name}调用的服务端方法Hello,传入的两个参数分别是no ,name。可以在服务器端添加断点调试发现确实接收到请求信息并正常返回下面是PostMan测试结果。2、使用Query方式传递参数请求路径/rpc/query,调用的服务端方法还是Hello,参数分别是no ,name。3、使用Post方式传递Json请求路径/rpc/body,调用的服务器方法是HelloSendModel。4、混合参数使用请求的路径/rpc/bodyparm/{name}调用的服务器端方法是HelloSendModelParm。所有的返回结果可自行调试测试发现都能达到预期结果。同时此网关还是支持默认的http请求的这里就不一一测试了。五、总结本篇我介绍了什么是Rpc以及Czar.Rpc的基本使用然后使用Czar.Rpc框架集成到我们基于Ocelot扩展网关中并实现了不能方式的Rpc调用可以在几乎不改变现有流程的情况下很快速的集成进去这也是Ocelot开发框架的魅力所在。如果在使用过程中有什么问题或建议可以在.NET Core项目实战交流群637326624中联系作者。最后本文涉及的所有的源代码可在https://github.com/jinyancao/czar.gateway中下载预览。
http://www.zqtcl.cn/news/325588/

相关文章:

  • 县 住房和城乡建设局网站wordpress接入支付宝
  • 网站建设初期推广方式天津网站建设案例
  • 销项税和进项导入是在国税网站做吗凡科网站模块
  • 苏州建网站皆去苏州聚尚网络常州企业建站系统
  • 网站建设明细wordpress 主题稳定
  • 网站设计论文前言怎么写肇庆网站开发哪家专业
  • 商城建站系统松江新城做网站公司
  • 长沙招聘做搜狗pc网站优化排
  • 辽宁智能建站系统价格金融做市场广告挂哪些网站
  • 做外贸的有哪些网站互动平台游戏
  • 网站设计最好的公司idc网站模板源码下载
  • 网站建设历史视频制作软件有哪些
  • 加盟网站制作定制桥的设计网站建设
  • 深圳做宣传网站的公司开发电商网站多少钱
  • 自适应网站建设公司什么是网站死链
  • 自己给网站做支付接口wordpress elementor
  • 中国最新军事新闻网站优化推广
  • 有没有做3d衣服模型网站php网站开发目的
  • 东莞网站建设方案咨询wordpress易企秀
  • 漳诈网站建设免费的企业网站建设
  • 广州番禺区有什么好玩的地方优化软件有哪些
  • 面包机做面包网站wordpress获取用户注册时间
  • 福州网站建设个人兼职泰州seo排名扣费
  • 泰安北京网站建设公司个人自我介绍网页
  • 网站建设适应全屏如何自动深圳市哪里最繁华
  • 杭州网站推广公司阿里云wordpress 安装目录
  • 厦门优秀网站建设app项目开发流程
  • 工作设计室网站海外网站代理
  • 室内设计官方网站没网站怎么做cpa
  • 哪个网站做欧洲旅游攻略好wordpress编辑器字体大小