数据中台稳定性的“四高” | StartDT Tech Lab 18

写在前面

这是奇点云技术专栏「StartDT Tech Lab」的第18期。

在这里,我们聚焦数据技术,分享方法论与实战。一线的项目经历,丰富的实践经验,真实的总结体会…滑到文末,可以看到我们的往期内容。

本篇由奇点云DataSimba团队带来:

 作者:远浪、鱼飞、若曦

阅读时间:约8分钟

降低成本,提高效率,辅助决策…业界只道中台好,而当我们走进幕后,发现企业在使用数据中台的真实场景中,也会遇到一些问题:

数据分析输出不及时,导致业务部门无法及时拿到结果;数据加工与计算不准确,导致决策出现偏差;平台服务不稳定,则还会引发用户流失、运维成本高等一系列问题。

这些“幕后故事”都指向一个概念:数据中台稳定性。

0. 数据中台的“稳定性”是什么?

数据中台的“稳定性”是什么?

我们认为,稳定性是数据中台必备的一种性能,它确保数据中台能对数据存储计算、中台应用架构以及平台自身做精细化管控及保障。

说人话,也就是只有具备稳定性的数据中台,才能精细化地保障数据存储计算正常、高效运行,才能管好应用架构及平台自身,及时应对和处理突发的各种问题。

那怎样的数据中台才是具备稳定性的呢?

我们认为,有四大必备要素高可用,高并发,高效调度,高效运维

- 高可用:可用性至少满足99.999%。

- 高并发:数据计算能力达离线计算亿级+/小时,实时计算数千万级/小时;数据API服务满足QPS(Queries per Second,每秒查询率)10万+。

- 高效调度:支持数十万级别任务调度。

- 高效运维:支持秒级的告警、分钟级的定位问题与止损、小时级的恢复故障影响。

1. “高可用”的数据中台

数据中台要有稳定性,“高可用”是重要基础。

“高可用”(High Availability),通常指一个系统经过专门的设计,减少系统不能提供服务的时间,尽可能地保证服务长期可用。

打个比方,如果系统每运行10万个时间单位,就会有1个时间单位无法提供服务,那么系统的可用性就是99.999%。

一个“高可用”的数据平台需要从这五个方面考虑:网络业务服务中间件数据库数据本身

1. 网络:采用设备冗余、链路捆绑、环网技术等,保障在网络出现故障(错误)后能快速自动恢复;

2. 业务服务:服务节点本身无状态,可部署多节点,以保证当任一节点异常(宕机)时,服务仍可对外提供能力;

3. 中间件:中间件以注册中心、哨兵、主备等方式,以保证当中间件任一节点异常(宕机)时,服务仍然可正常访问;

4. 数据本身:数据需多备份,以提高数据本身的容错性,防止数据丢失;

5. 数据库:分布式数据库需采用多副本,非分布式数据库需采用主备、数据定时备份的方式。

奇点云服务中的一家知名消费品企业,每日需承载亿级数据量处理加工,向下对接几十家供应商,向上承接多条业务线的数据运营看板。一旦数据中台出现问题,可能会导致次日各业务线数据异常,因此对高可用有非常高的需求。

奇点云的云原生数据中台DataSimba根据客户情况,从网络、数据本身、数据库、中间件、业务服务五个角度进行加固,最终保证客户数据平台可用性达99.999%。

2. “高并发”的数据中台

高并发(High Concurrency),如字面意思,它指一个系统经过设计,能同时并行处理许多请求。

具体而言,高并发能力主要体现在数据集成数据服务两个方面:

· 数据集成层面,在对源数据库影响最小的前提下,保证数据ETL的并发采集能力;

· 数据服务层面,能更快地将加工之后的结果数据供客户决策、报表分析等。

从数据集成到数据服务

奇点云DataSimba的高并发具备以下特点:

1. 服务采用集群式分布式部署,可扩展性强;

2. 根据不同的数据级别,采用不同的数据存储方案;

3. 高并发方案支持熔断、限流和降级等;

4. 数据服务QPS可支撑10万级别。

某国内证券行业头部企业客户有亿级C端用户,需要及时将C端数据采集到数据中台,并将数据经过标准化补充和计算,最终为C端用户提供服务。DataSimba的高并发与数据处理能力100%支持了该客户的需求。

3. “高效调度”的数据中台

具有稳定性的数据中台,也需要有好的调度服务:面对海量任务,可根据企业的资源、任务优先级、加入时间等因素,有条不紊地执行任务。在每一项任务及时完成的同时,节约企业的资源成本。

“高效调度”逻辑示意

 

