博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
企业级工作流解决方案(二)--微服务总体介绍
阅读量:6283 次
发布时间:2019-06-22

本文共 911 字,大约阅读时间需要 3 分钟。

  微服务好处和概念性的东西就不介绍了,对于微服务,个人认为并不是越复杂就越好,相反要结合自己公司的现状,适当的做一些裁剪,比如对于规模和业务量不是特别大的企业,就没有必要把服务总线,服务健康检查,服务路由选择,熔断等等加进来,相反,这一部分职责可以通过配置文件,nginx代理,api网关等等外围的技术来控制,当企业达到一定的规模之后,再来完善这部分内容,但是对于微服务处理过程来说,没有任何影响。

  我这里根据json-rpc 2.0标准,结合网上一些开源的微服务架构思想,采用dotnetty技术,搭建了一套轻量级的微服务通信组件,组件专注于Rpc Call这块的处理。

整体说明

先上一张图,Rpc socket调用过程

Rpc调用处理方式

     三种处理方式:1. Local本地调用,一个服务调用另一个服务,有可能另个服务都宿主到同一个应用程序中,这种情况直接走本地调用;2. Tcp调用,这个应该是最体现价值的一种方式,服务消费者和服务提供者分别宿主到企业内部服应用程序中,相互之间通信走Tcp通道;3. Http调用,对于服务消费者和服务提供者一个在企业外部,一个在企业内部,或者其他语言开发的应用程序交互需要简单的集成调用,这种可以走Http调用过程。

Socket消息传输

     直接基于dotnetty传输处理,dotnetty传输通道是串行的,服务端接收到消息的时候,每一个消息是异步线程完成处理的。

消息处理对象

      调用方需要构造消息对象,并对消息进行编码,生成消息唯一Id,线程阻塞,等待线程被唤醒。服务端接收到消息,对消息进行解码,答复客户端的时候,需要拿到客户端调用生成的消息Id回调客户端,客户端收到答复消息,根据消息Id唤醒等待线程。

Tcp Invoker和ProcessHandler

      主要是对Json-Rpc调用的请求和答复进行处理,并对内容进行处理,ProcessHandler需要创建服务委托对象,调用真正的服务。

微服务详细交互过程

先放一张图,后续对这种图进行详细的介绍。

 

转载于:https://www.cnblogs.com/spritekuang/p/10805472.html

你可能感兴趣的文章
精度 Precision
查看>>
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
网吧维护工具
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>