实践案例:同程艺龙网的 Dubbo 升级经验总结

2023-10-25 20:50

本文主要是介绍实践案例:同程艺龙网的 Dubbo 升级经验总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇为同程艺龙 Apache Dubbo 的实践案例总结。可访问项目官网 https://dubbo.apache.org/ 了解案例细节,或搜索关注官方公众号 Apache Dubbo 跟进最新动态。

作者信息:

  • 严浩:同程艺龙高级开发,负责服务治理相关工作, Apache Dubbo Committer。
  • 胥皓:同程艺龙高级开发,负责服务治理相关工作。

Dubbo3在同程旅行的实践

背景

在微服务发展初期,市场上还没有成熟和流行的 RPC 框架,我们公司内部自研开发了一套名为 DSF (Distributed Service Framework) 的 RPC 框架,支撑起了公司业务的高速发展。但是随着技术的快速迭代和人员的不断变更,开发者既要修复之前的 BUG 又要跟上技术的更新,开发维护成本越来越高。另一方面,现在应用程序都在往云原生方向发展与设计,公司也在这方面做出探索。因此公司微服务框架的演进已经到了岔路口,是全新升级原有的 SDK,还是选择拥抱开源?

考虑到升级现有的 SDK 在一段时间之后可能依然会面临现在的问题,最后我们选择了拥抱开源。在一番调研之后我们选择了 Dubbo3 作为公司的下一代 RPC 框架,担任微服务治理体系的数据面。

目前 Dubbo3 在公司的落地开发工作已经完成,通过本文我们对公司内部 Dubbo3 的实践及收益做了深入总结。

Dubbo3 核心功能介绍

Dubbo 社区关于 Dubbo 3 的文档和资料越来越完善,以下是我们从社区引用的一些内容。

Dubbo3 被社区寄予厚望,将其视为下一代云原生服务框架打造,Dubbo3 提供的核心特性列表,主要包括四部分。

  1. 全新服务发现模型。应用粒度服务发现,面向云原生设计,适配基础设施与异构系统;性能与集群伸缩性大幅提升。
  2. 下一代 RPC 协议 Triple。基于 HTTP/2 的 Triple 协议,兼容 gRPC;网关穿透性强、多语言友好、支持 Reactive Stream。
  3. 统一流量治理模型。面向云原生流量治理,SDK、Mesh、VM、Container 等统一治理规则;能够支持更丰富的流量治理场景。
  4. Service Mesh。在最新的3.1.0的版本中支持Sidecar Mesh 与 Proxyless Mesh,提供更多架构选择,降低迁移、落地成本。

Dubbo3 的核心功能点(如应用级服务发现以 ip、port 为区分实例)和公司内部的服务模型一致,极大地减少了我们的适配工作。还有在 Service Mesh 中对 Sidecar Mesh 与 Proxyless Mesh 的支持也将减少后续公司对 Mesh 方案的探索成本,包括 Dubbo3 在多语言体系的发展也为异构架构提供了支撑。

总的来说,Dubbo3 非常契合公司的技术体系和后续的发展方向。此外,Dubbo 在开发者中的熟悉度、社区的高活跃度和完善的文档建设也都能为推动 Dubbo3 的使用带来不少的帮助。

方案调研

在了解了 Dubbo3 的核心功能和基本工作原理之后我们开始前期工作阶段。

公司内部存在微服务体系 RPC 框架 DSF 和承担服务发现、路由、上下负载等功能的控制中心,如果让用户直接切换到 Dubbo3 使用完全隔离的一套微服务体系会对用户带来高额的升级和切换成本。所以我们选择用 Dubbo3 替换之前的 DSF 框架作为数据面,将 Dubbo3 接入当前的微服务控制中心。同时要求 Dubbo3 支持原有 DSF 框架的私有协议,与 DSF 框架能够相互发现和调用,进一步降低用户升级成本。

这样用户在编程习惯上和 Dubbo3 的使用完全保持一致,在服务治理上(如上下负载、同中心路由、实例标签等功能)的使用与 DSF 保持一致。由于

这篇关于实践案例:同程艺龙网的 Dubbo 升级经验总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

macOS升级后SVN升级

问题 svn: error: The subversion command line tools are no longer provided by Xcode. 解决 sudo chown -R $(whoami) /usr/local/Cellar brew install svn

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO