前戏

先大体介绍一下我们项目使用的架构,网关ShenYu,注册中心/配置中心:nacos,微服务框架:dubbo

首先ShenYu是由 ShenYu AdminShenYu Bootstrap 两块组成。

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

快速开始

博主这边是使用的源码编译的方式来启动服务的。

环境准备

  • 本地正确安装JDK1.8+

  • 本地正确安装Git

  • 本地正确安装Maven

  • 选择一款开发工具,比如IDEA

  • 设置git配置项

因为shenyu源码文件命名较长,git限制了文件名不能超过 260 个字符。

git config --global core.longpaths true

检出源码,并进行编译

git clone git@github.com:apache/shenyu.git
cd shenyu
mvn clean install -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests

启动admin

  • 更改后台存储方式,ShenYu提供了多种存储方式,我们选择适合的一种,这里我们选择mysql

  • 修改同步方式

    shenyu:sync:nacos:url: localhost:8848namespace: 1c10d748-af86-43b9-8265-75f487d20c6c
    
  • 修改application-mysql.yml配置信息

​ 数据源信息修改为自己本地测试数据库即可,启动时会自动创建表。

  • 运行ShenyuAdminBootstrap
  • 访问http://localhost:9095/admin/123456 登录
  • 设置dubbo插件

这里填写你的nacos的地址,一定要注意后面的namespace

启动bootstrap

  • 修改配置application.yml
shenyu:sync:nacos:url: localhost:8848namespace: 1c10d748-af86-43b9-8265-75f487d20c6c

注意这里的namespace与admin的同步配置保持一致

  • 这里还需要注意一点,官网的bootstrap没有引入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
    选中pom.xml ,右键设置为maven项目。

  • 打开shenyu-examples

找到shenyu-examples-apache-dubbo-service-annotation ,主要修改注册的配置为nacos,以及dubbo注册中心同步改为nacos即可。

shenyu:register:registerType: nacos #zookeeper #etcd #nacos #consulserverLists: localhost:8848 #localhost:2181 #http://localhost:2379 #localhost:8848props:username: adminpassword: 123456client:dubbo:props:contextPath: /dubboappName: dubbodubbo:application:name: test-dubbo-serviceregistry:address: nacos://127.0.0.1:8848protocol:name: dubboport: 20888scan:base-packages: org.apache.shenyu.examples.apache.dubbo.service.annotation.impl
  • 启动TestApacheDubboAnnotationApplication

通过网关访问dubbo接口

启动服务以后,你可以在admin后台能看到你的服务注册到网关上了


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

一、ShenYu快速开始相关推荐

  1. 微服务 API 网关架构演进 Spring Cloud Gateway ShenYu APISIX

    目录 后台服务网关 Spring Cloud Gateway 遇到问题 Apache ShenYu Higress fizz-gateway-community 企业案例 前台流量网关 APISIX ...

  2. 快速排查feign.FeignException: status 500 …

    feign.FeignException: status 500 - 总结一下feign报500的时候快速排查问题的方法, 这个bug容易出现的地方分别为: 1. 远程调用的时候feign的注册信息有 ...

  3. python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)

    前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...

  4. 如何利用python的newspaper包快速爬取网页数据

    文章目录 前言 一个爬取新闻网页数据的神器 小试牛刀 如何快速安装 windows安装 Debian / Ubuntu安装 OSX安装 体验更多的功能 前言 随着越来的进行自然语言处理相关方面的研究, ...

  5. 【快速上手mac必备】常用优质mac软件推荐(音视频、办公、软件开发、辅助工具、系统管理、云存储)

    本文章的主要内容是我作为一名大四学生.准程序员.up主这三种身份来给大家推荐一下 mac 上好用的软件以及工具.本人也是从去年9月份开始从windows阵营转移到了mac阵营,刚开始使用的时候,也曾主 ...

  6. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 面试高频——JUC并发工具包快速上手(超详细总结)

    目录 一.什么是JUC 二.基本知识 2.1.进程和线程 2.2.Java默认有两个进程 2.3.Java能够开启线程吗? 2.4.并发和并行 2.5.线程的状态 2.6.wait和sleep的区别 ...

  8. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  9. 快速上手MyBatisPlus~(基友搭配,效率翻倍)

    目录 一.简介 二.快速入门 1. 创建数据库及数据表 2. 新建项目,导入依赖 3. 编写数据库配置文件&连接 4. 创建pojo实体类 5. 编写mapper&扫描 6. 测试类简 ...

  10. NVIDIA GPU的快速傅立叶变换

    NVIDIA GPU的快速傅立叶变换 cuFFT库提供GPU加速的FFT实现,其执行速度比仅CPU的替代方案快10倍.cuFFT用于构建跨学科的商业和研究应用程序,例如深度学习,计算机视觉,计算物理, ...

最新文章

  1. 言论丨李开复:2018中国最大AI红利是政策
  2. jdbc-connect-oracle12c-pdb/cdb(jdbc连接oracle12c的pdb和cdb)
  3. oracle job 时间间隔,关于job的时间间隔的一个问题
  4. java调用方法的变量_JAVA类的方法调用和变量(全套)
  5. [转]iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
  6. 10位photoshop顶尖设计大师
  7. eclipse使用不需要配置jdk的环境变量
  8. Java阻塞队列的实现
  9. afnetworking 和 asihttprequest 强制修改http连接的host地址
  10. 三坐标测量机(CMM)测头初步了解
  11. 微信小程序下拉刷新功能--onPullDownRefresh
  12. linux进阶-PHP加速器
  13. Dispatch简介
  14. 工作英语: Meetings
  15. 时间序列预测系列文章总结(代码使用方法)
  16. 购物网站的商品推荐算法有哪些?
  17. 实验十 文件读写 1. 文件排版(文本文件读写)
  18. python 东方财富接口_Python从东方财富网站获取数据,python,的
  19. 弘辽科技:拼多多发货中途改地址可以吗?怎么改?
  20. Text to face:寻找黛玉-从语言描述到人脸图像生成

热门文章

  1. 阿里云 OSS图片处理
  2. 如何将1080P的腾讯视频QLV格式转换成MP4视频呢
  3. PS第一集 证件照换底色
  4. Java 如何保证线程安全,你真的清楚吗
  5. AbstractQueuedSynchronizer浅析
  6. python导入表格数据混乱_Python按行打乱Excel表格数据
  7. 搭建kettle 源码工程报[ui/spoon.xul]找不到错误的解决方案
  8. 1.3.1 计算机的主要性能指标 (机器字长、数据通路带宽、主存容量、运算速度、吞吐量、响应时间、主频和时钟周期、CPI、CPU执行时间、MIPS、MFLOPS、GFLOPS、TFLOPS)
  9. 【更新】VMware虚拟机黑群晖7.1.1 RC(懒人包)
  10. 张正友标定算法原理详解