0

我想创建一个使用ASP.NET Core作为前端使用Azure服务结构托管的服务。Azure服务结构,可以有状态的服务只有一个主要的?

如果我已经阅读文档正确则似乎是这里仅有的两个真正的选择来处理我的会话数据...

1 - 创建一个使用外部数据库如SQL Azure的存储无状态的服务会话信息。然后,我可以通过简单地增加实例数量并获得更多服务在节点上运行来进行扩展。只要Azure SQL数据库能够应付负载,那么一切都很好。这很吸引人,因为它很容易理解和实施。但它有额外的外部数据库成本。

2 - 创建一个使用可靠集合(字典)存储会话信息的有状态服务。我不想将会话分割成多个分区,因为会带来额外的复杂性。但是对于单个分区,我坚持只有一个主服务器实例。这降低了拥有外部数据库的成本。但不能扩展到两个或更多服务器实例。

我对文档的阅读意味着您只能拥有一台有状态服务分区的主服务器。我有这个权利吗?如果我能有更多的初选,那么有100个初选可以吗?

回答

1

不,你不能有100个初选。在有状态的服务中,分区是您扩展的方式。您只能对主副本执行写操作,主副本负责将该状态复制到辅助副本。

我不确定你的意思是多分区的额外复杂性。这将如何与多个初选不同。您仍然需要知道哪些主要数据保存/检索,这与分区无关。

相关问题