Apache ShenYu 网关正式支持 Dubbo3 服务代理

本文详细介绍了如何通过Apache ShenYu网关访问Dubbo服务,从简单示例到核心调用流程分析,涵盖了Dubbo3服务接入、注册中心配置、数据同步原理等内容。此外,还探讨了Dubbo3作为云原生微服务框架的特性,以及ShenYu网关如何处理HTTP到Dubbo协议转换。
摘要由CSDN通过智能技术生成

作者:刘良

Apache Dubbo 在去年发布了下一代的云原生微服务版本 Dubbo3,目前最新版本 Dubbo3 已在阿里经济体完成对 HSF2 框架的全面替换与升级,Dubbo3 目前已成为社区企业实践推荐版本。Apache Shenyu 网关在这个背景下发布了对 Dubbo3 服务代理的支持。

本文介绍了如何通过 Apache ShenYu 网关访问 Dubbo 服务,主要内容包括从简单示例到核心调用流程分析,并对设计原理进行了总结。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0I4IAXbM-1653295363634)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/28d8524a651948208f291c4c36bc69f4~tplv-k3u1fbpfcp-zoom-1.image “1.png”)]

介绍

Apache ShenYu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Chj3cjd-1653295363635)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0f328b4a65334ba49c02478b7d1189aa~tplv-k3u1fbpfcp-zoom-1.image “2.png”)]

Apache ShenYu(Incubating)是一个异步的,高性能的,跨语言的,响应式的 API 网关。兼容各种主流框架体系,支持热插拔,用户可以定制化开发,满足用户各种场景的现状和未来需求,经历过大规模场景的锤炼。

2021 年 5 月,ShenYu 捐献给 Apache 软件基金会,Apache 基金会全票通过,顺利进入孵化器。

Apache Dubbo

Dubbo3 是下一代的云原生微服务框架,全面升级了包括下一代 RPC 协议、应用级服务发现、Dubbo Mesh、统一服务治理等核心能力,多语言 Java、Golang 同步发布 3.0 特性。目前最新版本 Dubbo3 已在阿里经济体完成对 HSF2 框架的全面替换与升级,包括阿里核心电商、阿里云、活饿了么、钉钉、考拉等都已经全面升级 Dubbo3,2022 双 11 大促核心系统将跑在 Dubbo3 之上,社区用户包括工商银行、小米、平安健康等也已成功升级 Dubbo3 核心功能。

Dubbo 快速开始

本小节介绍如何将 Dubbo 服务接入到 ShenYu 网关,您可以直接在工程下找到本小节的示例代码 。

启动 shenyu-admin

shenyu-admin 是 Apache ShenYu 后台管理系统, 启动的方式有多种,本文通过本地部署的方式启动。启动成功后,需要在基础配置->插件管理中,把 dubbo 插件设置为开启,并设置你的注册地址,请确保注册中心已经开启。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ulzacxb3-1653295363635)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8dafd7d616de404eaa99c625d489284c~tplv-k3u1fbpfcp-zoom-1.image “3.png”)]

启动 shenyu 网关

在这里通过源码的方式启动,直接运行 shenyu-bootstrap 中的 ShenyuBootstrapApplication。

在启动前,请确保网关已经引入相关依赖。如果客户端是 apache dubbo,注册中心使用 zookeeper,请参考如下配置:


<!-- apache shenyu  apache dubbo plugin start-->
        <dependency>
            <groupId>org.apache.shenyu</groupId>
            <artifactId>shenyu-spring-boot-starter-plugin-apache-dubbo</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>3.0.8</version>
        </dependency>
        <!-- Dubbo zookeeper registry dependency start -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-client</artifactId>
            <version>4.0.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>log4j</artifactId>
                    <groupId>log4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</art
shenyu网关是一款开源的API网关软件,它可以帮助开发者实现对接口的统一管理和流量控制。shenyu网关提供了多种功能,包括请求转发、请求过滤、流量限制、负载均衡等,帮助用户实现高可用和高稳定性的系统架构。 shenyu网关基于Java开发,使用简单方便,支持多种开源框架和中间件,如Spring Boot、Dubbo、Motan等。通过使用shenyu网关,开发者可以快速搭建起一个完善的微服务架构,可以轻松地管理和监控各个微服务之间的通信和流量。 另外,shenyu网关还提供了可视化的管理界面,方便用户进行参数配置、资源管理、性能监控等操作。用户可以通过该界面对各个服务进行细粒度的管理,实现功能的灵活配置和动态调整。 码云是中国最大的代码托管平台,类似于国外的GitHub。用户可以通过码云托管自己的代码仓库,并利用这个平台进行团队协作和项目管理。码云提供了Git版本控制、代码托管、代码审查等功能,支持多种开发语言和开发工具。 与GitHub不同的是,码云在国内具有更好的访问速度和稳定性,同时还提供了国内常用的Git代码托管服务支持国内的开发者更方便地使用和访问。用户可以在码云上创建自己的项目仓库,与其他开发者进行交流学习,并共同进行开发和维护。 综上所述,shenyu网关和码云都是开发者常用的工具。shenyu网关可以帮助开发者实现API网关的功能,提供统一的接口管理和流量控制;码云则是代码托管平台,提供代码的版本控制和团队协作功能。两者的结合可以帮助开发者更好地进行微服务架构的开发和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值