728x90
SpringBoot 환경에서 embedded Redis 를 구성하는 방법은 많이 나와있다. 그런데 그 방법 대부분이 Single instance 방식이고 나는 실제로 서비스시에는 Redis Cluster 를 사용할거라 embedded Redis도 Cluster로 구성하고 싶었다.
서칭과 여러 시행착오 끝에 jitpack.io/p/tarossi/embedded-redis 여기를 참고해서 구성을 성공할 수 있었다.
1. 의존성 추가(Gradle 기준)
dependencies {
implementation 'com.github.tarossi:embedded-redis:1.5.2'
}
2. embedded Redis Bean 설정
@Profile({"local", "test"})
@Component
public class EmbeddedRedis {
private final List<Integer> msterPorts = Arrays.asList(6370, 6371, 6372);
private final List<Integer> slavePorts = Arrays.asList(6380, 6381, 6382);
private Redis redisServer;
@PostConstruct
public void startRedis() {
redisServer = new RedisCluster.Builder()
.serverPorts(Stream.concat(msterPorts.stream(), slavePorts.stream())
.collect(Collectors.toList()))
.build();
redisServer.start();
}
@PreDestroy
public void stopRedis() {
Optional.ofNullable(redisServer).ifPresent(Redis::stop);
}
}
위와 같이 하면 local, test Phase 으로 구동시 Redis Server를 localhost:6370,localhost:6371,localhost:6372 와 같이 참조할 수 있다.
728x90
'Backend > Spring+Boot' 카테고리의 다른 글
@RequestMapping consumes, produces (0) | 2021.07.07 |
---|---|
SpringBoot Redis Cluster Lettuce 설정 (0) | 2021.05.04 |
spring cloud config 비활성화 (0) | 2021.05.04 |
Request 정보 Logging 하기 (0) | 2021.05.04 |
크로스 도메인 이슈 (0) | 2021.04.29 |