ShenYu 网关部署趟的坑

简介

       ShenYu 的就是以前的 soul,最近正式加入了 Apache 的孵化器,因此改名为 ShenYu。其是一个异步的,高性能的,跨语言的,响应式的API网关,并在此基础上提供了非常丰富的扩展功能:

  • 支持各种语言(http 协议),支持 Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars 等协议。
  • 插件化设计思想,插件热插拔,易扩展。
  • 灵活的流量筛选,能满足各种流量控制。
  • 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
  • 流量配置动态化,性能极高。
  • 支持集群部署,支持 A/B Test,蓝绿发布。

模块

  • shenyu-admin : 插件和其他信息配置的管理后台

  • shenyu-bootstrap : 用于启动项目,用户可以参考

  • shenyu-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问

  • shenyu-disruptor : 基于disruptor的封装

  • shenyu-register-center : shenyu-client提供各种rpc接入注册中心的支持

  • shenyu-common : 框架的通用类

  • shenyu-dist : 构建项目

  • shenyu-metrics : prometheus(普罗米修斯)实现的 metrics

  • shenyu-plugin : ShenYu 支持的插件集合

  • shenyu-spi : 定义 ShenYu spi

  • shenyu-spring-boot-starter : 支持 spring boot starter

  • shenyu-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据

  • shenyu-examples : RPC 示例项目

  • shenyu-web : 包括插件、请求路由和转发等的核心处理包

项目地址:

  官方文档:https://shenyu.apache.org/zh/projects/shenyu/overview/

  GitHub: https://github.com/apache/incubator-shenyu

部署顺序:

        1、先下载二进制包,解压后,修改配置文件为mysql,把mysql的驱动复制到lib目录里,然后启动。

        2、下载源码,编译全部项目。

        3、把插件复制到二进制包的lib目录。关掉程序,重新启动。

        4、去数据库里修改admin的密码,见部署遇到的问题2。

        5、修改部署遇到的问题4。

        6、去源码项目里启动 shenyu-bootstrap 这个项目。

        7、去源码项目里启动  shenyu-examples-http 这个项目。

        8、post  http://localhost:9195/http/order/save  这个测试是否成功。 

           9195 是 shenyu-bootstrap项目启动的端口,9095是shenyu-adimn的端口。

部署遇到的问题:

  1. 官网下载的二进制版解压后lib里缺少mysql的连接驱动,需要自己加进去。
  2. 启动项目自动初始化数据库,但是admin的密码是错误的,至少我的不行,直接修改数据库,改为下面的字符串,登录依然是123456。
    bbiB8zbUo3z3oA0VqEB/IA==
  3. 官网下载的包里没有插件,需要自己下载源码编译后把相应的插件放到lib里。
  4.  shenyu-admin启动后,修改"插件管理"-->jwt--->编辑-->filterPath 字段里随便填写点东西,然后确认保存。因为这里启动shenyu-bootstrap 会报错,造成不能成功启动[2.4.1版]。

猜你喜欢

转载自blog.csdn.net/saperliu/article/details/119942487