运行 Azure 功能应用隔离进程中的奥尔良筒仓

Running Orleans Silo in Azure function app isolated process

我正在尝试 运行 Azure 函数应用程序隔离进程中的 Orleans 筒仓。 第一次似乎 运行ning 正常,但几个小时后该功能因连接错误而失败 Error logs

我在 OrleansMembershipTable 中发现许多 Silos 在那里注册了私有 IP 地址(192.168.7.32、192.168.4.108、192.168.7.254...)显然函数应用程序不断被实例化和处理 OrleansMembershipTable

好吧,它可能会发生,但我的问题是,如果筒仓已经死了,它不应该由 Orleans 自动处理,而不是通过与死筒仓的连接错误导致请求失败吗?

或者是否无法 运行 隔离功能应用程序中的筒仓?我可以找到一些使用分离的 Azure Web 作业(筒仓)+ 函数应用程序(Orleans 客户端)的示例,这是有道理的,但我更喜欢有一个单一的应用程序,更简单的架构

这是一种用户错误:我在本地开发和 Azure 部署中使用了相同的部署 ID,它们彼此无法确认死活,搞乱了服务。

我已将本地开发和 Azure 部署的集群 ID 分开,如屏幕截图所示:

Membership Table

然后一切正常。尽管 Azure 函数应用程序偶尔会自行重启,但它们会立即检测到死筒仓并清理状态。