`
Poechant
  • 浏览: 229530 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:24321
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:22104
社区版块
存档分类
最新评论

OpenRTMFP/Cumulus Primer(3)图解CumulusEdge原理

 
阅读更多

OpenRTMFP/Cumulus Primer 入门(3)图解CumulusEdge原理

1 CumulusEdge 为 CumulusServer 提供可扩展性

CumulusEdge 为 CumulusServer 分担负载(俗称“扛连接”)。分担什么负载?一台服务的 CPU 资源、内存资源都是有限的,即是配置再高的服务器,对于高并发的应用来说,一台服务器的性能总是不够的。还有,端口号也是有限的(65536个)。

如果使用了 CumulusEdge,CumulusServer 可以将新来的 Clients 根据 CumulusEdge 列表和这些 CumulusEdge 资源的当前状况来分配。

如何选择哪个 CumulusEdge?你可以先理解为一种非常自然简单的方式:ping。比谁ping的快。当有很多 Clients 连接的时候,用 CumulusEdge 显然会快得多。

Resize icon

上图来自OpenRTMFP/Cumulus 项目主页

CumulusServer 是 OpenRTMFP/Cumulus 的中心,它有如下特点:

  • 可以得到整个 OpenRTMFP/Cumulus 系统中所有 CumulusEdge 的信息;
  • 是 Clients 的网关(Gateway);

CumulusServer 直接与 CumuluEdge 通过文本数据格式传输 Request 和 Response。CumulusEdge 由 CumulusServer 分配 Clients 后,Clients 接下来就只与 CumulusEdge 直接通信了,并完成 ExchangeKey 的解密(Decrypt)、编码(Encode),以及负责完成一些高资源开销的操作,和具有高开销加密操作的握手动作。

简而言之,CumulusEdge 可以帮助 CumulusServer 扩展 Clients 连接数。

2 部署原则

CumulusServer 和 CumulusEdge 对每一个 Client 都必须有一个 public 的端口。形象一些说,可以看下图。下图中的内部结点与外环(虚线)直接的连接,表示与 Clients 之间的连接,这样的连接的端口必须都是 public。而 CumulusServer 与 CumulusEdge 之间的连接,是 private 端口。

Resize icon

如果将 CumulusServer 和 CumulusEdge 部署在一个局域网络内,那么对于 Cumulus 整体的性能很有好处。

3 重定向算法

当 CumulusServer 收到一个新的 Client 的请求时,会检查 CumulusEdge List,如果这个 List 为空,则接下来由 CumulusServer 来“招待”这个 Client。 · 如果 CumulusEdge List 不为空,这个列表将是按照每个 CumulusEdge 所连接的 Clients 数量来排序的(降序升序),当一个新的 Client 连接到 CumulusServer 时,CumulusServer 将 CumulusEdge List 中排在前 6 位的取出给这个 Client。为什么可以一次给这个 Client 这么多 CumulusEdge 呢?因为 Flash Player 支持并发连接。当一个 Flash Client 去尝试多个连接时(即开始并发连接时),第一个给这个 Client 响应的 CumulusEdge 会与其建立连接,并一直保持,而 Flash Client 会关闭其他连接。

当然,如果 CumulusServer 将新来的 Client 丢给 CumulusEdge,但并没有在 Client 与 CumulusEdge 之间成功地建立起连接,那么 CumuluServer 就得来“招待”这个 Client 了。

-

转载请注明来自柳大的CSDN博客Blog.CSDN.net/Poechant

-

分享到:
评论

相关推荐

    OpenRTMFP Cumulus Primer()入门介绍与部署CumulusServer.pdf

    2. 然后转到OpenRTMFP-Cumulus/CumulusServer目录,再次运行`make`。 如果在编译过程中遇到头文件或库文件找不到的问题,你需要检查Makefile,确保路径设置正确。 配置CumulusServer: CumulusServer的个性化配置...

    wp-cumulus_3D云标签

    本文将深入探讨wp-cumulus插件的原理、安装与配置,以及如何通过它来优化网站的用户体验。 首先,让我们了解什么是3D云标签。3D云标签是一种将传统标签以立体、旋转的3D形式展现的技术,标签不再是平面的文字列表,...

    HPCCloud:基于 CloudWeb 的仿真环境

    高性能计算云 目标 ...$ vi /opt/hpccloud/cumulus/cumulus/conf/config.json +- > Fix host to be localhost +- > baseUrl: " http://localhost:8080/api/v1 " , $ sudo service celeryd restar

    cumulus-linux-4.4.0-vx-amd64-qemu.zip

    3. **开放源码软件栈**:Cumulus Linux与许多开源网络项目集成,如Puppet、Ansible、OpenStack等,这使得用户能够利用这些工具来自动化网络配置和运维。 4. **硬件兼容性**:Cumulus Linux支持多种白盒和商用现成...

    cumulus-linux-cookbook:用于管理积云开关的手册

    这本食谱在 vanilla Debian 上创建了一个交换机覆盖,并且还部署在 Cumulus 路由器/交换机上。 要求 测试 访问 Debian Wheezy 盒子 生产 访问 Cumulus HCL [1] 开关(Accton AS6701_32X,这就是这本食谱最初的目的)...

    Cumulus:CloudApp 的开源替代品,利用您自己的 S3 进行存储

    积云Cumulus 是的免费、开源替代品,它利用您自己的 S3 进行存储。下载您可以在下载最新版本更改默认截图目录这是可选的。 默认情况下,OS X 会将屏幕截图放在您的桌面上。 但是,如果您希望他们去其他地方,您可以...

    wp-cumulus(支持中文标签)

    3. **设置调整**:在“外观”菜单中找到“wp-cumulus”选项,你可以在此处配置标签云的大小、旋转速度、标签字体等参数,以适应你的网站风格。 4. **中文设置**:由于`wp-cumulus`支持中文,只需确保你的博客已设置...

    wp-cumulus

    "wp-cumulus" 是一款在WordPress平台上的插件,专为博客或网站提供美观的三维标签云展示。这款插件赋予传统的标签云一个全新的视觉体验,通过立体旋转的效果,使得用户可以更直观、有趣地浏览和探索网站的各类标签。...

    3D标签云单机中文版 WP-CUMULUS 1.23

    大名鼎鼎的WP-CUMULUS 3D标签云,已经改成支持中文标签,可在.htm自行添加标签链接,可以单机玩耍测试,不需要安装WordPress然后装插件~~ 主要是有些童鞋只是想要3D标签云动画,所以就提取重要文件出来稍作修改下.

    Flex P2P 音视频流客户端(Cumulus支持)

    这种技术利用了Cumulus库,该库是OpenRTMFP(Real-Time Media Flow Protocol)的实现,允许设备之间直接建立连接,从而减少了服务器的压力,提高了大规模音视频流传输的效率。 OpenRTMFP是由Adobe开发的协议,用于...

    Cumulus:一个基于网络编码的分布式文件系统.pdf

    【 Cumulus:基于网络编码的分布式文件系统 】 在分布式计算领域,分布式文件系统是支撑大规模数据处理和存储的关键技术之一。Cumulus 是一个创新性的分布式文件系统,它利用网络编码理论来优化系统的容错能力和...

    Cumulus官网视频会议样例代码

    这里给出了cumulus/OpenRTMFP的git官网提到的视频会话样例的AS3代码,包括服务器端和客户端两部分,我已经在<使用Cumulus和Flash Player搭建视频会议示例>http://blog.csdn.net/tao_627/article/details/18041473中给...

    cumulus(浑天仪)使用手册

    《浑天仪(Cumulus)使用手册》是一个详细介绍如何使用Cumulus这一开源工具的文档,主要面向对源码和工具感兴趣的IT从业者。Cumulus可能是基于Web的项目管理工具或者数据分析平台,而`swfobject.js`和`tagcloud.swf`...

    RTMFP服务器脚本CumulusServer.zip

    openrtmfp又名Cumulus Server是一个完全开源和跨平台的可扩展的RTMFP服务器脚本。Cumulus Server在GPL 框架下遵循速度、优势、跨平台、轻量和高质量代码。Cumulus Server的每一个版本都是通过严格测试和审核的。可...

    cumulus:Cumulus框架+ Cumulus API

    积云框架 :open_book: 文献资料 最新文档。 文档。 更多信息 有关此项目的更多信息,以及有关NASA的地球观测系统数据和信息系统(EOSDIS)及其云工作的更多信息,请联系或访问 。...这是用于Cumulus开

    wp-cumulus.rar_TagCloud._TagCloud.as_flex cumul_wp cumulus_wp cu

    【标题】"wp-cumulus.rar" 是一个与WordPress相关的压缩包,其中包含"TagCloud._TagCloud.as",这表明它与创建和展示WordPress标签云的插件有关。"flex cumul_wp cumulus_wp cu"暗示这个插件可能是用Adobe Flex技术...

    iris-magnum:有关使用OpenStack Magnum和IRIS Scientific OpenStack站点的文档

    以下是如何在IRIS Scientific OpenStack云上使用Magnum创建的Kubernetes集群的一些示例,例如: ://cumulus.openstack.hpc.cam.ac.uk 这是由STFC IRIS云提供资金的数字资产: : 贡献 如果您有任何问题,请提出一...

    世界BOSS(银行后台软件) 100强.

    3i Infotech 提供了一系列银行解决方案,其中包括 Kastle,它是一个综合性的银行后台管理系统。该系统能够支持各种银行业务流程,包括但不限于账户管理、贷款处理、信用卡服务等。 ### 2. Infosys (Bancs2000/...

    Mellanox Cumulus 培训资源

    Mellanox Cumulus学习,基本使用,培训资源

    Python库 | cumulus-1.1.0.tar.gz

    在本文中,我们将深入探讨名为“cumulus”的Python库,版本为1.1.0,它以tar.gz格式进行压缩。这个库可能涉及云计算、数据处理或与之相关的领域,因为“cumulus”在自然界中通常指的是云朵,而在计算术语中,它可能...

Global site tag (gtag.js) - Google Analytics