.NET 进程内队列 Channel 的入门与应用

Posted 云来雁去

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET 进程内队列 Channel 的入门与应用相关的知识,希望对你有一定的参考价值。

本文内容

最近,博主为 FakeRPC 增加了 WebSocket 协议的支持。这意味着,我们可以借助其全双工通信的特性,在一个连接请求内发送多条数据。FakeRPC 目前最大的遗憾是,建立在 HTTP 协议上而不是 TCP/IP 协议上。因此,考虑 WebSocket 协议,更多的是为了验证 JSON-RPC 的可行性,以及为接下来的要支持的 TCP/IP 协议铺路。也许,你从未意识到这些概念间千丝万缕的联系,可如果我们把每一次 RPC 调用都理解为一组消息,你是不是就能更加深刻地理解 RPC 这个稍显古老的事物了呢?在编写 FakeRPC 的过程中,我使用了 .NET 中的全新数据结构 Channel 来实现消息的转发。以服务端为例,每一个 RPC 请求经过 CallInvoker 处理以后,作为 RPC 响应的结果其实并不是立即发回给客户端,而是通过一个后台线程从 Channel 取出消息再发回客户端。 那么,博主为什么要舍近求远呢?我希望,这篇文章可以告诉你答案。

以上是关于.NET 进程内队列 Channel 的入门与应用的主要内容,如果未能解决你的问题,请参考以下文章

.NET 进程内队列 Channel 的入门与应用

.NET 进程内队列 Channel 的入门与应用

Swoole 中使用通道(Channel)实现协程间通讯(消息队列)

一文读懂 .NET 中的高性能队列 Channel

快速入门分布式消息队列之 RabbitMQ(下)

RabbitMQ的入门学习