Windows Azure中的Web角色缩放
发布时间:2020-12-14 05:54:22 所属栏目:Windows 来源:网络整理
导读:我已经将websocket服务器作为WebRole.cs的一部分实现,到目前为止,用户可以使用网站的URL和指定的端点连接到服务器.现在假设我有50,000个想要连接到websocket服务器的用户,我将需要更多的Web角色实例来处理负载. 我的问题是,如果有多个Web角色实例,这是否会导
我已经将websocket服务器作为WebRole.cs的一部分实现,到目前为止,用户可以使用网站的URL和指定的端点连接到服务器.现在假设我有50,000个想要连接到websocket服务器的用户,我将需要更多的Web角色实例来处理负载.
我的问题是,如果有多个Web角色实例,这是否会导致多个Web套接字服务器?即用户是否仍然只使用一个URL / IP进行连接并且彼此连接(例如,在广播消息时),或者用户是否需要输入不同的IP来连接到不同的websocket服务器(每个实例一个)并且仅连接到同一服务器/实例上的用户? 编辑:具体问题 因此,如果在连接上,用户被添加到: private static List<UserContext> Users = new List<UserContext>(); 在WebRole.cs中.我有一个广播方法: private static void Broadcast(String message) { foreach (UserContext uc in Users) { uc.Send(message); Console.WriteLine("Broadcasting to: " + Users.IndexOf(uc)); } } 是将消息广播给网站上的所有用户,还是每个实例都有自己的用户列表,因此只向连接到特定实例的用户广播? 解决方法
您要连接的网站URL实际上是负载均衡器的URL,而不是特定实例(与公共IP相同,后者是负载均衡器中的虚拟IP).当您添加更多实例时,负载均衡器会将流量定向到基础实例(通过循环法).除了公共URL和IP地址之外,您永远不必担心任何其他事情(例外情况是虚拟网络,不使用负载均衡器).
Alchemy UserContext具有Endpoint ClientAddress.单个服务器只有连接到它的用户的源地址,而不是其他服务器.您必须从两台服务器进行广播.因此,如果您在所有服务器上广播(),您将捕获所有用户.虽然重复,但要小心.单个用户可能存在于多个服务器上,因为NLB不执行粘性会话.确保您的客户端代码可以处理来自多个服务器的相同消息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – 如何查找本地用户帐户的创建日期?
- Windows Server 2008 服务器重启后卡死在Windows Update 页
- windows-phone-7 – 在Windows Phone 7中测试连接问题(使用
- win-universal-app – 编译UWP App时出错:“保留使用Windo
- Windows Server 2019 搭建DC域控
- 在Windows服务中托管 ASP.NET Core的坑
- 通过Windows命令行将TIFF转换为PDF
- Windows Server 2016有什么方法可以查看当前的raid 5设置状
- windows-phone-7 – 市场应用程序图标用法
- windows – IIS是否总是安装完全修补?
推荐文章
站长推荐
- .net – 如何打包单个文件的Windows EXE进行下载
- windows-server-2008 – 由数以千计建立的NTUSER
- .net – 如何以编程方式刷新Windows Mobile中的D
- Window丢失api-ms-win-crt-runtime-l1-1-0.dll
- 如何将EC2 Windows机器的instance-id转换为批处理
- 升级到Windows 10后,Git-Bash命令提示符将无法打
- windows – 使用音频电缆(或类似设备)从安全服务
- 在windows服务器开启php的gd库phpinfo中未发现
- iis-7 – Windows身份验证不适用于传统的ASP页面
- 是否可以在Windows主机上执行Vagrant Ansible配置
热点阅读