活动回顾 | AutoMQ 联合 GreptimeDB 共同探讨新能源汽车数据基础设施
7 月 13 日,AutoMQ 携手 GreptimeDB“新能源汽车数据基础设施” 主题 meetup 在上海圆满落幕。本次论坛多角度探讨如何通过创新的数据管理和存储架构,提升汽车系统的性能、安全性和可靠性,从而驱动行业的持续发展和创新,涵盖 AutoMQ 多模态共享存储架构、长城汽车多云多活架构的实践与探索、GreptimeDB 边云一体化数据库介绍、小红书深度解读 AutoMQ 云原生及多云容灾架构、车载嵌入式时序数据库的技术挑战和方案等议题。本次主题活动现场氛围热烈,吸引了众多技术爱好者积极参与,下面让我们一起回顾本次活动的精彩看点。
一、AutoMQ 多云原生再升级:多模态共享存储架构
AutoMQ CTO&联合创始人周新宇从 kafka 的生态位及面临的挑战出发,深入剖析了 AutoMQ 共享存储架构,多云的最佳实践,讲解了共享存储架构的技术优势,并对未来进行展望。
AutoMQ 共享存储架构
架构重构和存储分离:AutoMQ 重新设计了 Kafka 的架构,将存储分离到云存储(S3)上,通过 S3 Stream 实现,使计算层完全无状态。
存储选择和优势:提到了选择 EBS 和 S3 作为存储解决方案的考虑,EBS 用于低延迟高性能需求,S3 作为简单可靠的选择,适用于不那么高实时性要求的场景。
共享存储架构设计:结合了 WAL 和 S3 对象存储,确保了数据的持久性和高可靠性,提升了整体架构的弹性和稳定性。
自动化运维和优化:控制面设计 Auto scaling 和 AutoBalaning 组件,能够实现秒级扩缩容和实时流量平衡。
AutoMQ 最佳实践:阿里云、Azure、GCP 、AWS
在阿里云、Azure、GCP云上,推荐使用 Regional EBS ,因其成本性能 trade off 好,可跨 AZ多重挂载,故障时由其他 AZ 的 broker 恢复。
在 AWS 上,由于 AWS 没有 Regional EBS 形态,为实现多 AZ 的 AutoMQ 部署,采用同步双写两个 WAL 组合 EBS WAL 和 S3 Express WAL,避免自定义网络通道复制及高昂的复制流量成本。还有一种形态是完全选择 S3 WAL,价格精简,但延迟较高,适用于 EBS 能力不足的云厂商或私有云场景,架构简单,运维方便。
AutoMQ 技术优势
成本节约:通过对象存储取代 EBS,存储成本可降低至 7 到 10 倍;无需复制带来的计算资源节省约 2/3,实现十倍成本优势。
运维效率提升:分区迁移时间由传统的数小时缩短至仅需几秒钟,大幅简化扩容和流量均衡操作。
兼容性与部署选择:百分之百兼容现有版本,提供全托管 SaaS 和 BYOC 两种部署形态,灵活满足用户需求。
二、长城汽车多云多活架构的实践与探索
长城汽车的研发总监陈天予老师不仅展示了长城汽车在新能源汽车领域的技术创新,还介绍了他们在面对 IT 挑战时的解决方案。特别是在云计算和服务化架构方面,他们通过多云策略和双活架构,成功地应对了企业在数字化转型过程中的复杂性和挑战。
长城汽车“多云多活”解决方案
长城提出了“同城双活”的解决方案,旨在应对云服务的可靠性和灵活性问题:
多云多活的重要性:这不仅仅是为了应对云服务商的故障,更是为了确保长城汽车在任何时候都能够提供稳定可靠的服务,通过在多家云厂商间建立接入点,实现了跨云架构,提高了系统的容错能力和稳定性。
多朵云的选择与管理:长城不再简单地将工作负载迁移到另一个云平台,而是积极利用不同云厂商的特点和优势,通过全网数据流量调度和服务化管理,确保系统的高可用性和性能优化。
控制面与数据面分离:长城实现了控制面和数据面的分离,这样即使一个云平台的控制面出现问题,数据面依然可以独立运行,从而避免了全面的系统故障。
AutoMQ在长城的实践
MQ 在跨云场景的使用痛点:传统的 MQ 产品在云厂商之间的数据同步困难重重,实现有效的云端稳定性保障和跨云迁移,需要额外的数据同步工具或自建解决方案。
AutoMQ 跨云解决方案的关键性:AutoMQ 具有控制面与数据面分离的优势,作为解决跨云数据同步难题的关键解决方案。
三、One database, two sides: GreptimeDB 边云一体化数据库介绍
GreptimeDB 首席研发工程师罗傅聪老师演讲涵盖智能汽车数据的价值和挑战,深入剖析了 GreptimeDB 车云一体化数据库,并介绍在某车企的实际应用案例。
智能汽车数据的价值与挑战
价值:智能汽车数据包含丰富的驾驶前、中、后数据,可以提供全面的驾驶分析和优化。挑战:
数据使用成本高,主要包括存储成本、车端上传成本和云端计算成本。
车端信号收集面临精度和空间占用的难以兼得问题。
HTTP 上传在 4G/5G 网络条件下流量费用昂贵。
** Greptime DB 车云一体化数据库**
车端使用 GreptimeDB Edge 版本数据库,具备毫秒级信号精度和低资源占用优势。利用 GreptimeDB Edge 的 SSD 文件和高效压缩算法,实现数据上传流量节省。
Greptime Ingester 简化数据合并与导入,优化云端的计算与开发成本。
GreptimeDB Cloud 云原生数据库,存算分离,Share Storage 架构 ,数据实时性从天级别降低到秒级别。
** 某车企实践经验**
吞吐量测试结果:
单车 20 分钟内上传 700 多个 SST 文件,云端导入耗时仅 7 秒。
总计 5.6 亿个信号点的同步处理吞吐量达到 8000 万点/秒,实现毫秒级的数据同步与分析。
成功为客户节省数亿元人民币的流量和存储成本,提升数据精度从秒级到毫秒级,查询时效降低到秒级。
四、小红书深度解读 AutoMQ 云原生及多云容灾架构
小红书消息引擎专家黄章衡老师详细介绍了小红书 Kafka 云原生架构,讲解了 AutoMQ 的云原生及多云容灾架构,并最后展望了小红书消息团队与 AutoMQ 社区共探云原生消息引擎,共建健康活跃社区。
小红书云原生方案
分层存储:引入弹性的云原生架构,如分层存储架构,将近实时的热数据存储在本地云盘,历史数据卸载到对象存储。这一调整显著降低存储成本,并提升了机器扩展能力。
容器化:采用容器化部署方案,通过 Kubernetes 屏蔽底层云差异,提升了混部能力和调度效率。容器化技术还能填平 CPU 利用率低谷,优化计算资源利用率。
AutoMQ 云原生架构
AutoMQ 核心架构,分为三个关键部分:
S3 Stream:由 EBS 和对象存储组成,提供低延迟、高存储容量。
Broker:内嵌于 Essential 中,负责数据的读写操作,支持秒级关机和自动扩缩容。
控制面:负责监听集群水位线,实现流量自动平衡和扩缩容。
他针对 S3 Stream 做了详细讲解,S3 Stream 存储模型支持无限流式数据的位点读写,通过预写日志和对象存储确保数据持久性。
AutoMQ 多云容灾方案
秒级分区迁移的容灾方案:AutoMQ 通过云盘的多重挂载机制实现秒级分区迁移的容灾方案。在分区迁移时,数据首先上传到对象存储,然后在其他 Broker 上恢复元数据,实现无数据迁移的数据恢复。
多种容灾机制的应用:AutoMQ 使用多种容灾机制应对不同云平台的需求,如云盘挂载机制、Fengcing 机制等,确保在节点故障时数据安全和系统稳定性。
五、车载嵌入式时序数据库的技术挑战和方案
GreptimeDB 研发工程师黄磊聚焦于车载嵌入式时序数据库,首先介绍了车载嵌入式实时数据库的价值和挑战,讲解了 GreptimeDB 存储系统,重点介绍了 GreptimeDB Edge 优化经验。
GreptimeDB Edge 优化经验
CPU 优化:
包括平均 CPU 和峰值 CPU 的优化。通过 SST 编码优化不同列和数据类型的数据压缩和编码方式;通过 Flush 节控制峰值 CPU。
优化协议解析,确保 SDK 和 DB 侧的数据编解码过程高效。
内存优化:
- 在车端数据库中,使用基于时间序列的 Memtable 数据结构替代传统的 LSM 结构,有效减少内存占用和数据膨胀问题,同时保证了性能。
IO 优化:
基于车机闪存特点优化,包括按表粒度开关 WAL、考虑车端数据特点优化 Compaction 等。
优化 IPC 引入的 IO,解决安卓平台通信问题,实现无额外写盘操作,IO 情况显著优化。
稳定性方面(rust / C FFI 实践):
因 C++依赖管理问题,用 Rust 重写 SDK 并提供 FFI 胶水层。
带来收益:Cargo 便捷的工程管理、交叉编译简单、内存管理提升排查效率。
最后,感谢本次活动各位嘉宾的精彩演讲,也感谢线下和线上的小伙伴积极参与!更多 meetup 活动也在筹备中,期待小伙伴们参与!
资源分享
在AutoMQ公众号后台回复“新能源汽车”或点击下方原文链接可获得本次meetup 讲师 PPT 链接;活动直播录屏在 B 站和视频号发布。
END
关于我们
我们是来自 Apache RocketMQ 和 Linux LVS 项目的核心团队,曾经见证并应对过消息队列基础设施在大型互联网公司和云计算公司的挑战。现在我们基于对象存储优先、存算分离、多云原生等技术理念,重新设计并实现了 Apache Kafka 和 Apache RocketMQ,带来高达 10 倍的成本优势和百倍的弹性效率提升。
🌟 GitHub 地址:https://github.com/AutoMQ/automq
💻 官网:https://www.automq.com?utm_source=openwrite
👀 B站:AutoMQ官方账号
🔍 视频号:AutoMQ
相关文章:
活动回顾 | AutoMQ 联合 GreptimeDB 共同探讨新能源汽车数据基础设施
7 月 13 日,AutoMQ 携手 GreptimeDB“新能源汽车数据基础设施” 主题 meetup 在上海圆满落幕。本次论坛多角度探讨如何通过创新的数据管理和存储架构,提升汽车系统的性能、安全性和可靠性,从而驱动行业的持续发展和创新,涵盖 Auto…...
格式工厂转换视频分辨率
1、下载和安装 http://www.pcfreetime.com/formatfactory/CN/index.html 2、打开视频 3、设置分辨率等参数 也可以选择保持原分辨率 4、执行导出 5、打开输出所在位置...
ReAct 大模型提示框架
你可能不熟悉 ReAct,这是一个旨在增强语言模型 (LLM) 决策能力的尖端框架。 通过使用新的观察结果更新 LLM 的上下文窗口并提示其重新评估信息,ReAct 促进了类似于人类思维过程的推理水平,超越了诸如思维链提示之类的旧技术。 在本文中&…...
JavaEE:Lombok工具包的使用以及EditStarter插件的安装
Lombok是一个Java工具库,通过添加注解的方式,简化Java的开发。 目录 1、引入依赖 2、使用 3、原理解释 4、更多使用 5、更快捷的引入依赖 1、引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lomb…...
基于纹理和统计图像特征集成的计算机辅助乳腺癌检测
诊断通常使用组织病理学切片,可以确定组织是否处于导管原位癌(DCIS)阶段,其中癌细胞尚未扩散到周围乳腺组织,或浸润性导管癌(IDC)阶段,其中细胞已渗透到邻近组织。对于医生来说,检测IDC非常耗时且具有挑战性。因此&…...
Java基础 - 简介和配置环境变量
目录 一. 简介 二. 开发环境配置 下载JDK 配置环境变量 Java_Home配置, Path 配置 CLASSPATH 配置 三. 编辑器选择 1.JetBrains 2. Eclipse 3.vscode 下载vscode 安装 vscode插件 四. 总结 一. 简介 Java 是由 Sun Microsystems 公司(后被 Oracle 收…...
水域救援装备的详细简介_鼎跃安全
水域救援行动需要救援人员配备全面、专业的装备,以应对各种复杂的水域环境和救援任务。水域救援套装应运而生,它集合了水域救援所需的各类关键装备,为救援人员提供全方位的保护和辅助,确保数援行动的高效与安全。 水域救援头盔&am…...
二、BIO、NIO、直接内存与零拷贝
一、网络通信编程基础 1、Socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口,由操作系统提供; Socket将复杂的TCP/IP协议处理和通信缓存管理都隐藏在接口后面,对用户来说就是使用简单的接口进行网络应用编程…...
生成式AI的发展方向:Chat vs Agent
一、整体介绍 生成式AI作为人工智能领域的重要分支,近年来取得了显著进展,并在多个领域展现出巨大潜力。其核心在于通过机器学习和深度学习算法,从大量数据中学习规律和特征,进而生成具有创新性和多样性的文本、图像、音频和视频…...
吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.9-2.10
目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.9 什么是端到端的深度学习?(What is end-to-end deep learning?&#x…...
变频空调介绍
直流变频空调:只有压缩机是直流变频的,而室外机风电机和室内机风电机都是定频的。 全直流变频空调:它的压缩机是直流变频的,并且室外机风机和室内机风机都是直流变频的。因为大三部件一个不漏,所以就叫做全直流变频。…...
C语言实现二叉树以及二叉树的详细介绍
目录 1.树概念及结构 1.1树的概念 1.2树的相关概念 1.3树的表示 2.二叉树概念及结构 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的性质 2.4二叉树的存储结构 3.二叉树顺序结构--特殊的二叉树--堆及其实现 3.1堆的概念及结构 3.2堆的实现 3.2.1堆的结构 3.2.2堆…...
VScode:前端项目中yarn包的安装和使用
一、首先打开PowerShell-管理员身份运行ISE 输入命令: set-ExecutionPolicy RemoteSigned 选择“全是”,表示允许在本地计算机上运行由本地用户创建的脚本,没有报错就行了 二、接着打开VScode集成终端,安装yarn插件 输入 npm ins…...
cmake configure_package_config_file指令详解
在 CMake 中,configure_package_config_file 命令用于生成包配置文件(Package Configuration File),这些文件用于指定如何使用和链接某个库或工具。通常情况下,这些文件用于支持 CMake 的 find_package 命令来查找和加…...
准备跳槽了(仍然底层为主,ue独立游戏为辅)
思考再三,准备跳槽了。 一、跳槽原因: 今年经济形势非常不好。那我为什么还要跳槽呢?因为干不下去了。公司是末位淘汰制,而我绩效垫底了。给我的整改措施中,部门经理让我三个月搞定60个bug,我觉得简直是送…...
汽车免拆诊断案例 | 卡罗拉急加速抖动故障排除
车型信息 2017年改款卡罗拉,排量1.2T,行驶里程48800公里。 故障现象 车辆不管在什么状态下,只要是平缓加速,都不会有抖动。车辆静止时,急加速时,也不会有抖动。但是车速达40公里/小时以上,急加…...
【JAVA】深入理解Hutool中的Pair、Triple和Tuple:组合数据的新方式,方法返回多个值,嘎嘎香,谁用谁知道,比原生好用更强大
Hutool 是一个开源的 Java 工具库,提供了丰富且实用的功能,旨在减少 Java 程序员在日常开发中重复造轮子的工作。在 Hutool 中,Pair、Triple 和 Tuple 是三种用于组合和存储不同数量相关联数据的类。以下是这三个类的简介: 1、添…...
modulepreload 对性能的影响
一、正面影响 减少加载时间: modulepreload 可以让浏览器提前下载模块脚本,减少页面加载时间,特别是对于依赖较多的复杂应用。这种预加载可以让浏览器在遇到 modulepreload 链接时立即开始下载,而不是等到实际需要时才下载提升用…...
问题:向上对齐对象的快捷键是: #学习方法#笔记
问题:向上对齐对象的快捷键是: A、T B、L C、R D、W 参考答案如图所示...
C# 4.List
comboBox使用的下拉框 Lsit 列表 1 创建List对象 List<string> list new List<string>(); 2 Add给list 添加元素 list.Add("吃饭"); list.Add("睡觉"); list.Add("打豆豆"); 3 删除一个元素 list.Remove("吃饭"); // 删…...
界面控件DevExpress Blazor UI v24.1 - 发布全新TreeList组件
DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 DevExpress Blazor控件目前已经升级…...
docker默认存储地址 var/lib/docker 满了,换个存储地址操作流程
1. 查看docker 存储地址 docker info如下 var/lib/docker2、查看内存大小 按需执行 df -h 找超过100M的大文件 find / -type f -size 100M -exec ls -lh {} \; df -Th /var/lib/docker 查找这个文件的容量 df -h 查找所有挂载点 du -hs /home/syy_temp/*1、df -h 2、sud…...
SpringMVC的底层工作原理?
1.用户发送请求至前端控制器DispatcherServlet. 2.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器 3.HandlerMapping找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器及处理器拦截器(如果有则生成)一并返回给DispatcherSe…...
PyTorch 深度学习实践-处理多维特征的输入
视频指路 参考博客笔记 参考笔记二 通过多个线性模型来模拟非线性的空间变换,矩阵计算就是不同维度之间的空间转换 说明:1、乘的权重(w)都一样,加的偏置(b)也一样。b变成矩阵时使用广播机制。神经网络的参数w和b是网络需要学习的,…...
常见逻辑漏洞举例
文章目录 简介用户名可枚举验证码可绕过/验证码回传越权访问任意密码修改验证码回传订单金额任意修改URL跳转漏洞短信轰炸找回密码还有很多逻辑漏洞,其实并没有什么技巧,要分析清楚他的业务逻辑,可能很多正常的流程中就存在着逻辑漏洞。 简介…...
FastAPI 学习之路(五十九)封装统一的json返回处理工具
在本篇文章之前的接口,我们每个接口异常返回的数据格式都不一样,处理起来也没有那么方便,因此我们可以封装一个统一的json。 from fastapi import status from fastapi.responses import JSONResponse, Response from typing import Unionde…...
tg小程序前端-dogs前端源码分析
tg小程序前端-dogs前端源码分析 前端源码 index.html <!DOCTYPE html> <html lang="en"><head><script src="https://telegram.org/js/telegram-web-app.js" onload="window.Telegram.WebApp.expand(); window.Telegram.WebA…...
Linux——多路复用之select
目录 前言 一、select的认识 二、select的接口 三、select的使用 四、select的优缺点 前言 在前面,我们学习了五种IO模型,对IO有了基本的认识,知道了select效率很高,可以等待多个文件描述符,那他是如何等待的呢&a…...
探索.NET内存之海:垃圾回收的艺术与实践
简述 在.NET的广阔天地中,内存管理如同航海中的罗盘,指引着程序的稳健运行和性能的极致优化。作为软件工程师,我们时常在代码的海洋中航行,而内存管理则是确保航程顺畅的关键。本文将带您深入.NET的内存管理世界,一探垃…...
路由数据获取及封装方法
数据库设计 自联表 定义tree字段 public class LabelValue{public int label { get; set; }public string? value { get; set; }public List<LabelValue> children { get; set; }}获取路由方法 public Response<object> getMenuList() {Response<object>…...
深圳网站建设制作哪家便宜/seo精华网站
随着9月份即将到来,华为的新款高端芯片麒麟1020的消息也日渐多了起来,基本可以确定的这将是全球第一款采用5nm工艺的芯片,显示出它在面临重重阻力之下依然稳步推进自己的芯片研发进程。华为海思推出的麒麟系列芯片在技术性能方面已与全球手机…...
厦门外贸网站建设哪家公司大/app推广一手单
主要内容1.编码问题2.File类的使用3.RandomAccessFile的使用4.I/O 输入输出流编码问题:1 importjava.io.UnsupportedEncodingException;23 public class编码问题 {4 public static voidmain(String[] args) {5 //我们项目的默认编码是GBK6 String s "测试 ABC…...
免费wordpress政府模板/橘子seo查询
1、不返回null值字段 JsonInclude(JsonInclude.Include.NON_NULL) 2、忽略,不返回该字段 JsonIgnoreprivate Integer age;...
域名备案服务/搜狗seo怎么做
DelayQueue是一个延迟队列。在指定时间才能获取队列元素,队列头元素是即将过期的元素。 元素需要实现 Delayed 接口。该接口有两个抽象方法, getDelay(TimeUnit.NANOSECONDS)返回元素延迟时长.DelayQueue在取出元素后,会判断该方法返回是否…...
淘宝做网站找我要发票/长沙百度网站优化
http真的很重要 缓存验证 三次握手 https为什么安全 什么是长链接 http2的信道复用为什么可以提高性能 浏览器输入URL后HTTP请求返回的完整过程 http的发展历史 http/0.9,只有一个命令GET,没有header等描述数据的信息,服务器发送完毕&…...
江苏网站建设开发/seo搜索引擎优化求职简历
有哪些基础的问题? 一些简单的问题在前面的文章中都体现了: 为什么要使用消息中间件?消息中间件有哪些缺点?ActiveMQ、RabbitMQ、RocketMQ和kafka都有什么优缺点?RabbitMQ如何保证高可用性?kafka如何保证…...