Azure辅助角色上的并发连接

时间:2012-09-12 07:15:11

标签: azure tcp connection azure-worker-roles

我想知道在端口21上监听具有一个实例的azure工作者角色允许的最大并发连接数。

情景是:

我有一个工作者角色和端口的实例在21上打开,Tcplistener在端口21上侦听传入连接。我已经实现了异步,这样我就可以在处理其他客户端请求时收听它。

在azure部分,我想知道是否对Worker角色的端口21上的并发请求没有任何限制。

此致 的Vivek

2 个答案:

答案 0 :(得分:2)

我认为您应该首先了解网络原则。只有一个进程可以一次侦听网络接口上的特定端口和协议。如何处理通信?在一个非常简单的大纲中,情况如下(端口号和IP地址故意伪造):

  1. IP地址902.168.13.24上的端口21上有一个侦听器(没有其他进程可以侦听该端口,因此没有并发侦听器)
  2. 连接请求来自该IP地址和该端口的其他主机。
  3. 现在端口21已被占用,没有人可以连接到它(更多的传入连接排队)
  4. 在协议级别握手后,如果连接成功,前者将被移动到另一个(任意)套接字 - 即端口43251
  5. 释放端口21以接受其他连接。
  6. 接受队列中的下一个连接。
  7. 所有这些都发生在非常低​​的协议级别,开发人员(除非开发网络适配器驱动程序)看不到/关心此端口转移。

    现在真正的问题是,如何接受更多的并发连接。如果您正在开发自己的TCP服务器,则可以设置允许的最大连接数并自行管理(通过管理线程)。如果您使用其他第三方服务器 - 它应具有可配置选项,以允许最大数量的允许并发连接。

    您可以查看TCP Server here的简单实现。如您所见,有一个私有字段_maxConnections,用于处理连接。

    总结 - 与特定资源(套接字)的最大并发连接数取决于为该资源提供服务的服务器。例如,IIS8的默认最大并发连接限制设置为4294967295:

    IIS Max concurrent Connections

答案 1 :(得分:1)