DataSimba的高效调度具备以下特点:

1. 多类型任务兼容性高:支持DataX、Flink、Python、Hive、Spark等不同类型的任务进行统一的调度执行服务;

2. 资源利用率高:任务决策系统根据不同的任务资源占用度、剩余物理资源、任务依赖优先级,合理地调度任务执行顺序;

3. 实时调度优化:任务执行状态实时监控,及时对失败的任务重新调度。

以某室内装修3D设计软件客户为例,企业有庞大的C端用户群体,日需调度的任务达到10万级别,且任务之间依赖复杂度高。DataSimba支撑企业完成了日10万级别的任务处理。

4. “高效运维”的数据中台

运维是数据中台稳定性的后盾。

数据中台的高效运维主要体现在:能够快速发现问题,同时具备解决问题的能力,能够自恢复,最大限度地减少企业对数据中台的维护成本。

以DataSimba为例,奇点云从以下3点实现数据中台的高效运维:

1、分布式链路追踪

DataSimba采用分布式链路追踪,具备多语言自动探针、兼容多种开源架构的基础设施与组件、基础设施与组件的自动探针。

分布式链路追踪

 

2、智能监控和告警

当报告任务发生超时、任务失败、超出设置告警规则的范围等情况,DataSimba会自动实时识别,并发出告警信息,提示对应告警对象。

 

3、自恢复

系统的核心业务模块需支持遇故障时自动记录错误节点,并具备自恢复功能,以保障任务运行时的数据完整性与准确性。

DataSimba具备全面的监控与告警机制,目前达到了秒级的告警、分钟级的定位问题与止损、小时级的恢复故障影响。

举个“栗子”,某头部快消企业客户,在数据中台有近万个任务实例,且各个任务实例之间数据计算依赖性与耦合性高。DataSimba运维的低成本、及时响应、任务数据准确性与完整性等特性,充分满足企业要求,有效应对企业在使用中出现的各类异常场景,得到了一致好评。

5. 小结

我们认为,能带来业务价值的数据中台,才是客户真正需要的数据中台

为此,数据中台必须能准确地、稳定地、高效地为企业自身所用——唯有具备稳定性的数据中台,方能有效保障企业数据的完整性与准确性,提升服务的可用性,同时实现智能化运维,降低运维成本,为用户带来良好的使用体验,为精准决策提供支撑,实现降本增效。

回顾前文介绍的关键点,高可用、高并发、高效调度、高效运维,这“四高”构成了数据中台稳定性的四个必备要素。奇点云之所以重视数据中台稳定性,并选择将上述要素糅进云原生数据中台DataSimba,是因为我们和客户站在一起。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一段 C++ 代码,其中包含了一些条件语句和函调用。逐行解释如下: ```if ( m_env->m_ClearSendQueFlag )``` 如果 `m_env->m_ClearSendQueFlag` 变量为真(非零),则执行下面的代码块。 ```m_asduSendQue.ClearAllDataBuff();``` 调用 `m_asduSendQue` 对象的 `ClearAllDataBuff()` 函,清空发送队列的所有据缓冲区。 ```memset(m_sendBuf,0,MaxLen_Buf);``` 使用 `memset()` 函将 `m_sendBuf` 组的所有元素都设置为 0,该组的长度为 `MaxLen_Buf`。 ```this->m_env->m_TxBuf.ResetBuf();``` 调用 `m_env` 对象的 `m_TxBuf` 成员的 `ResetBuf()` 函,重置该成员对象的缓冲区。 ```m_Flag |= IEC104_FLAG_STARTDT;``` 将 `m_Flag` 变量的二进制表示中的第 0 位(从右往左)设置为 1,表示启动传输(STARTDT)。 ```OutputLogMsgToLogFile("var/log/s104.log",320000,"%s:%d INFO! STARTDT! 104startdtresrt=%d ClearSendQueFlag=%d RtuNo=%d\n",__FILE__,__LINE__,m_env->m_104startdtresrt,m_env->m_ClearSendQueFlag,m_env->m_sRtuNo);``` 调用 `OutputLogMsgToLogFile()` 函,将日志信息记录到文件中。该函的第一个参是文件名,第二个参是日志文件的最大大小,第三个参是日志信息的格式化字符串,后面的参是对应的参值。 ```this->m_dataTransflag = 0x01;``` 将 `m_dataTransflag` 变量的值设置为 1,表示据传输。 ```this->m_env->m_appLayer->StartDTProcess();``` 调用 `m_env` 对象的 `m_appLayer` 成员的 `StartDTProcess()` 函,启动应用层的 STARTDT 过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值