自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 soul网关学习十一之RateLimitPlugin插件的调用

RateLimitPlugin 学习 1.soul-bootstrap 配置2.soul-admin 端开启插件3.令牌桶算法4.RateLimiterPlugin插件对请求处理1.soul-bootstrap 配置引用插件2.soul-admin 端开启插件因为 RateLimitPlugin 流控是使用 redis 的,所以 RateLimitPlugin的配置如下url 为redis的访问地址,如果是集群多个配置需要使用 “;” 分隔。配置限流策略依次配置 RateLimitP

2021-02-02 23:56:02 191

原创 soul网关学习十之apache-dubbo插件的调用

soul在处理对apache-dubbo的请求处理时会使用dubbo的泛化调用。主要流程如下;1.在注册ApacheDubboPlugin时会注入ApacheDubboProxyService和DubboMultiParameterResolveServiceImplApacheDubboProxyService用于接收网关的请求再进行dubbo的泛化调用DubboMultiParameterResolveServiceImpl用于处理请求参数,用于dubbo的泛化调用加载metadata时如果有d

2021-01-28 01:15:45 279

原创 soul网关学习九之springCloud插件的http调用

soul网关springCloud插件的http调用与divide插件的调用过程基本相似,具体可见 soul网关学习五之divide插件的http调用 ,只是在进行负载均衡与获取实际调用下游真实服务地址时使用springCloud的LoadBalancerClient 获取。1.请求先通过GlobalPlugin全局插件设置 soulContext2.通过AbstractSoulPlugin.execute() 获取到匹配的selector与rule3.再调用SpringCloud.doExecute

2021-01-27 01:19:18 193

原创 soul网关学习八soul-admin和soul-bootstrap使用http长轮询同步数据源码分析

