服务栈实例之间的通信

Communication between servicestack instances

我有 3 台服务器,每台都托管一个 servicestack REST 服务。它们连接成一条链。我想通过消息传递进行一些数据复制。 servicestack 有消息传递机制吗?或者我应该使用一些第三方工具?

最简单的方法是使用任何.NET ServiceClients并直接调用它的远程服务,例如:

var remoteService = new JsonServiceClient(remoteBaseUrl);
var response = remoteService.Post(new Request { ... })

您还可以使用 Redis MQ or RabbitMQ host 并在远程服务主机中注册处理程序。

根据您的用例,您还可以利用 ServerEvents .NET Client 支持来侦听与远程实例的持久连接上的事件。

此外,内置的 Pub/Sub support in Redis 在服务器之间提供了一个很好的远程 IPC 解决方案。