#阿里云原生最佳实践# 大搜车:云上多地域高可用消息系统的构建

本文主要是介绍#阿里云原生最佳实践# 大搜车:云上多地域高可用消息系统的构建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

汽车产业互联网平台大搜车由姚军红创立于2012年12月,先后获得阿里巴巴集团、蚂蚁金服、晨兴资本、华平投资、春华资本等机构超过12亿美元融资。2017年12月,大搜车列入由硅谷全球数据研究机构PitchBook评选的“2017年全球新晋独角兽”名单。

目前,大搜车已经搭建起比较完整的汽车产业互联网协同生态。随着业务业务的快速发展,大搜车遇到了一系列的问题:

  • 大量微服务系统,总数在2000以上,这些系统之间的异步通信全部都需要通过消息队列MQ,导致消息量大幅增加,日均消息TPS在6000以上,消息系统的稳定性成为云上业务稳定保障的重中之重。
  • 由于有杭州和北京两大研发中心,客户在杭州和北京都部署了大量业务系统,多地域应用的消息同步需要有稳定可靠的机制。
  • 物联网设备的管理和接入对消息系统提出了更高的要求。
  • 大数据领域大量应用Kafka,需要更稳定可靠的商业版Kafka产品,减少运维工作量。

为了更好地支撑业务,大搜车利用云上MQTT+消息队列RocketMQ+全球消息路由+消息队列Kafka构建了完整的云上消息系统。

  1. 通过全球消息路由功能将杭州地域的消息同步到北京地域,做到业务分地区就近部署。
  2. 独立消息队列实例管理不同业务,可用性更高。
  3. 利用消息队列Kafka对接大数据生态,即开即用,快速扩容,可靠性更高。物联网设备通过MQTT进行接入,后台开发物联网设备管理平台,通过MQTT连接设备端,并对设备的能力进行管理,可通过平台调用设备端能力(比如发起会议、下发开机图片、获取设备信息等)。
  4. MQTT与RocketMQ后台消息打通,后端应用服务器无需保持设备端连接,以通用的RocketMQ消息进行对接,服务器端更稳定,连接管理更可靠。

56.png

  • 业务稳定性:阿里云RocketMQ提供99.99999999%的数据可靠性和99.95%的服务可用性SLA,确保服务高可用以及数据不丢失。
  • 高性能:RocketMQ支持千万级TPS以及亿级消息堆积,在业务高峰期依然可以保持高性能。
  • 全球消息路由:利用稳定可靠的路由功能,将客户多个地域的消息系统打通,实现业务就近访问,满足跨地域、远距离、毫秒级消息流转的需求。
  • 海量物联网设备管理:利用阿里云消息队列MQTT,实现物联网设备与云上业务应用可靠连接,轻松管理海量物联网设备。
  • 云上托管版Kafka:兼容开源Kafka协议,全托管,高可用,高安全。无缝对接开源及云上大数据生态。

这篇关于#阿里云原生最佳实践# 大搜车:云上多地域高可用消息系统的构建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573116

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: