我有一个多租户方案(每个租户都有自己的Service Fabric应用程序实例)租户可以激活/停用各个Service Fabric Services(我们将服务作为扩展概念公开给UI中的租户)。 / p>
示例:租户#1激活电子邮件扩展,该扩展将激活电子邮件服务架构服务。
要求:
当前实施
以下列方式处理扩展程序的激活(使用上面的电子邮件示例):
上面的方案工作,服务启动并可以读取smtpserver配置。然而,租户的经验并不是最佳的。
问题
在升级期间,由于在Service Fabric中正在进行升级期间无法更改配置,因此无法激活其他服务。
因此,租户必须等到应用程序升级(需要几分钟)才能再次激活/取消激活扩展。如果租户想激活10个分机,则需要等待很长时间。
我尝试过以下操作来缩短升级时间:
升级过程仍然需要很长时间(大约一分钟)。
问题
由于我们只想更改Service Fabric应用程序参数,还有其他方法可以加快升级过程或完全解决它吗?
注意:由于技术限制,我们无法批量扩展激活。每个扩展必须在当时激活一个。
答案 0 :(得分:1)
由于您能够在激活和取消激活时动态创建和删除服务,您是否考虑将所需配置作为初始化数据参数传递给服务创建?
请注意,创建服务后无法更改初始化数据。