基于Go的大数据平台-党合萱基于Go的⼤大数据平台 七⽜牛云—党合萱 什什么是Pandora 简单 · 可信赖 Pandora架构图 Export Service API / Portal / 消息 消息 计算 计算 消息 导出任务 导出任务 导出任务 导出任务 导出任务 计算 消息 对象存储服务 HTTP MongoDB 时序数据库 ⽇日志检索服务 XSpark Report Studio 简单 · 可信赖 内容提要 • 系统设计分析与架构 • 多种上下游适配 • ⾼高吞吐/低延迟问题探究 • ⾼高可⽤用与⽔水平扩展 • ⾃自动化运维 • Go的应⽤用 简单 · 可信赖 系统设计分析与架构 构建系统的挑战 export service系统全貌 简单 · 可信赖 数据预取 • export server在向下游推数据的时候预先从上游拉数据回来,保证⽹网络最⼤大的利利⽤用率,同时也减⼩小了了等待时间,提升导出效率。 • 预取时如果⽆无数据可取,则休眠1s再取数据,既然没有数据则休眠时间加倍……⼀一直到32s为⽌止,过程中如果取到数据,则休眠时间重置为 1s,有效减少对底层存储的请求数量量。 简单 · 可信赖 数据推送协议优化 • 优化export0 码力 | 34 页 | 1.26 MB | 1 年前3
Go在数据库中间件的应用Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 • 强大的标准库、丰富的第三方库、go test、pprof • 自动内存管理;内存泄漏与野指针是C/C++语言开发者的噩梦 • Go routine + channel;简单的并发与简易的数据同步 5 系统整体方案 mysql-group proxy proxy mysqld(M) mysqld(S) mysqld(S) mysql-group mysql-group mysql-group 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 • 大表拆分为多个子表情况下的平滑扩容 7 系统整体方案 • 现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高 •0 码力 | 17 页 | 4.02 MB | 1 年前3
如何消除程序中的数据竞争-周光远如何消除程序中的数据竞争 周光远 华为 从一些问题说起 1 2 3 什么是数据竞争 Go语言中的数据竞争(data race): data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write. 数据竞争(data 且至少其中一次访问是写操作。 data Thread1 Thread2 data goroutine1 goroutine2 从微观看数据竞争 时间上:多个并发的读写操作被观察到的顺序无法预知。 空间上:并发读写时观察到非预期的数据。 a:1 b:2 a:2 b:1 a:1 b:2 a:2 b:1 a:1 b:1 a:2 b:2 Thread 1 Thread 2 接收完成(同一个数据); • 对于无缓冲channel:开始接收 → 发送完成(同一个数据); 开始发送 接收完成 其他的对于init函数,锁,协程,原子操作,sync包里的功能,还有许多保证,更详细可以看: https://golang.org/ref/mem https://go101.org/article/memory-model.html 消除数据竞争的原理 消除数据竞争,实质就0 码力 | 30 页 | 1.92 MB | 1 年前3
4.GPT 与数据库的生态整合GPT 与数据库的生态整合 王琦智 PingCAP TiDB 开发者生态高级工程师 目 录 自然语言到 SQL 01 自然语言到图表 02 GPTs 调用数据库 API 03 总结 04 自然语言到SQL OSS Insight 自然语言到图表 Thoughts to insights made easy(with AI) GPTs 调用数据库 API Thank You0 码力 | 21 页 | 3.33 MB | 1 年前3
1.每秒百万数据点 Go 应用监控系统演进每秒百万数据点 Go 应用监控系统演进 张平 AfterShip 高级 SRE 关于 AfterShip 拥抱云原生和开源系统 目 录 监控架构概览 01 如何监控 Go 应用? 02 Metrics 系统架构演进 03 Why VictoriaMetrics so good? 04 总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 2K+ 40K 1Mil+ 2020 年指标数据 业务指标数量 每秒写入数据点 Active Time Series 2018-2020 年架构 2020 年底面临的问题 ● 无法查询超过 30 天的数据 ● 查询慢,平均时间超过 2 分钟 ● 跨集群指标无法聚合 ● Prometheus 集群经常崩溃 ● 维护时 Prometheus 会丢数据 ● 成本高,需要大容量 SSD 磁盘 S3 2022 年中指标数据 14K+ 0.6Mil 30Mil+ 业务指标数量 每秒写入数据点 Active Time Series Thanos 架构优化 Querier Query-Frontend Store Gateway S3 Store Gateway Store Gateway Redis 2022 年底面临的问题 ● 超 100+ 倍数据点增长导致查询缓慢 ●0 码力 | 42 页 | 2.32 MB | 1 年前3
Go 构建大型开源分布式数据库技术内幕Go 搭建大型开源分布式数据库技术内幕 shenli@PingCAP 关于我 ● 申砾 (Shen Li) ● TiDB 技术负责人 ● 网易有道 / 360搜索 / PingCAP ● Infrastructure software engineer 为什么需要一个新的数据库? 从单机数据库到 NewSQL ● 关系型数据库 ● NoSQL ● 中间件 ● NewSQL Processing) ● 24/7 availability, even in case of datacenter outages ● Open source, of course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV Metadata / Timestamp request Stateless SQL Layer Distributed Storage Layer gRPC gRPC gRPC 数据分片 ● Hash Based Partition ○ Redis ○ 不利于范围 Scan ● Range Based Partition ○ Hbase ○ Range 需要足够大且足够小0 码力 | 44 页 | 649.68 KB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬区块链诞生 区块链是互联网发展到一 定阶段的必然产物,是在 低成本、高效、快捷的基 础上对其安全可信及多元 价值传递与贡献分配体系 的完善。 物理世界 价值互联网 移动互联网 互联网 数据可信 资产可信 合作可信 可信 普适 信息 数字世界 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 交易 区块 块链式数据结构 (狭义区块链) 分布式账本 (广义区块链) 交易指的是导致底层 数据状态发生变化的 一次操作请求,如一 笔转账交易 将一段时间内发生的 所有交易和状态打包 成为一个区块 区块以时间顺序前后相 连,组成一种块链式数 据结构,即“区块链” 一词的由来 多参与方各自部署,互 联互通,每个区块链节 点均会保存相同的链式 数据,通过冗余存储的 方式使数据难以被篡改0 码力 | 39 页 | 56.58 MB | 1 年前3
云原生时代分布式链路追踪实践-曲赛负 责人来自Grafana,Gitlab ✓ 持续更新 OpenTelemetry 2019年,由OpenTracing和OpenCensus合并 而来。 ✓ ✓ ✓ 蓬勃发展 Trace 数据模型:Trace Context,Baggage 6 Propagation Format W3C Trace-Context W3C Baggage Zipkin B3 format Trace 数据模型: Trace Detail 7 Trace 数据模型: Trace Detail 示例 8 Trace 采样策略 9 1. Head-based coherent sampling 2. Tail-based coherent sampling 3. Unitary sampling 4. 多维度染色采样:指定某用户或指定某文章采样 Trace 传递与采集 Grpc Instrumentatition 非侵入式的业务接入 otelgrpc instrumentation核心实现 利用拦截器机制的实现 接入便利,只需引入对应的拦截器 组件 trace基础属性自动采集 一次网络调用的经过的拦截器数据流 天机阁2.0 简介 12 天机阁2.0是遵循OpenTelemetry标准的,为各业务或平台提供分布式追踪,监控,日志, 多维染色,容量评估,架构治理等能力的云原生可观测性系统。0 码力 | 17 页 | 2.47 MB | 1 年前3
01. Erda 基于云原生的微服务可观测性 - 刘浩杨horizontal (三)数据关联 目 录 微服务系统监控的挑战 01 可观测性技术理论 02 Erda 服务观测平台技术内核分析 03 Erda 服务观测平台功能概览 04 Erda MSP 微服务观测平台 Erda 微服务观测平台优势 指标覆盖完整 通过多种探针,覆盖基础 设施、业务系统、用户终 端全面的数据指标 高实时性 通过流计算平台,数据 处理和告警延迟都在秒 级别 级别 海量数据 存储处理 高性能的大数据处理架 构,轻松应对海量可观 测性数据处理 平台架构 可观测性数据采集 可观测性数据处理 数据存储选择 ES 数据索引管理 自动路由 指标到索引 01 02 03 自动索引滚动 根据容量和 TTL 自动评估数据 删除周期 InfluxQL To ES 消除 ES 查询的复杂性 统一图表交互接口 目 录 微服务系统监控的挑战0 码力 | 25 页 | 6.96 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台交付标准化 - 可观察性 特点: 敏捷的⽬标是提升研发效能 需要⼀个 DevOps 平台来⽀撑敏捷开发的落地 这⾥需要有⼀个标准的交付平台 运⾏环境 业务 数据 业务系统 C 业务 数据 业务系统 A 业务 数据 业务系统 B 资源管理在统⼀平台 应⽤运⾏在统⼀平台 构建标准的交付环境 交付产物标准化 - 业务配置 - 资源配置 - 依赖配置 - 流⽔线配置 配置即代码 PaaS 发展历程 有状态服务 Job / JobFlow 批计算 流计算 ⽆状态服务 DaemonSet Workloads 多集群调度 混合云调度 跨云迁移 多环境调度 业务数据统⼀调度 集群核⼼服务 Helm 镜像服务 Add-on filebeat / telegraf 监控 ⽇志 HPA Operator 注册中⼼ 配置中⼼ API ⽹关 微服务拓扑 微服务管理 资源管理 标签管理 系统监控 集群管理 服务⽬录 埋点 数据库 ⽇志 画像 标签 报表 推荐 … 代码管理 持续集成 编排部署 应⽤运维 测试管理 协同管理 数据源管理 数据集成 数据开发 数据资产 数据服务 数据应⽤ 资源统计 运维报告 审计⽇志 K8S 管理 数据监控 多云管理平台 MySQL Redis Kafka ES MQ Minio0 码力 | 40 页 | 8.60 MB | 1 年前3
共 79 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













