📹 第十一章 GB/T 28181国标平台案例应用
📄 一句话概括

EasyGBS 走的是另一条路:一个进程全包。 好处是装起来省事,坏处是「扩不了」。 真正的天花板不是 CPU,是网卡——两百路就把千兆网卡吃满。

📝 本节和前面几节的关系

上一章看的是拆开的 LiveGBS,这一节看单进程的 EasyGBS。 两者功能差不多,差别在「能扩到多大」。 看懂这个差别,选型时就不会被「功能列表」误导。

一、单进程的好处和代价

好处很实在:一条命令起来、一份配置、一个日志。 现场部署半小时能搞定,不需要懂「CMS 和 SMS 怎么连」。 代价也很实在:媒体、信令、前端全在一个进程里,一处崩全断。 而且「扩容」这件事只剩一条路:换更强的机器。 所以「几百路以内」这个定位不是贬低,是事实——大部分区县级项目、连锁门店项目,也就几百路。 选型时最该问的一句是「三年后会有多少路」,不是「现在多少路」。 现在三百路、三年后一千路的项目,一开始就该选能拆的。

二、天花板在网卡上

算一下就清楚:两百路 4 Mbps 是零点八 Gbps,千兆网卡只剩两成余量。 八百路就吃满万兆。 所以「几百路以内」这个说法,翻译过来就是「万兆网卡以内」。 CPU 反而不是瓶颈——纯转发很省,转码才吃 CPU。 这也解释了一个常见现象: 「明明 CPU 才用三成,为什么卡」——因为瓶颈在网卡,看 CPU 看不出来。 所以容量规划的第一个指标是「出口带宽」,不是「CPU 核数」。

三、首次启动生成什么

单进程软件首次运行会生成四样东西:可执行文件、配置文件、数据目录、数据库文件。 「装没装上」的判断依据就是这四样齐不齐,不是看屏幕有没有输出。 其中数据目录最容易被忽略,也最容易出事: 它默认在程序旁边,一旦重装程序,录像可能被一起删掉。 所以部署规范的第一条永远是「数据目录挪到独立盘」。 这一条不是洁癖,是教训——重装程序把数据一起清掉,这种事每个运维都遇到过一次以上。

四、动手 Demo:单进程和一拆二,运维差在哪

把两种形态逐项对比,再算「两百路到底占多少带宽」,看天花板在哪。

n = 200
print("%d 路 4 Mbps = %.2f Gbps" % (n, n * 4.096 / 1000))
print("千兆网卡余量 %.0f%%" % (100 - n * 4.096 / 10))
print("八百路 = %.1f Gbps,要万兆" % (800 * 4.096 / 1000))

实跑输出:

--------------------------------------------------------------------
单进程和一拆二,运维差在哪
--------------------------------------------------------------------
**EasyGBS 走的是另一条路:一个进程全包。**
**好处是装起来省事,坏处是「扩不了」。**
**这一节把两种形态摆在一起比**,**重点不是谁好,是「什么时候该选谁」。**

  对比项             LiveGBS(拆开)            EasyGBS(单进程)
  ----------------------------------------------------------------------
  **进程数**         **两个(CMS 加 SMS)**     **一个**
  **部署复杂度**     **要分别配、分别起**       **一条命令**
  **扩容方式**       **SMS 可横向加**           **只能换更强的机器**
  **故障影响**       **媒体崩了信令还在**       **全断**
  **适用路数**       **上千路**                 **几百路以内**

**第三行是分水岭**:**单进程平台的性能上限就是「单机最强配置」。**
**到了天花板之后没有别的办法,只能换机器。**
**而拆开的平台可以加机器。**

**但「几百路以内」这个说法要算一下才知道边界在哪**:
  200 路 4 Mbps = 0.82 Gbps
  单机万兆网卡能扛,千兆网卡就满了

**所以真正的天花板不是 CPU,是网卡**:**两百路就把千兆网卡吃满,八百路就吃满万兆。**
**「几百路以内」这个说法,指的就是「万兆网卡以内」。**

**首次启动会生成一批文件**,**这也是排查「装没装上」的依据**:

  文件               作用
  -----------------------------------------------
  **可执行文件**     **主程序,单文件**
  **配置文件**       **端口、路径、数据库**
  **数据目录**       **录像、日志、临时文件**
  **数据库文件**     **内置库时是一个文件**

**第三行最容易出事**:**数据目录默认在程序旁边,一旦重装程序,录像可能被一起删掉。**
**所以部署规范里第一条就是「数据目录挪到独立盘」。**

**这一条不是洁癖,是教训**:**重装程序把数据一起清掉,这种事每个运维都遇到过一次以上。**

两百路零点八二 Gbps, 千兆网卡只剩一成八的余量——这还是在「所有流都从同一块网卡出去」的前提下。 所以「单机能带多少路」这个数,可以按网卡速率倒推: 千兆约两百路、万兆约两千路,留一半余量就是一半。 这个算法比问厂商「能带多少路」靠谱。 那张对比表里第三、四、五行要连起来看:扩容方式受限 → 故障影响变大 → 适用路数变小。 这三行其实是一件事的三个面。 最后那句「重装把数据清掉」是真实教训, 它不属于技术问题,属于部署规范问题——而规范问题造成的损失,往往比技术 bug 大。

30 秒实验

  1. 算一下:两百路 4 Mbps 占多少 Gbps?(0.82)
  2. 想一下:单进程平台的天花板在哪?(网卡)
  3. 想一下:为什么数据目录要挪到独立盘?(重装会清掉)

常见误区

  1. 以为「单进程就是落后」。 几百路以内的项目,单进程反而更省事。
  2. 以为「卡就是 CPU 不够」。 先看网卡,纯转发很省 CPU。
  3. 以为「默认安装路径没问题」。 数据目录和程序同盘,重装会一起清掉。
自测三问(点开对答案) 1. 单进程平台的两个缺点是什么? —— **一处崩全断、只能换更强的机器来扩容**。 2. 单进程平台的容量天花板在哪? —— **网卡**。千兆约两百路,万兆约两千路,都要留余量。 3. 首次启动要确认哪四样东西? —— **可执行文件、配置文件、数据目录、数据库文件**。

下一节讲批量接入:三百台设备导入,失败的都是哪几种。

相关笔记