IT培训学校
IT设计、软件测试、前端、大数据等IT培训课程
北京、上海、广州、深圳等多个城市有校区
2011年达内获得高盛三轮融资后,达内又启动了“阳光计划”,希望帮助更多优秀的贫困学生接受高端IT教育;2012年,达内再次携手中国残疾人联合会启动第二期达内高端测试班,公益资助30名学生,帮助他们改变自己命运;2012年,达内得知佳木斯第十九中学老师张丽莉舍身救学生的事件后,第一时间向相关公益慈善为最美女教师组织捐款...
IT设计、软件测试、前端、大数据等IT培训课程
北京、上海、广州、深圳等多个城市有校区
为了更好地理解WS负载平衡,让我们深入了解TCP套接字的背景知识。默认情况下,一个单独的服务器可以处理65536套接字连接,因为65536是最大的TCP端口。因此,由于WS连接具有TCP特性,每个WS客户端占用一个端口,可以肯定地说,WebSocket的连接数量也是有限的。
在了解了主要的限制条件和解决方案后,让我们开始考虑负载平衡。以下我将描述在我们自己的项目中尝试的三种方法。请注意,所有系统部分都部署在AWS上,其中一些技巧和提示仅适用于Amazon的主机配置。
ELB方法
实现负载平衡最简单的方法是直接使用AWS提供的ElasticLoadBalancer方法。从ELB到TCP模式很容易切换,这使得任何类型的TCP连接的负载平衡成为可能,包括WebSockets。
该方法具有以下特点:
(1)LB自动故障恢复。
(2)负载平衡节点可自动伸缩;
(3)设置很简单。
基本上,对于大多数情况来说,这是一个很好的解决方案,在你遇到负载飞溅的增加之前。这种情况下,ELB运行缓慢,无法建立新的连接。可以联系Amazon,告诉他们预热ELB,但对我们来说不是好选择。基于负载测试的目的,当我们需要快速建立成千上万的WS连接时;基于系统的可用性,对客户来说不是好选择。
软件负载均衡器
有一次,我们尝试使用HAProxy作为负载平衡器。但要使HAProxy正确工作,我们需要考虑以上所讨论的端口限制。要使HAProxy能够处理65536个以上的链接,必须执行以下步骤:
1.创建一堆私有的知识产权地址。为了达到这个目的,选择AmazonInstance->Actions
->Networking->ManagePrivateIPAddresses,我们添加三个知识产权地址:192.168.1.1,192.168.1.2,192.168.1.3。记住,知识产权应该在与你的真实应用服务器相同的子网络中;
2.用SSH连接到你的HAProxy实例,执行命令;
3.HAProxy的配置。这是haproxy.cfg文件中的一个段落,用Erlang节点接收WS连接。
定制方法
在继续前进之前,回顾下图16-1,展示了我们系统的结构。
本身就拥有JavaScript客户端应用程序,auth应用程序负责用户授权,Erlang应用程序实现了主要功能。
数据流程如下
1.客户端生成包含凭证的HTTP请求并发送给AuthApplication;
2.AuthApplication检查证书,生成令牌,以HTTP请求的形式发送给ErlangCluster
3.Erlang应用程序确认,令牌已经收到,并将包含配置信息的HTTP响应返回Auth应用程序;
4.AuthApp向客户端应用程序发送HTTP响应。响应包括生成的令牌;
5.客户端使用令牌,通过我们的HAProxy负载平衡器与Erlang应用程序建立WebSocket连接。
这是我们的基本数据流,稍作修改。我们在Erlang应用程序中添加了一个简单的模块来跟踪每个Erlang节点上的WebSocket连接数。基于Erlang的分布式特性,每个节点都可以知道其他节点的连接数。因此,我们可以选择一个连接较少的节点。我们使用该节点的公共IP地址将其发送回该应用程序。
然后auth应用程序将该IP地址随令牌返回客户端。客户端使用收到的IP地址和令牌来建立连接。因此,最终图16-2显示如下。
对IT设计有兴趣,希望从事IT行业
强化自己能力,加强专业技能
丰富职场技能,毕业不失业
提升专业水平,轻松升职加薪
HTML5
Java
Python
全链路设计
云计算
软件测试
达内国际集团是中国IT职业教育的第一品牌,是目前中国最大IT职业教育集团,2014年4月3日,达内国际集团成功在美国纳斯达克上市,是*家在美国上市的IT职业教育集团,同时也是2014年赴美上市第一股,根据IDC的数据,达内国际集团是目前国内最大的IT职业教育机构,市场份额超过8.3%,排名行业第一。达内时代科技集团致力于培养面向电信和金融领域的Java、C++、C#/.Net、3G/Android、3G/IOS、 PHP、嵌入式、软件测试、UID、网络营销、网络工程、会计、UED、web、Unity3D、大数据、童程童美等17大方向中高端软件人才课程与少儿教育课程,先后获得美国国际数据集团IDG、集富亚洲JAFCO ASIA、美国高盛银行的三轮投资,是国内首家获得国际风险投资的IT职业教育机构。
大数据
智能物联网
Unity游戏开发
网络安全
互联网营销
影视剪辑包装