2016-09-09 2 views
0

작은 스프링 클라우드 스트림 프로젝트 (http 소스 및 jdbc 싱크 (각각 3 개의 인스턴스) 만 사용)을 배포하고 있습니다. 예상로드는 초당 10 회입니다.Redis는 Spring Cloud Stream을위한 좋은 아이디어입니까? Kafka 또는 RabbitMQ를 사용해야합니까?

나는 redis를 사용하는 것을 생각하고 있었는데, 그 이유는 내가보기에 편하지 않았기 때문 이었지만, 최신 문서에서는 거의 모든 refereces가 kafka와 RabbitMQ에 있었기 때문에 미래에 redis가 지원되지 않을지 아니면 궁금하다면 redis를 사용하는 모든 문제입니다.

감사

답변

1

레디 스 봄 클라우드 스트림과 생산을 위해 사용하지 않는 것이 좋습니다 - 바인더가 완전히 작동하지 않습니다 및 메시지 손실이 가능하다.

+0

RabbitMQ를 기본 설정으로 사용하면 공정한 메시지 손실을 방지 할 수 있습니다. 나는 이것을 프로덕션 환경에서 최근에 힘든 방법으로 배웁니다. RabbitMQ를 사용하면 queue를 transactional = true로 설정하여 성능을 250 배까지 낮춰야합니다. 또 다른 메커니즘 인 producer confirms가 있지만 마지막으로 확인한 것은 Spring Cloud Stream에서 지원하지 않는 것입니다. 이 시점에서 갈 길은 카프카뿐입니다. – odedia

+0

@odedia 게시자가 단일 전송에 대해 확인을 사용하는 것은 트랜잭션을 사용하는 것과별로 다르지 않습니다. 모든 확인을 기다리는 것보다 많은 수의 메시지를 보낼 때만 성능에 현명합니다. 그로부터 이익을 얻을 수있는 유일한 스트림 앱은 하나의 입력에서 여러 출력을 생성하는 스플리터 일 것입니다. –

관련 문제