当前位置: 首页 > article >正文

行业案例:高德服务单元化方案和架构实践

目录

为什么要做单元化

高德单元化的特点

高德单元化实践

服务单元化架构

就近接入实现方案

路由表设计

路由计算

服务端数据驱动的单元化场景

总结

系列阅读


为什么要做单元化

  • 单机房资源瓶颈

     随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服务的持续扩容。

  • 服务异地容灾
       异地容灾已经成为核心服务的标配,有的服务虽然进行了多地多机房部署,但数据还是只在中心机房, 实现真正意义上的异地多活,就需要对服务进行单元化改造。

高德单元化的特点

   在做高德单元化项目时,我们首先要考虑的是结合高德的业务特点,看高德的单元化有什么不一样的诉 求,这样就清楚哪些经验和方案是可以直接拿来用的,哪些又是需要我们去解决的。
高德业务和传统的在线交易业务还是不太一样,高德为用户提供以导航为代表的出行服务,很多业务场 景对服务的RT 要求会很高,所以在做单元化方案时,尽可能减少对整体服务 RT 的影响就是我们需要重
点考虑的问题,尽量做到数据离用户近一些。转换到单元化技术层面需要解决两个问题 :
  1. 用户设备的单元接入需要尽可能的做到就近接入,用户真实地理位置接近哪个单元就接入哪个单元, 如华北用户接入到张北,华南接入到深圳。
  2. 用户的单元划分最好能与就近接入的单元保持一致,减少单元间的跨单元路由。如用户请求从深圳进 来,用户的单元划分最好就在深圳单元,如果划到张北单元就会造成跨单元路由。
另外一个区别就是高德很多业务是无须登录的,所以我们的单元化方案除了用户 ID 也要支持基于设备 ID。

高德单元化实践

    服务的单元化架构改造需要一个至上而下的系统性设计,核心要解决请求路由、单元封闭、数据同步三 方面问题。

请求路由:根据高德业务的特点,我们提供了取模路由和路由表路由两种策略,目前上线应用使用较多 的是路由表路由策略。
单元封闭:得益于集团的基础设施建设,我们使用 vipserver hsf 等服务治理能力保证服务同机房调 用,从而实现单元封闭(hsf unit 模式也是一种可行的方案,但个人认为同机房调用的架构和模式更简洁 且易于维护)
数据同步:数据部分使用的是集团 DB 产品提供的 DRC 数据同步。

http://www.kler.cn/a/502675.html

相关文章:

  • 行业案例:高德服务单元化方案和架构实践
  • 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍为什么self-attention可以堆叠多层,这有什么作用?
  • unity打包sdk热更新笔记
  • java人脸识别
  • Day05-后端Web基础——TomcatServletHTTP协议SpringBootWeb入门
  • Elasticsearch入门学习
  • 【开源免费】基于SpringBoot+Vue.JS企业级工位管理系统(JAVA毕业设计)
  • C++ 的 pair 和 tuple
  • 【江协STM32】11-1 SPI通信协议
  • UE5 打包项目
  • 【源码解析】Java NIO 包中的 Buffer
  • 新型物联网智能断路器功能参数介绍
  • Spring Boot3 配合ProxySQL实现对 MySQL 主从同步的读写分离和负载均衡
  • 【2024年华为OD机试】 (C卷,100分)- 工号不够用了怎么办?(Java JS PythonC/C++)
  • 【机器学习】数学知识:指数函数(exp)
  • 大语言模型的分层架构:高效建模的全新探索
  • Vue.js组件开发,AI时代的前端新玩法
  • LabVIEW自动扫描与图像清晰度检测
  • kalilinux - msf和永恒之蓝漏洞
  • C#学习笔记 --- 简单应用
  • B树——C++
  • 6. NLP自然语言处理(Natural Language Processing)
  • 【HM-React】07. 登录模块
  • 算法日记1:洛谷p2678跳石头(二分答案)
  • 使用R包Corrplot绘制相关性图
  • Oracle数据库高效管理与优化实践