우당탕탕 C++로 Apache Kafka 통신하기 (rdkafka, modern-cpp-kafka)
·
kafka
librdkafka 라이브러리를 통해서 Windows 환경에서 C++로 Apache Kafka를 사용하고자 했다.백엔드로 구축한 로비 서버와 dedicated 서버간의 통신하기 위한 메세징 큐로 뛰어난 성능의 이벤트 브로커인 Kafka를 채택했었다.​IO Completion Port로 윈도우 환경에서 비동기, Non-Blocking IO 통신을 구축한 게임 서버와 통신해야할 로비 서버도 역시 블로킹 동작을 막기 위해서 Spring Webflux로 Netty 기반의 비동기 Non-Blocking IO를 구현했다.​서버간의 IPC 역시 블로킹 작업이 이뤄지면 오히려 일반적인 구조의 서버보다 느려지기 때문에 비동기로 이뤄져야한다!!순전히 흥미본위로 시작한 기술 프로젝트에 가깝지만, 너무 어려워도 재밌다.​​m..