작은 프로젝트를 진행할 때도 메시지 브로커는 아키텍처에 따라 필요한 경우가 종종 있습니다. 이때 Apache kafka를 쓰자니 배보다 배꼽이 커지고, 클라우드의 메시지 큐(AWS SQS 등)를 사용하자니 벤더 락인(vendor lock-in)이 우려될 때 Redis stream은 아주 좋은 대안이 됩니다. 혹시 kafka를 redis pub/sub과 비교하려 한다면 정확한 비교가 안되는데 토픽 개념은 유사하지만 redis pub/sub에는 소비자 그룹의 개념이 없기 때문입니다. ( stream에서 xread의 경우에는 소비자 그룹을 사용하지 않습니다. xgroupread로 접근하는게 맞습니다. 소비자 그룹의 개념이 들어가면서 메시지가 잘 도착했는지 확인이 가능합니다. 혹시 메시지 전달의 성공/실패/처리..
아래 소스는 Java8을 기준으로 작성되었습니다. 혹시 오타가 있거나 잘못 이해한 부분이 있으면 댓글로 적어주세요 :) 프로그래밍하면서 정말 많이 사용하는 것 중 하나가 for문이다. for문은 원시적으로 아래와 같이 사용해왔다. 이렇게 반복문을 사용하는 것을 Java8, JavaScript에서 제공하는 기본 라이브러리로 변경할 수 있다. Stream이란 클래스 안에 내장되어 있다. 시작은 간단하다. list.stream()으로 시작만 하면 된다. 그리고 끝도 간단하다. list.stream(). ... .collect(Collectors.toList()); 로 닫으면 끝난다. 이렇게 보아선 도무지 감이 오지 않아서 예시를 한번 보면서 얘기하는 것이 좋을 것 같다. 위에서 제공한 것을 활용해보려고 한다...