2、峰会技术关键词词云
3、技术会议主题
吴斌老师(Elastic中文社区副主席):基于流式计算平台搭建实时分析应用
李猛老师(力萌科技数据专家):Elasticsearch 基于 Pipeline 窗口函数实现实时聚合计算
白凡老师(尚德机构资深工程师):基于 Elasticsearch 的容器化编排实践
刘征老师(Elastic社区布道师):如何规划和执行威胁狩猎
魏子珺老师(阿里巴巴技术专家):Elasticsearch云原生内核建设之路
4、基于流式计算平台搭建实时分析应用(吴斌)
4.1 为什么要面向开源进行架构设计?
轻松定制化、业务专注、低学习成本。
由于代码公开,所以安全、合规、透明。
高度灵活性,无平台绑定。
4.2 流式计算平台架构剖析
如图所示,流式计算平台主要由分布式消息队列、分布式计算引擎、数据引擎三部分构成。
4.2.1 分布式消息队列
数据采集,支持消息分发、消息缓存
高可用,削峰填谷
4.2.2 分布式计算引擎
早期:MapReduce、Storm
当下主流:Flink、Storm2.0
支持热更新 / 弹性伸缩
计算引擎核心任务:
数据校验(数据格式、合法性、脏数据等)
数据清洗(数据 ETL 转换)
数据丰富(多维数据Join,以辅助数据分析)
4.2.3 数据引擎
热数据存储在 Elasticsearch、HBase。
其中 HBase 存储热数据非完全必要,除非高 IO 存储需要引入。
一般情况下,数据的分析:Elasticsearch 就能搞定。
温数据(超过 7天的数据)存储选型:
1)MPP
2)Hive,GreenPlum
4.2.4 分布式存储
云端的对象存储
文件输出、明细错误数据落地
快照 snapshot 等
1)数据来源(server Application):服务器日志、监控、业务数据采集(如用户行为、购买记录、社交记录)。
2)数据发送到消息队列 (MSG G)。
3)消息队列数据写入 Beam Streaming 开源驱动引擎框架。
批流一体引擎。
Beam 能驱动:Flink、Spark Stream、 Strom 去做流式数据、batch 数据处理。
4)拉取RDB业务维表与实时数据Join。
5)对有问题数据输出到 Object 对象 / File 文件系统备份。
6)实时数据注入 Elasticsearch。
7)高 IO 数据写入 HBase(KV引擎)。
8)Beam Batch 批量处理。
核心Tips:
HBase + Elasticsearch 组合使用,以打车场景为例:
当打车订单未完成时候,明细数据(实时高 IO)录入HBase:
Session (订单)结束后,一个打车订单归拢为一条数据,放到 Elasticsearch,在 ES 中做实时订单分析、轨迹查询、客服查询等处理。
4.3 Elasticsearch 在流式平台中的角色功能
(1)文本检索
日志
场景:运维、开发、测试、客服。
(2)已知数据计算
已知数据定义:Mapping是我们自定义的。
实时指标计算。
场景:固定报表、大屏展示。
(3)未知线索探索
指标计算
复杂过滤条件
adhoc 查询
关联性、归因等
4.4 云原生与k8s集群管理经验分享(核心)
lass / On-prem:自己部署(实体机、虚拟机)大集群:维护升级麻烦,出错恢复周期非常长。
Sass:运维简单,具备弹性;缺点:细节不透明,网络拓扑受限,入口/网关性能、灵活性差,升级麻烦。
Pass (平台服务) / K8s
(1)优点:运维简单、yaml文件决定部署、弹性好、独享资源、官方operator。
(2)缺点:受限于K8s、开源版本,官方未来会推出商业版本。
推荐:基于云托管K8s搭建ES集群。
为 Elasticsearch 量身定制的网关产品——极限网关
极限网关特性:
转发性能好。
支持多集群之间数据分流、同步。
支持网关级限流。
4.5 相关资源
Elasticsearch on K8s(Elastic 中文社区维护)
https://github.com/elasticsearch-cn/elastic-on-gke/
流式分析平台框架(Beam)
https://github.com/cloudymoma/raycom
极限网关(持续完善中)