目录
一、背景
二、Apache-shenyu是什么?
三、下载代码
四、加载工程
五、启动shenyu-admin
六、启动shenyu-bootstrap
七、启动shenyu-examples中的shenyu-examples-http
八、参考文献
最近参加了一个直播"Apache DolphinScheduler& Apache ShenYu(Incubating) 联合 Meetup",听各大佬还有初入开源社区的小白分享经验,收益匪浅,先玩玩apache-shenyu,本文主要是实战,理论知识请移官网:https://shenyu.apache.org/
Apache ShenYu是使用Java reactor编程方式开发的,具有异步,高性能,跨语言等特性的 API 网关。
在流量控制方面,有精美的Admin控制台,能够精准,动态控制流量,满足复杂的业务场景。
在功能方面,它使用插件化的设计思想,支持许多常见的协议:如 http/https, Dubbo、 Spring Cloud、 GRPC、 Motan、 Sofa、 Tars等。
废话不多说,其他见官网:https://shenyu.apache.org/zh/docs/index/
1、先登陆git网站,进入https://github.com/apache/incubator-shenyu.git
2、点击fork,将代码fork到自己的仓库
3、git clone https://github.com/xxxxx/incubator-shenyu.git
4、不出意外,会报错; ...WebSocketClientConfiguration.java: Filename too long 解决方案:
git config --global core.longpaths true
这个就不截图了,使用IDEA打开incubator-shenyu文件夹
这里有一个坑需要注意下:主pom文件记得在modules把example/test加进去,否则不加载无法启动
shenyu-examples
shenyu-integrated-test
注意:这个下载依赖包需要一个过程,耐心等待………
1、初始化脚本,路径:
src/main/resources/sql-script/mysql/schema.sql
2、修改application.yml配置文件
spring:
profiles:
active: mysql
3、修改application-mysql.yml数据库连接
spring:
datasource:
url: jdbc:mysql://localhost:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
4、运行启动类 ShenyuAdminBootstrap
http://localhost:9095/#/user/login
用户名密码为: admin/123456
这里有个坑:Error running ShenyuBootstrapApplication. Command line is too long.
修改下idea配置文件即可。修改shorten command line为JAR manifest
注意:端口号不要冲突
验证:图一为直接访问,图二为通过gateway访问
至此,apache-shenyu基本demo就跑起来了。
1、Apache ShenYu(incubating) 2.4.0让API网关更简单!
https://baijiahao.baidu.com/s?id=1707757433778739887&wfr=spider&for=pc
2、Windows环境下Git克隆某开源项目源码时为什么提示文件名过长,如何解决?
https://blog.csdn.net/weixin_38168696/article/details/102250487
3、Apache ShenYu 快速开始
https://www.icode9.com/content-4-1055215.html
4、Error running 'Application': command line is too long的两种解决方式
https://blog.csdn.net/liumingzhe1/article/details/105413389