![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
Ti_an_Di
这个作者很懒,什么都没留下…
展开
-
soul 之 ratelimiter 插件源码分析
首先看入口的 RateLimiterPlugin插件的doExecute方法@Overrideprotected Mono<Void> doExecute(final ServerWebExchange exchange, final SoulPluginChain chain, final SelectorData selector, final RuleData rule) { final String handle = rule.getHandle(); final原创 2021-02-05 23:12:37 · 230 阅读 · 0 评论 -
【soul】网关之【ratelimiter】插件之初体验
ratelimiter是一款限流插件,限流的级别可以精确到接口级,参数级。使用Redis的令牌桶算法1. 启动【soul-admin】和【soul-bootstrap】2.登录管理界面,开启rate-limiter插件3. 配置用户测试的选择器【ratelimiter-test】4. 配置规则【ratelimiter-test-rule】5. 启动【soul-examples-http】6. 访问 /http/order/findByIdcurl http://..原创 2021-02-05 00:28:36 · 278 阅读 · 0 评论 -
soul之hystrix源码分析
首先,阅读HystrixPlugin源码@Slf4jpublic class HystrixPlugin extends AbstractSoulPlugin { @Override protected Mono<Void> doExecute(final ServerWebExchange exchange, final SoulPluginChain chain, final SelectorData selector, final RuleData rule) {原创 2021-02-04 01:26:48 · 132 阅读 · 0 评论 -
【soul】之【hystrix】初体验
1. 打开hystrix2. 【soul-bootstrap】添加hystrix依赖<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-hystrix</artifactId> <version>${project.version}</version></d原创 2021-02-02 08:06:58 · 238 阅读 · 0 评论 -
soul sofa 插件分析
主要分析SofaPlugin 的代码protected Mono<Void> doExecute(final ServerWebExchange exchange, final SoulPluginChain chain, final SelectorData selector, final RuleData rule) { String body = exchange.getAttribute(Constants.SOFA_PARAMS); // 获取请求体 SoulC.原创 2021-01-31 01:14:08 · 138 阅读 · 0 评论 -
2021-01-30
1. 启动【soul-admin】2. 登录管理界面,打开 sofa 插件3. 在【soul-bootstrap】里添加如下依赖<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-rpc-all</artifactId> <version>${sofa.rpc.version}</version><原创 2021-01-30 02:16:57 · 213 阅读 · 0 评论 -
【soul-admin】SpringCloud元数据注册
在SoulClientController中提供了如下接口:/*** Register spring cloud string.** @param springCloudRegisterDTO the spring cloud register dto* @return the string*/@PostMapping("/springcloud-register")public String registerSpringCloud(@RequestBody final SpringCl原创 2021-01-29 03:14:46 · 342 阅读 · 1 评论 -
soul数据上传之dubbo
【soul-admin】数据获取【soul-admin】开放的dubbo注册接口/*** Register dubbo string.** @param metaDataDTO the meta data dto* @return the string*/@PostMapping("/dubbo-register")public String registerRpc(@RequestBody final MetaDataDTO metaDataDTO) { r原创 2021-01-28 00:04:06 · 257 阅读 · 0 评论 -
soul数据上传-HTTP
@PostMapping("/springmvc-register") public String registerSpringMvc(@RequestBody final SpringMvcRegisterDTO springMvcRegisterDTO) { return soulClientRegisterService.registerSpringMvc(springMvcRegisterDTO); } @Override @Transac.原创 2021-01-27 02:31:14 · 246 阅读 · 0 评论 -
soul之http长轮询数据同步
1.【soul-admin】开始http长轮询数据同步soul: sync: http: enabled: true2.【soul-bootstrap】中添加http长轮询<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-sync-data-http</artifactId> ...原创 2021-01-26 00:42:41 · 253 阅读 · 0 评论 -
soul数据同步之nacos(2)
【soul-boostrap】如何更新数据上节第3步开启了如下配置:@Configuration@ConditionalOnClass(NacosSyncDataService.class)@ConditionalOnProperty(prefix = "soul.sync.nacos", name = "url")@Slf4jpublic class NacosSyncDataConfiguration { /** * Nacos sync data service.原创 2021-01-24 03:55:59 · 442 阅读 · 0 评论 -
soul数据同步nacos(1)
1. 在【soul-admin】中开启zookeeper同步soul: sync: nacos: url: localhost:8848 namespace: 1c10d748-af86-43b9-8265-75f487d20c6c acm: enabled: false endpoint: acm.aliyun.com namespace: accessKey: ...原创 2021-01-23 02:05:42 · 238 阅读 · 1 评论 -
soul数据同步之zookeeper
1. 在【soul-admin】中开启zookeeper同步soul: sync: zookeeper: url: localhost:2181 sessionTimeout: 5000 connectionTimeout: 20002. 在【soul-bootstrap】中添加zookeeper数据同步依赖<dependency> <groupId>org.dromara</groupId&...原创 2021-01-22 01:33:46 · 153 阅读 · 0 评论 -
soul之websocket数据同步
soul数据同步之websocket1. 在【soul-admin】中开启websocket同步soul: sync: websocket: enabled: true2. 在【soul-bootstrap】中添加websocket数据同步依赖<dependency> <groupId>org.dromara</groupId> <artifactId>soul-原创 2021-01-21 01:04:37 · 1150 阅读 · 3 评论 -
soul SpringCloud插件初体验
soul网关之SpringCloud插件1.在本地服务中引入SpringCloud插件依赖<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-client-springcloud</artifactId> <version>${soul.version}</version>原创 2021-01-20 01:53:21 · 217 阅读 · 0 评论 -
soul带权重的RoundRobin算法
soul的divide插件负载均衡算法之权重轮询算法众所周知,轮询算法是每一次请求访问的服务器是在上一次请求访问的服务器的下一个位置。而soul网关提供了带有权重的轮询。public class RoundRobinLoadBalance extends AbstractLoadBalance { private final int recyclePeriod = 60000; private final ConcurrentMap<String, Concurren原创 2021-01-19 00:29:59 · 759 阅读 · 0 评论 -
带着问题读源码-soul(2021-01-16)
### 带着问题读源码系列之Dubbo插件像往常一样启动 【soul-admin】 和 【soul-bootstrap】 。然后使用 【soul-examples-apache-dubbo-service】中的 org.dromara.soul.examples.apache.dubbo.service.TestApacheDubboApplication 来注册服务。这是就可以打开 管理界面 查看dubbo插件的信息。发现已经注册完毕了。然后使用soul提供的http请求访问curl原创 2021-01-17 02:22:14 · 365 阅读 · 0 评论 -
带着问题读源码-soul(2021-01-15)
带着问题读源码系列-soul的本地服务筛选在上一期中,了解到soul的http请求是通过dividePlugin插件完成对本地服务的筛选。总体来说,可以分为两步:1. 选出符合调用要求的服务列表2. 对服务的列表进行负载均衡下面对两部分源码进行分析。在DividePlugin插件中,可以轻松找到对应的步骤。final SoulContext soulContext = exchange.getAttribute(Constants.CONTEXT);assert soulC原创 2021-01-16 03:26:59 · 208 阅读 · 0 评论 -
带着问题读源码-soul(2021-01-14)
下载编译git clone git@github.com:dromara/soul.gitcd soulmvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true运行1. 启动一个127.0.0.1:3306,用户名为root,密码为空的mysql实例,用于保存soul元数据2. 使用idea打开maven项目sou原创 2021-01-14 17:59:32 · 214 阅读 · 0 评论 -
安装thrift一直报失败
Making all in javamake[3]: Entering directory '/opt/thrift-0.13.0/lib/java'./gradlew assemble-Prelease=true-Pthrift.version=0.13.0--console=plainTask :copyDependencies UP-TO-DATETask :comp...原创 2019-11-12 14:18:00 · 1013 阅读 · 0 评论