《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——三、 网关(2) https://developer.aliyun.com/article/1223992
2. Apache Shenyu
1) 介绍
• Apache ShenYu
Apache ShenYu(Incubating)是一个异步的,高性能的,跨语言的,响应式的API网关。兼容各种主流框架体系,支持热插拔,用户可以定制化开发,满足用户各种场景的现状和未来需求,经历过大规模场景的锤炼。
2021年5月,ShenYu捐献给Apache软件基金会,Apache基金会全票通过,顺利进入孵化器。
• Apache Dubbo
Apache Dubbo是一款微服务开发框架,它提供了RPC通信与微服务治理两大关键能力。这意味着,使用Dubbo开发的微服务,将具备相互之间的远程发现与通信能力,同时利用Dubbo提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。同时Dubbo是高度可扩展的,用户几乎可以在任意功能点去定制自己的实现,以改变框架的默认行为来满足自己的业务需求。
2) Dubbo快速开始
本小节介绍如何将Dubbo服务接入到ShenYu网关,您可以直接在工程下找到本小节的示例代码。
a) 启动shenyu-admin
shenyu-admin是Apache ShenYu后台管理系统,启动的方式有多种,本文通过本地部署的方式启动。启动成功后,需要在基础配置->插件管理中,把dubbo插件设置为开启,并设置你的注册地址,请确保注册中心已经开启。
b) 启动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>2.7.5</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</artifactId> <version>4.0.1</version> </dependency> <!-- Dubbo zookeeper registry dependency end --> <!-- apache dubbo plugin end-->
《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——三、 网关(4) https://developer.aliyun.com/article/1223989