我正在尝试在Azure功能应用程序隔离进程中运行Orleans思洛存储器。第一次它似乎运行得很好,但几个小时后,该功能因连接错误而失败错误日志
我在OrleansMembershipTable中发现,许多思洛在那里注册了私人IP地址(192.168.7.32、192.168.4.108、192.168.7.254…(显然,功能应用程序不断被实例化和处理OrleansMembershipTable
好吧,这是可能发生的,但我的问题是,如果一个思洛存储器已经死了,奥尔良不应该自动处理它吗?
或者不可能在独立功能应用程序中运行思洛存储器?我可以找到一些使用分离的Azure web作业(思洛存储器(+功能应用程序(奥尔良客户端(的例子,这是有道理的,但我更喜欢一个单一的应用程序,更简单的架构
这是一种用户错误:我在本地开发和Azure部署中使用了相同的部署id,但他们彼此无法确认死亡或死亡,从而扰乱了服务。
我已经为我的本地开发和Azure部署分离了集群id,如屏幕截图所示:
会员表
然后一切都很好。尽管Azure功能应用程序偶尔会重新启动,但它们会立即检测到死竖井并清理状态。
对于像我这样可能会花时间的人来说,结论是Function App无法托管思洛存储器,因为Function App实例无法相互通信。可能有一些方法可以在专用计划中建立虚拟网络,但在消费/高级计划中则不然。我们的微软联系人非常坚决地不使用功能应用程序托管奥尔良
现在我们使用的是Azure Container App