从远程位置访问 Service Fabric RPC 接口

Posted

技术标签:

【中文标题】从远程位置访问 Service Fabric RPC 接口【英文标题】:Accessing Service Fabric RPC interface from remote location 【发布时间】:2017-10-09 09:47:03 【问题描述】:

有没有办法从远程位置调用 Service Fabric 服务公开的 RPC 端点?

此代码创建的客户端能够访问同一台机器上的服务结构公开的 RPC:

var client = ServiceProxy.Create<ISomeRpcInterface>(
    new Uri("fabric:/AppName/ServiceName"), 
    null, 
    TargetReplicaSelector.Default, 
    "ListenerName");

你知道是否有可能以一种使我能够从远程位置访问 RPC 端点的方式构造这个 URI(我可以在这里以某种方式提供域/IP)吗?我尝试了最明显的方法来做到这一点,但没有奏效。

我需要这个功能来编写一个测试来检查 RPC 接口是否设置正确。

【问题讨论】:

【参考方案1】:

据我所知,ServiceProxy 实例无法解析集群外的 URL。话虽如此,您可能能够公开命名服务并直接与之通信,尽管我怀疑结果会不会很漂亮。

一般来说,大多数解决方案似乎都围绕着将服务公开为 HTTP,然后在外部客户端上使用反向代理。

【讨论】:

以上是关于从远程位置访问 Service Fabric RPC 接口的主要内容,如果未能解决你的问题,请参考以下文章

使用 MSI 从本地 Service Fabric 群集访问 Key Vault

Service Fabric TCP 反向代理

如何为远程 Service Fabric 集群创建 Actor 代理

远程处理时 Service Fabric 上的重复请求

Service Fabric 对无状态服务的远程调用未返回、卡住

Web API Service Fabric 应用程序提供未经授权的