xiaoxu的博客

私信 关注
lq9616
码龄6年
  • 998
    被访问量
  • 21
    原创文章
  • 390,514
    作者排名
  • 2
    粉丝数量
  • 于 2014-12-15 加入CSDN
获得成就
  • 获得3次点赞
  • 内容获得6次评论
  • 获得1次收藏
荣誉勋章
兴趣领域
  • #后端
    #Spring#MySQL#Java#Spring Boot#Linux
TA的专栏
  • Nodejs
    2篇
  • 笔记
    1篇
  • Soul 网关源码阅读
    18篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

centos7安装pm2报-bash: pm2: command not found

centos7安装pm2报-bash: pm2: command not found1)安装pm2npm install pm2 -g2)执行pm2 ,出现如下提示-bash: pm2: command not found3)执行如下命令解决,/usr/local/nodejs 是nodejs 的安装目录ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin/pm2执行过程[root@iZuf6g01xqsbwjheu6bornZ we
原创
3阅读
0评论
0点赞
发布博客于 6 天前

Centos安装NodeJs环境

Centos安装NodeJs环境一、下载nodejs压缩包官网:https://nodejs.org/en/download/1)使用wget命令下载wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz2)解压下载的压缩包tar -xf node-v14.15.4-linux-x64.tar.xz3)移动解压好的文件mkdir /usr/local/nodejssudo mv .
原创
6阅读
0评论
0点赞
发布博客于 6 天前

Soul网关源码阅读19-解析sign插件

sign插件是 soul网关自带的,用来对请求进行签名认证的插件,下面来解析一下sign插件。一、环境搭建soul-admin开启 sign 插件:系统管理 --> 插件管理soul-bootstrapsoul-bootstrap/pom.xml<!-- soul sign plugin start--><dependency> <groupId>org.dromara</groupId> <artif
原创
68阅读
0评论
0点赞
发布博客于 2 月前

Soul网关源码阅读18-解析context-path插件

context-path插件可以帮我们重新请求的URL,这样对外可以屏蔽实际的请求地址。我们来解析一下如何使用一、环境搭建soul-admin开启 context-path 插件:系统管理 --> 插件管理soul-bootstrapsoul-bootstrap/pom.xml网关中 rewrite 依赖默认是没有的需要手动添加<dependency> <groupId>org.dromara</groupId> <
原创
18阅读
0评论
0点赞
发布博客于 2 月前

Soul网关源码阅读17-解析rewrite插件

rewrite插件可以帮我们重新请求的URL,这样对外可以屏蔽实际的请求地址。我们来解析一下如何使用一、环境搭建soul-admin开启 rewrite 插件:系统管理 --> 插件管理soul-bootstrapsoul-bootstrap/pom.xml网关中 rewrite 依赖默认是没有的需要手动添加<dependency> <groupId>org.dromara</groupId> <artifactI
原创
53阅读
0评论
0点赞
发布博客于 2 月前

Soul网关源码阅读16-hystrix插件使用

hystrix插件是网关用来对流量进行熔断的核心实现,今天尝试使用一下。一、配置环境1、soul-admin登录soul-admin 打开 hystrix插件2、soul-bootstrap<!-- soul hystrix plugin start--><dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-p
原创
16阅读
0评论
0点赞
发布博客于 2 月前

Soul网关源码阅读15-解析rate_limiter限流插件

rateLimiter 是soul网关的限流插件,是网关对流量管控的核心,今天来尝试使用一下,并结合源码解析原理。一、环境配置1、soul-admin系统管理 > 插件管理 > 打开rate_limiter插件开关redis选择的是单机部署standalone,填入 redis的,url,password,然后点击确定我代理的服务是通过http请求,所以还要打开devide插件2、soul-bootstrapsoul-bootstrap/pom.xml 加入ratelim
原创
60阅读
0评论
1点赞
发布博客于 3 月前

Soul网关源码阅读14-tars插件使用

soul网关支持tars,尝试跑通tars插件1、环境搭建soul-admin登录soul-admin打开tars插件开关soul-bootstrapsoul-bootstrap/src/main/resources/application-local.yml 增加如下依赖<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot
原创
29阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读13-理解HTTP请求处理

Soul 是一个异步的,高性能的,跨语言的,响应式的API网关,主要基于Spring WebFlux 和 Netty 来实现。来看下一些基础类的作用,对理解soul网关请求处理过程将有帮助。org.springframework.http.server.reactive.HttpHandlerorg.springframework.http.server.reactive.ReactorHttpHandlerAdapterorg.springframework.web.server.adapter
原创
34阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读12-使用websocket同步数据

使用websocket同步数据到网关一、配置环境1、soul-adminsoul-admin/src/main/resources/application.ymlsoul: sync: websocket: enabled: true2、soul-bootstrapsoul-bootstrap/src/main/resources/application-local.ymlsoul: sync: websocket :
原创
41阅读
3评论
0点赞
发布博客于 3 月前

Soul网关源码阅读11-使用Nacos同步数据(02)

根据上一篇文章,我们知道soul-admin启动后不会自动向nacos同步数据,需要手动操作。本篇文章分析一下soul-admin,nacos,soul-bootstrap同步数据的过程。一、soul-admin 如何同步网关数据?1、插件信息更新后会发布一个DataChangedEvent事件/** * create or update plugin * @param pluginDTO {@linkplain PluginDTO} * @return rows */@Override
原创
33阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读10-使用Nacos同步数据(01)

本篇分析一下Nacos同步数据原理1、先配置一下环境soul-adminsoul-admin/src/main/resources/application.ymlsoul: sync: nacos: url: localhost:8848 namespace: 1c10d748-af86-43b9-8265-75f487d20c6c # acm: # enabled: false # endpoin
原创
33阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读09-使用http长轮询同步数据(02)

接着上一篇,继续解析一下 HttpLongPollingDataChangedListener 类。org.dromara.soul.admin.listener.http.HttpLongPollingDataChangedListener1、提供给网关测,负责长轮询调用。// 执行http长轮询public void doLongPolling(final HttpServletRequest request, final HttpServletResponse response) {
原创
27阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读08-使用http长轮询同步数据(01)

前面两篇文章分析了zookeeper的数据同步原理,今天看一下体验http长轮询同步数据一、环境配置1、soul-admin 网关配置管理服务soul-admin/src/main/resources/application.yml打开http长轮询配置。还有 soul-admin–>pom.xml 中的 websocket、zookeeper、nacos 等依赖无需删除,否则服务无法启动,仅需要把相应配置注释即可。soul: sync:# websocket:#
原创
46阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读07-使用zookeeper同步数据(02)

启动admin,与网关。 admin操作,使用zookeeper同步数据到网关上一篇,通过soul-admin启动过程为入口,分析了soul-admin 启动就会同步网关数据 rule、metaData、selector、plugin 等到 zookeeper。数据变化会发布 DataChangedEvent事件,监听事件将数据同步至zookeeper。本篇接着上一篇继续跟踪源码分析zookeeper同步数据到网关原理:soul-admin 变更网关数据,跟踪数据同步过程。soul-bootst
原创
46阅读
0评论
1点赞
发布博客于 3 月前

Soul网关源码阅读06-使用zookeeper同步数据(01)

启动 soul-admin、soul-bootstrap, 使用zookeeper同步数据到网关一、配置环境1、soul-admin 服务配置,需要重启服务soul-admin/src/main/resources/application.ymlsoul: sync: zookeeper: url: localhost:2181 sessionTimeout: 5000 connectionTimeout: 20002、
原创
55阅读
1评论
1点赞
发布博客于 3 月前

Soul网关源码阅读05-体验springcloud代理

结合springcloud插件,发起http请求soul网关,体验springcloud代理一、环境准备1、soul-bootstrap 引入网关springCloud的插件支持在网关的 pom.xml 文件中引入如下依赖<!--soul springCloud plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>
原创
37阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读04-体验sofa代理

结合sofa插件,发起http请求soul网关,体验sofa代理一、启动服务:soul-adminsoul-bootstrapsoul-examples-sofasoul-examples-sofa 启动报如下错误,同时会影响网关测的服务调用,导致服务无法调通。解决方式:这里的 bolt-port: 8888 可能被占用,修改一下这个端口soul/soul-examples/soul-examples-sofa/src/main/resources/application
原创
62阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读03-体验dubbo代理

结合dubbo插件,发起http请求soul网关,体验dubbo代理1、启动网关服务1) soul-admin:启动网关管理后台,打开dubbo插件配置2) soul-bootstrap:启动网关入口3)启动zookeeper,使用zookeeper作为 Dubbo 服务的注册中心zookeeper ./bin/zkServer.sh start/usr/bin/javaZooKeeper JMX enabled by defaultUsing config: /Documents/
原创
50阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读02-体验http代理

本次将结合divde插件,发起http请求soul网关,体验http代理1、启动服务soul-admin:启动网关管理后台,打开divde插件配置soul-bootstrap:启动网关入口soul-examples->soul-examples-http:启动http请求测试用例2、通过soul网关进行访问:http://127.0.0.1:9195/http/order/findById?id=1可以看到 soul bootstrap 日志打印如下信息。当前开启的插件是divi
原创
97阅读
0评论
0点赞
发布博客于 3 月前

Soul网关源码阅读01-网关入门

1、clone fork的源码```git clonehttps://github.com/SpaceEmpire/soul.git```2、编译,编译完成大概需要2分多钟:```➜soulgit:(master)mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true[I...
原创
81阅读
2评论
0点赞
发布博客于 3 月前