
微服务
文章平均质量分 81
ironinfo
这个作者很懒,什么都没留下…
展开
-
.net gRPC Client 集中配置、反射加载
目标 在调用 gRPC 服务时,避免重复写FromAddress(url)代码,而是通过配置文件反射加载 gRPC 服务。硬编码写法 假设我们在 proto 文件中定义了叫ServiceRPC 的 service,.net gRPC 会自动创建一个 ServiceRPCClient 类型,该类的构造函数中需要一个 channel,如下代码所示。using Grpc.Net.Client;namespace XXX{ public class Program ...原创 2021-07-22 10:55:30 · 1113 阅读 · 0 评论 -
.net gRPC CRUD 实战
目标 通过.net gRPC实现对数据库的增删改查。解决方案结构Protos 文件夹 存放 proto 文件,分为两组,一组定义message,一组定义rpc; Models .net standard 2.1 项目,导入message.proto,并通过 public partial class 扩展实体; Contract.net standard 2.1 项目,导入rpc.proto,引用Models项目,提供服务端和客户端调用; Service gRPC asp.n...原创 2021-04-15 16:17:50 · 396 阅读 · 0 评论 -
.net gRPC 初步上手
1. gRPC gRPC是谷歌推出的语言无关、平台无关的高性能RPC库,现已成为微服务集成的主要通讯手段,微软从.net core3.0开始将gRPC作为首选,系统学习可以看微软的文档。关于proto3的语法,这篇写的不错。2. 编辑proto文件 注意:proto文件应保存到解决方案中(例如Protos文件夹),而不是某项目下面,否则编译时生成的cs文件位置不对。 根据proto3的语法,把原来的业务实体定义为message,远程接口定义为service。 用...原创 2021-04-12 13:56:52 · 545 阅读 · 0 评论 -
Dotnetty 源码之:handler如何区分InBound 还是 OutBound
读Dotnetty代码时,发现所有 handler 的根是IChannelHandler 接口,这个接口里面的方法是按照 InBound,OutBound 分组的:InBound方法:ChannelActive ChannelInactive ChannelRead ChannelReadComplete ChannelRegistered ChannelUnregistered ChannelWritabilityChanged UserEventTrigge...原创 2021-02-16 15:41:49 · 527 阅读 · 0 评论 -
从传统架构向微服务架构转变的五个阶段(截取翻译)
最近在考虑将这些年写的若干个单体服务(monolithic)按照微服务方式重写一下,以便获得高可用性、高吞吐量、易维护性等好处。先是看了些关于Orleans的资料,觉得适合作为服务的基础架构,但怎么从传统服务向微服务转变,特别是服务的粒度问题还没搞明白,恰巧今天看到微软service-febric(Azure 版的Orleans)文档(https://docs.microsoft.com/...翻译 2019-07-08 14:55:22 · 603 阅读 · 0 评论