组件【algorithm】
小伙伴们,你们好,欢迎来到老寇云平台,这个组件【algorithm】是根据自定义策略对节点进行负载均衡,可以用于服务,API!
# 使用
1.引入依赖
<dependencies>
<dependency>
<groupId>org.laokou</groupId>
<artifactId>laokou-common-algorithm</artifactId>
</dependency>
</dependencies>
2.测试用例
@Slf4j
@SpringBootTest
@RequiredArgsConstructor
@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
class AlgorithmTest {
@Test
void testApi() {
List<OssApi> ossApis = List.of(new TencentcloudOssApi(), new AliyunOssApi());
// 负载均衡【哈希算法】
Algorithm algorithm = new HashSelectAlgorithm();
algorithm.select(ossApis, new Random().nextInt(10)).upload();
// 负载均衡【轮询算法】
algorithm = new PollSelectAlgorithm();
algorithm.select(ossApis, "").upload();
// 负载均衡【随机算法】
algorithm = new RandomSelectAlgorithm();
algorithm.select(ossApis, "").upload();
}
interface OssApi {
void upload();
}
static class AliyunOssApi implements OssApi {
@Override
public void upload() {
log.info("阿里云OSS => 上传文件成功");
}
}
static class TencentcloudOssApi implements OssApi {
@Override
public void upload() {
log.info("腾讯云OSS => 上传文件成功");
}
}
}
我是老寇,我们下次再见!
上次更新: 4/2/2025, 4:31:30 AM