惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
云风的 BLOG
云风的 BLOG
小众软件
小众软件
IT之家
IT之家
T
Tailwind CSS Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
美团技术团队
博客园 - 叶小钗
V
V2EX
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
罗磊的独立博客
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
月光博客
月光博客
有赞技术团队
有赞技术团队

博客园 - 小庄

如何正确的 DDD AI时代的领域驱动设计:DAD 我开发了个人工智能应用, 请大家给点意见 通过代理使用人工智能服务保姆级教程 OnionArch 2.0 - 基于DDD的洋葱架构改进版开源 根据MediatR的Contract Messages自动生成Minimal WebApi接口 MediatRPC - 基于MediatR和Quic通讯实现的RPC框架,比GRPC更简洁更低耦合,开源发布第一版 Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式 关于.Net 7.0 RC gRPC JSON 转码为 Swagger/OpenAPI文档的注意事项 OnionArch - 如何实现更新指定字段的通用Handler OnionArch - 采用DDD+CQRS+.Net 7.0实现的洋葱架构 Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务 Blazor+Dapr+K8s微服务之事件发布订阅 Blazor+Dapr+K8s微服务之状态管理 Blazor+Dapr+K8s微服务之开发环境调试 Blazor+Dapr+K8s微服务之服务调用 .Net Core 通过依赖注入和动态加载程序集实现宿主程序和接口实现类库完全解构 面向对象之"三段论" 使用WIX打包客户端程序
MediatRPC - 基于MediatR和Quic通讯实现的RPC示例,新增Serve...
小庄 · 2022-11-23 · via 博客园 - 小庄

大家好,我是失业在家,正在找工作的博主Jerry。今天发布MediatRPC的开源地址:github.com

文档增加了MediatRPC的架构图和架构说明(英文):

On the client side, it establishes a QUIC connection with the server side. The MediatR's standard methods like ''send/publish/createstream'' are implemented to open outbound bidirectional stream used to send and receive MediatR contract messages.
On the server side, it sets up a QuicListener to listen for client connections and accept the inbound stream when the client make the call after connected. It reads the request message from the stream and passes it to the MediatR handlers for processing, Then it writes the response message to the stream after processed.

通过MediatR的CreateSteam方法,我给MediatRPC增加了类似于GRPC的Server Stream功能,完整功能演示如下:

由于MediatR的CreateSteam方法只支持 IAsyncEnumerable<TResponse>,不支持IAsyncEnumerable<TRequest>,也就是说只能实现Server Stream,无法实现Clinet Stream 和 Bidirectional Stream。所以我给MediaR作者提了个Issue, Add support for IAsyncEnumerable<TRequest> · Issue #804 · jbogard/MediatR (github.com)