database engineer

Redis

Redis pub/sub vs. Kafka

결론 Redis pub/sub은 scale out 시에 주의해서 사용해야합니다. Kafka vs Redis Kafka와 Redis의 주된 차이점은 다음과 같습니다. 이벤트의 저장 여부 한 이벤트를 받을 수 있는 Subscriber(Consumer) 개수 이벤트의 저장 여부 Kafka는 발행된 이벤트(토픽)가 각 partition에 저장됩니다. 하지만 Redis는 발행된 이벤트(메시지)를 저장하지 않기 때문에, 구독자가 없다면 해당 이벤트는 사라집니다. 휘발. 따라서, 이벤트의 구독과 발행이 실시간으로 이루어져야 되는 상황인지, 혹은 언제든 발행된 이벤트를 읽으면 되는 상황인지 에 따라 선택이 달라질 수 있습니다. 한 이벤트를 받을 수 있는 Subscriber(Consumer) 개수 Redis pub/su..

Redis

Redis pub/sub

들어가며 Redis도 pub/sub을 지원합니다. 일반적으로 많이 사용되는 pub/sub인 Kafka 와는 그 특징이 조금 다른데요. 그에 대한 비교는 다음에 다루도록 하고, 이 문서를 통해 Redis pub/sub 에 대해 이야기합니다. hands-on practice를 통해 사용 방법을 정리합니다. Redis pub/sub 레디스는 메시지(topic)를 주고, 받는 기능을 pub/sub 기능을 제공합니다. PUBLISH 커맨드로 메시지를 발행하고, SUBSCRIBE 커맨드로 channel 을 구독하여 메시지를 수신하는 식입니다. 웹 소켓을 통해 메시지를 전송하는 경우 추가 네트워크 통신이 필요하지만, In-Memory 기반의 Redis는 메시지를 빠르게 주고 받을 수 있는 것이 장점입니다. 현재 Co..

mongoDB

MongoDB Replica set에 majority 미만의 멤버가 available한 경우

들어가며 재해, 혹은 순간적인 트래픽 증가로 노드가 다운되었다고 가정해볼까요. MongoDB Replica set은 automatic failover를 통해 HA를 보장합니다. 그러나 Replica set의 형상 유지와, 기능의 정상 동작에는 majority 과반수 이상의 멤버의 healthy 가 요구되는데요. 이 문서를 통해 MongoDB Replica set의 멤버가 연속해서 다운되어 majority 를 만족하지 못한다면 레플리카 셋은 어떤 모습으로 남아있을지 확인합니다. Replica set 구성 시뮬레이션을 위해 레플리카 셋을 먼저 구성합니다. 테스트 용도이므로 하나의 장비에서 포트를 달리한 3개의 mongod 프로세스로 구성합니다. mongod 프로세스 구성 node 1: 27017 sudo m..

wkdwoo
'database engineer' 태그의 글 목록