soul-admin和soul-bootstrap使用http长轮询同步数据源码分析soul-admin 端开启配置[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AKil5lK9-1611490071456)(https://uploader.shimo.im/f/37xeHISDOB1T4xoX.png!thumbnail?fileGuid=9k3gwDh8Q6Gpc9ky)]加载配置启动时会注册一个HttpLongPollingDataChangedLi

2021-01-24 20:08:19 275

原创 soul网关学习七之soul-admin使用zookeeper同步数据到网关

上一篇中介绍了使用websocket同步数据,soul也可以使用zk来同步数据1.配置引入 zk 相关的jar包soul-admin中打开zk配置soul-bootstrap中打开 zk配置因为使用zk,需要单独启动一个zk。引用 soul-spring-boot-starter-sync-data-zookeeper2. 配置加载2.1 soul-admin 端admin端使用spring的事件注册机制在更改配置时发送事件,将修改的配置发送出去。接收事件后将获取的配置修改到zk的

2021-01-22 00:44:49 167

原创 soul网关学习六之soul-admin使用websocket同步数据到网关

soul-admin 可以使用websocket与soul-bootstrap进行通信soul-bootstrap中配置websokcet的地址1.配置加载在项目启动时会在 WebsocketSyncDataConfiguration 中注册websocketConfig websocket 配置pluginSubscriber 用于广播plugin的改动metaSubscribers 用于广播 metaData的改动authSubscribers 用于改动 auth的改动看下 Webs

2021-01-21 00:21:40 170

原创 soul网关学习五之divide插件的http调用

soul网关的 divide 插件处理 http 调用流程本文简单分析 divide 如何对http请求进行转发请求全部会调用 SoulWebHandler.handle()方法,然后会调用new DefaultSoulPluginChain(plugins).execute(exchange)方法。plugins 则是 soul网关的所有插件集合, exchange 包含当前请求的所有内容。这里使用责任链设计模式依次对soul插件进行遍历 public Mono<Void&gt

2021-01-20 00:31:15 178

原创 soul网关学习四之 SoulConfiguration 自动配置

核心 startersoul-spring-boot-starter-gateway依赖 soul-web ,该module中springboot 会自动配置SoulConfigurationErrorHandlerConfiguration SoulExtConfigurationSpringExtConfiguration SoulConfiguration是soul的核心配置类,会创建如下几个beanSoulWebHandler ​ 该类中会包含soul所有的插件。@B

2021-01-18 01:27:02 442

原创 soul网关学习二之运行soul-examples-dubbo示例代码

启动 soul-examples-dubbo编译有三个项目soul-examples-alibaba-dubbo-service,soul-examples-apache-dubbo-service,soul-examples-dubbo-api直接编译 soul-examples-alibaba-dubbo-service 会报错,发现右侧maven控制栏中soul-examples-apache-dubbo-service,soul-examples-dubbo-api两个项目浅灰色,打开set

2021-01-17 12:00:00 136

原创 soul网关学习一之环境搭建及及soul-examples-http示例代码

0.soul简介soul是什么soul是一个异步的,高性能的,跨语言的,响应式的API网关。特性支持各种语言(http协议),支持 dubbo,springcloud协议。插件化设计思想,插件热插拔,易扩展。灵活的流量筛选,能满足各种流量控制。内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。流量配置动态化,性能极高,网关消耗在 1~2ms。支持集群部署,支持 A/B Test, 蓝绿发布。架构图1.下载soul项目从github上clone项目地址:https://gith

2021-01-17 11:57:52 457

原创 soul网关学习三之运行springcloud示例代码

springCloud接入soul网关官方示例代码启动eureka因为 springcloud需要连接注册中心,soul示例中使用的是 eureka,也可以使用nacos等。本文使用的是 eureka启动 soul-example-eureka 下的 EurekaServerApplication启动 sou-admin,启动后开启 springCloud插件启动 soul-bootstrap需要使用 springCloud 插件,需要引用 springCloud 相关的jar包,官方示

2021-01-16 23:58:09 189

原创 python爬取网易云某一歌手的音乐评论

爬取网易云音乐上某一歌手的音乐评论,许嵩为例。一:查看网页抓包分析,首先抓取许嵩的歌曲,点击单曲抓包,我只抓取了第一页的歌曲搜索许嵩查看获取 歌曲id。可以看出来是 post 请求获取的,参数是加密过得,我没有研究过这个解密,直接把参数扒下来,调用对应地址,解析返回的 json 获取歌曲id及其他信息。# 获取歌曲id及歌曲名称def get_song_id(): ...

2020-04-05 18:33:37 1074

原创 docker容器基本操作

一、新建并启动如果本地没有该镜像,会从公有仓库下载启动一个bash终端,允许用户进行交互docker run -t -i ubuntu:14.04 /bin/bash -t:让Docker分配一个为终端并绑定到容器的标准输出上 -i:让容器的标准输入保持打开二、启动已终止容器docker startdocker restart 重启容器三、后台运行dock...

2019-07-21 10:54:02 209 1

原创 docker镜像相关操作

内容参考《docker从入门到实践》一:修改已有镜像1:先使用下载好的镜像启动容器docker run -t -i ubuntu:12.04 /bin/bash2:可以在容器内做一些修改,比如新建个文件等操作3:exit 退出该容器4:提交修改并且创建新的镜像docker commit -m "add a text" -a "sun" a291acfea4c0 ouru...

2019-07-14 13:51:02 172

原创 linxu下docker安装

linxu内核版本3.1及以上,linux版本6.5及以上,推荐7,我用的是阿里云服务器7内容参考《docker从入门到实践》uname -a 查看1:配置yum源tee /etc/yum.repos.d/docker.repo <<- 'EOF'[docerrepo]name=Docker Repositorybaseurl=https://yum.doc...

2019-07-14 12:05:34 180

原创 MongoDB的简单增删改查示例

内容参考《MongoDB权威指南第2版》以下内容基本都是参照《MongoDB权威指南第2版》这本书的内容学习并且测试的,目前是第三章和第四章的内容。我用的MongoDB的版本是4.0。// 一:创建,更新,删除文档for (var i = 0; i < 100; i++){// 插入文档_id id不可以重复,不指定id会自动生成iddb.foo.insert({"no...

2019-07-07 15:58:17 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除