GB28181系统设计(四)-横向扩展和纵向扩展

横向扩展

    横向扩展是增加更多的服务器来实现的,那么如何自动发现服务器呢?需要中心节点吗?当然这和设计有关,和具体应用有关,
提高计算能力,显然需要把任务分解到不同的服务器上,并行完成,客户端有可能连上任意一个服务器,在GB28181系统里面,我们一般只使用一个网关,多个网守。一个网守就是中心节点,网关则负责协议得转换,注意这只是设计而已,大千世界,无奇不有,所有名词都是我们自己设计和定义的,不用被这些东西束缚。

1 mdns协议

    多播DNS ( mDNS )协议将主机名解析为不包含本地名称服务器的小型网络中的IP地址。 它是一种零配置服务,使用与单播域名系统 (DNS)基本相同的编程接口,数据包格式和操作语义。 mDNS本身被设计为独立协议,但它可以与标准DNS服务器协同工作。
下面是我以前写的一篇文章,里面有组播协议
使用组播包

2 ssdp协议

    SSDP一般指简单服务发现协议。 简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一,以下是我写的另一篇文章,ssdp一般使用组播地址239.255.255.250,端口1900,这是个管理方法。
ssdp协议

3 中心点

    在GB28181里面,中心点一般是网关,网关和网守不同,网关负责注册上线,管理,地址通知,sdp协议通知。其实也是管理,这是必不可少的。

纵向扩展

    纵向扩展是增加cpu和内存,以及计算能力,如果在外网,必须能够做到

2.1 云计算动态扩容

    这个是动态扩容,只有云计算有了。

2.2 限制有计划使用

    我们在GB服务的过程中,不能让所有mediaserver一下承载所有ipc或者转发点,而是有计划地根据hash一致算法去分配多个节点去负载均衡,如果只有一个mediaserver,没有任何冗余,是非常危险的。因此我们必须至少在设计上保持两个server。

2.3 RTP协议端口扩容

    rtp协议里面有太多的东西了,之所以是实时传输协议,如果仅仅是定义协议,那任何一个协议都可以说自己是实时的,端口扩容也就意味着在进程级别和线程级别可以使用多核进行接收,这个实际上要和sip协议进行融合,做过sip网关的人应该更清楚。
以下是一个RTP协议的源码,大家可以下载使用。
RTP协议源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qianbo_insist

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值