【开源项目】网关ShenYu项目本地启动

项目介绍

ShenYu是由 ShenYu Admin和 ShenYu Bootstrap 两块组成。

ShenYu Admin是网关的后台管理系统,能够可视化管理所有插件、选择器和规则,设置用户、角色,控制资源。
ShenYu Bootstrap这部分才是网关核心部分,引入各个插件包。官方给出的一个网关demo,你也可以自己取其他名字作为网关羡慕,引入自己需要的插件包,以及插件的拓展。

我选择网关:ShenYu,[注册中心]/配置中心:nacos,微服务框架:dubbo

下载源码

git config --global core.longpaths true

项目地址:https://github.com/apache/shenyu

启动Admin

  • 修改存储方式,修改application.yml,使用mysql
spring:
  profiles:
    active: mysql
  • 修改同步方式
shenyu:
  sync:
    nacos:
      url: localhost:8848
      namespace: public
  • 修改application-mysql.yml配置信息,如果数据库表没同步,手动同步。数据库表在schema.sql
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  • 运行ShenyuAdminBootstrap
  • 访问http://localhost:9095/admin/123456 登录
  • 设置dubbo插件,设置注册方式nacos://localhost:8848?namespace=public

启动bootstrap

  • 修改配置application.yml
shenyu:
  sync:
    nacos:
      url: localhost:8848
      namespace: public
  • 引入nacos
        <!-- apache shenyu data sync start use nacos-->
        <dependency>
            <groupId>org.apache.shenyu</groupId>
            <artifactId>shenyu-spring-boot-starter-sync-data-nacos</artifactId>
            <version>${project.version}</version>
        </dependency>
  • 启动ShenyuBootstrapApplication
  • 网关接口地址:http://localhost:9195/

注册服务到网关

  • 打开shenyu-examples
  • 选择shenyu-examples-apache-dubbo-service-annotation ,主要修改注册的配置为nacos,以及dubbo注册中心同步改为nacos即可
shenyu:
  register:
    registerType: nacos #zookeeper #etcd #nacos #consul
    serverLists: localhost:8848 #localhost:2181 #http://localhost:2379 #localhost:8848
    props:
      username: admin
      password: 123456
  client:
    dubbo:
      props:
        contextPath: /dubbo
        appName: dubbo

dubbo:
  application:
    name: test-dubbo-service
  registry:
    address: nacos://127.0.0.1:8848
  protocol:
    name: dubbo
    port: 20888
  scan:
    base-packages: org.apache.shenyu.examples.apache.dubbo.service.annotation.impl
  • 启动TestApacheDubboAnnotationApplication

访问

在Admin中可以看到注册的接口信息。PluginList->Proxy-Dubbo

随意访问一个接口即可看到返回结果,则表示网关正常使用。http://localhost:9195/dubbo/findAll

返回结果:

{"name":"hello world shenyu Apache, findAll","id":"1729901691"}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值