摘要:
最少活跃调用数:相同活跃数的随机,活跃数指调用前后计数差。 使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。 在服务的消费端记录当前服务器目前被调用的数量(消费者自己维护这个数据)。 具体的执行过程如下: 1、消费者本地缓存所有服务提供者。 2、消费者在调用某一个服务时,会选择本地 阅读全文
摘要:
1、随机(Random): 按权重设置随机概率。 在一个截面上碰撞的概率高,但调用越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。 2、轮询(RoundRobin): 按公约后的权重设置轮询比率。 存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台 阅读全文
摘要:
从dubbo的2.7.0版本,所有异步编程接口以CompletableFuture为基础。 基于NIO的非阻塞实现并行调用,服务消费方不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销教小。 简而言之,消费者通过异步调用,不用等待服务提供者返回结果就立即完成任务,待有结果之后再执行之前设定 阅读全文
摘要:
参数回调方式与调用本地callback或listener相同,只要在Spring的配置文件中声明哪个参数是callback类型即可。 Dubbo将基于长连接生成反向代理,这样就可以从提供方调用消费方的逻辑。 简而言之,就是服务提供方调用服务消费方的逻辑。 1、接口层修改: 增加一个接口和一个类: 1 阅读全文
摘要:
1、提供方配置文件: server: port: 8001 dubbo: application: name: site-service-boot-provider registry: address: zookeeper://ubu:2181 scan: base-packages: com.ya 阅读全文
摘要:
服务消费者通过Mock指定服务超时后的策略: 1、配置文件: server: port: 8001 dubbo: application: name: site-service-boot-provider registry: address: zookeeper://ubu:2181 scan: b 阅读全文
摘要:
dubbo为集群调用提供了容错方案: 1、failover:(默认,推荐) 当出现失败时,会进行重试,默认重试2次,一共三次调用,但是会出现幂等性问题。 幂等性问题可以在业务层解决: 方案1:把数据的业务id作为数据库的联合主键,此时业务id不能重复。 方案2:(推荐)使用分布式锁来解决重复消费问题 阅读全文
摘要:
1、服务提供者配置文件: server: port: 8001 dubbo: application: name: site-service-boot-provider registry: address: zookeeper://ubu:2181 scan: base-packages: com. 阅读全文
摘要:
1、apolication.yml的配置: server: port: 8001 dubbo: application: name: site-service-boot-provider registry: address: zookeeper://ubu:2181 scan: base-packa 阅读全文
摘要:
1、服务生产者的pom文件中修改如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch 阅读全文
摘要:
1、修改配置: # #指定某一种协议 # protocol: # name: dubbo # port: 20882 # #指定多种协议 protocols: pro1: id: dubbo1 name: dubbo port: 20881 host: 0.0.0.0 pro2: id: dubbo 阅读全文
摘要:
1、Zookeeper的下载与配置 zookeeper下载地址:Apache ZooKeeper 本文使用的是zookeeper的3.7.0版本,对应文件名为:apache-zookeeper-3.7.0-bin.tar.gz。 下载后,使用tar命令解压: tar -zxvf apache-zoo 阅读全文
摘要:
version版本: version版本号用处是对于同一接口,具有不同的服务实现。 1、服务端代码: 1 package com.yas.serviceprovider.impl; 2 3 import com.yas.api.SiteService; 4 import org.apache.dub 阅读全文