NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成
本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过。 快一个月没有写博文了,最近忙着两件事; 一:阅读刘墉先生的《说话的魅力》,以一种微妙的,你我大家都会经常遇见的事物,来建议说话的“艺术和魅力”,对于我们从事软件开发、不太善于沟通和表达的朋友来说,也算是一项软技能了,推荐喜欢阅读的朋友有时间阅读,给你不一样的阅读体验。 二:编写基于Net Core的Rpc框架。之前有朋友说如何将Rpc等整个体系集成到dotnet框架中,我想这篇博文会给你一个答案。 哦,对了,我不建议直接将代码直接复制下来然后去运行的朋友,因为这样你达不到学习的目的,也违背了笔者的初衷。谢谢理解。 一:简单回顾一下之前的介绍 继续贴上之前的一张图片 根据上面图,服务化原理可以分为3步: 服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测); 客户端需要开始调用服务的时候,首先去注册中心获取服务信息; 客户端创建远程调用连接,连接后服务端返回处理信息; 第3步又可以细分,下面说说远程过程调用的原理: 目标:客户端怎么调用远程机器上的公开方法 服务发现,向注册中心获取服务(这里需要做的有很多:拿到多个服务时需要做负载均衡,同机房过滤、版本过滤、服务路由过滤、统一网关等); 客户端发起调用,将需要调用的服务、方法、参数进行组装; 序列化编码组装的消息