组网就四种:单机、双机热备、多级级联、云边协同。 差别不在功能上,在「故障时会发生什么」上。 级联会线性放大信令和启动时间——这就是「能两级就别三级」的真正理由。
上一节拆开了「一个平台里面有什么」,这一节看「平台与平台之间怎么连」。 组网选错了,后面所有优化都救不回来。
一、四种搭法
单机最省事:一台机器全包,代价是「坏了就全断」,适合能停机的小项目。 双机热备是两台互为主备,切换要几十秒,适合不能停的中型项目。 多级级联是按行政层级往上汇,断一层丢一片,适合跨区域分级管理的场景。 云边协同是边缘自己存自己转、云上只做汇总,断云不断边,适合连锁门店、弱网现场。 四种没有优劣,只有匹配:选型的依据是「能容忍断多久」,不是「哪个更先进」。
二、级联的放大效应
级联不是「多一跳」那么简单,是「每一步都要重走」。 一次点播在单级是三个报文,两级就是六个,三级就是九个。 报文是线性涨的,启动时间也是线性涨的:每层一百多毫秒,三级加起来四百多毫秒。 这个数人是能感觉出来的。 所以「能两级就别三级」不是保守,是体验问题。 真要做三级,通常会在中间层做「流复制」——让上级直接从下级取流,而不是层层转发。 层数一多,还有一个隐性问题:状态不一致。 上级以为某设备在线、下级知道它掉线了,中间那条通知可能丢了。
三、编号冲突:级联最容易踩的坑
两级平台各按自己的中心编码给设备编号,汇到上级就撞了。 撞了之后的表现很怪:两台设备只显示一台,或者点播点到别人家去了。 所以级联规划的第一件事是「划编号段」,不是配 IP。 中心编码前八位就是段号,各市分一段,互不干扰。 有的上级平台会「重新编号」——把下级的设备换成自己域下的号。 好处是统一,坏处是「同一台设备有两个号」,所有对照表都要维护两列。 所以对接前必须问清一句:「你们是保持原编号,还是重新编号?」 这个答案决定了后面要不要做映射表。
四、动手 Demo:四种组网,级联一层多花多少
先列四种组网的信令节点数和故障影响,再算级联层数对报文数和启动时间的影响。
base = 620
for depth in (1, 2, 3):
print(depth, "层:", depth * 3, "个报文,",
depth * 3 * base, "字节,",
depth * 140, "毫秒")
实跑输出:
--------------------------------------------------------------------
四种组网,级联一层多花多少
--------------------------------------------------------------------
**国标平台的组网就四种**:单机、双机热备、多级级联、云边协同。
**它们的差别不在功能上,在「故障时会发生什么」上。**
组网 信令节点 故障影响 适用
----------------------------------------------------------------------------------
**单机** **1** **全断** **小项目、能停机**
**双机热备** **2** **切换几十秒** **中型、不能停**
**多级级联** **2 层起** **断一层丢一片** **跨区域、分级管理**
**云边协同** **边 N 加云 1** **断云不断边** **连锁、弱网**
**第四行是这几年增多的形态**:**边缘侧自己存、自己转,云上只做汇总和远程查看。**
**好处是「断网还能录」,坏处是「两边状态可能不一致」。**
**级联会放大信令,这一点必须算清楚**:
1 层:一次点播的信令报文 3 个、约 1860 字节,启动多 140 毫秒
2 层:一次点播的信令报文 6 个、约 3720 字节,启动多 280 毫秒
3 层:一次点播的信令报文 9 个、约 5580 字节,启动多 420 毫秒
**报文数量是线性涨的,启动时间是线性涨的**——
**所以三级级联的点播启动要四百多毫秒,人是能感觉出来的。**
**这就是为什么「能两级就别三级」:不是协议不支持,是体验会掉。**
**组网里最容易踩的一个坑是「编号冲突」**:
**两级平台各自按自己的中心编码给设备编号,汇到上级就撞了。**
**所以级联规划的第一件事是「划编号段」**,**不是配 IP。**
报文数和启动时间都是线性的:一层三个报文、一百四十毫秒,三层就是九个、四百二十毫秒。 线性放大听着不吓人,但它是「必然发生」的——不像带宽那样可以通过压缩缓解。 每一次点播都要付这个钱。 所以工程上的做法是「减少层数」而不是「优化单层」:把三级改成两级,立省三分之一。 那张组网表里最该看的是第三列:「故障时会发生什么」。 单机是全断、级联是断一片、云边是断云不断边——这一列才是选型的真正依据。
30 秒实验
- 算一下:三级级联一次点播几个信令报文?(9 个)
- 想一下:为什么级联的启动时间是线性涨的?
- 想一下:级联前必须先规划什么?(编号段)
常见误区
- 以为「级联只是多一跳」。 每层都要重走完整的三趟信令。
- 以为「层数越多管理越细」。 每层都加一百多毫秒启动时间。
- 以为「编号可以各编各的」。 汇到上级会撞号,必须先划段。
自测三问(点开对答案)
1. 四种组网分别适合什么场景? —— **单机:能停机的小项目;双机:不能停的中型项目;级联:跨区域分级;云边:连锁弱网。** 2. 为什么「能两级就别三级」? —— **每层都线性放大信令和启动时间**,**三级要四百多毫秒,人能感觉到。** 3. 级联对接前必须先问什么? —— **「保持原编号还是重新编号」**,这个答案决定要不要做映射表。下一节进具体软件:LiveGBS 为什么拆成两个进程。
- ☐ (本节完,下一节 11.02.01 LiveGBS的服务架构)