我正在尝试为 Service Fabric 中的多租户容器化 ASP.NET MVC 应用程序获得概念证明。这个想法是每个客户将获得 1+ 个应用程序实例,这些实例分布在整个集群中。我无法绘制出来的一件事是路由。
每个应用程序都将与此 SO answer类似地进行分区。到目前为止的计划是让外部负载平衡器将每个请求路由到 SF 反向代理服务。
例如:
tenant1.myapp.com
将被路由到反向代理<SF cluster node>:19081/myapp/tenant1
(19081 是 SF 反向代理的默认端口)、tenant2.myapp.com
-><SF Cluster Node>:19081/myapp/tenant2
等,然后代理会将其路由到node:port
应用程序实例正在侦听的正确位置。
由于每个应用程序都必须映射到不同的端口,因此 SF 计划在创建每个应用程序时动态分配一个端口。这似乎并不完全可扩展,因为理论上我们可以达到端口限制(~65k)。
那么我的问题是,这是一种有效/建议的方法吗?有更好的方法吗?有没有我遗漏/忽略的东西?我是 SF 的新手,所以任何帮助/见解将不胜感激!