Austin
취소

실시간 채팅방 구현(9) - (단방향 DB Sync with Kafka connector)

INDEX DB sync 시 고려할점 어떻게 두 개의 master DB를 sync 해야할까? Kafka connector란? Kafka Source connector setting postgres wal_level 설정 debezium connector 설정(s...

실시간 채팅방 구현(8) - (Kafka + Spring + ELK Stack 연동완료)

서론 드디어 길고 긴 실시간 채팅방 구현 중 backend가 완료되었다! 경험많고 설계를 잘하시는 분들이 보면 간단해보이겠지만, 경험이 전무한 필자는 모든 구현과 기술 하나하나가 벅찼다. 진짜 응애 개발자로써 기술 문법부터 배워나가는 입장인데, 레퍼런스가 조금이라도 미비한 설명을 한다면 구글링만 3시간 넘게 할 수 밖에 없었다. 그리고 간단한 에러들도...

Elastic Search 심화(2)-ELK

ELK stack ELK 스택은 Elastic Search + Logstash + Kibana를 지칭하는 단어다. ES만 사용하는것이 아닌, Logstash(or Beats/Agent)로 원하는 데이터를 정제하여 ES에 삽입하고, Kibana를 통해 시각화시켜주는 통합기술스택이라고 보면 되겠다. 아래는 김종민 님의 ES Webinar 중 하나에서 발...

Elastic Search 심화(1)

INDEX Shard란? Node란? 주의사항 1. Shard란? 이전 포스팅에서 ES는 Index단위로 데이터를 저장한다고 하였다. 이 Index는 Shard 단위로 분산저장된다. 위의 그림은 하나의 Index를 총 5개의 샤드로 분산저장한 그림이다. 그리고 이런 샤드는 분산저장이라는 수식어에 걸맞게 여러 노드로 분산시킬 ...

Elastic Search의 개념 및 RDB와의 차이점

INDEX 개념 RDB와의 차이점 Type을 독립적으로 가지지 않은 이유 부모자식관계를 설정하는 두 가지 방법 RDB와의 차이점(추가) 문법(Appendix) 1. 개념 ES(ElasticSearch)는 Java 오픈소스 분산 검색 엔진이다. ES는 역색인을 지원하기에 기존 RDB가 지원하지 않는 비정형 데이터를 인덱싱 + ...

실시간 채팅방 구현(7) - (수정된 아키텍처)

진행상황 Architecture 현재 구현된 서비스를 docker compose를 통해 실행시키면 다음과 같이 컨테이너들이 생긴다. Kafka와 Chat Server, Auth Server, DB들 모두 외부접속 가능하도록 노출 port를 도커 내부 포트랑 같게 설정했다. gyuminhwangbo@Gyuminui-MacBookPro spri...

실시간 채팅방 구현(6) - (전체 아키텍처 수정)

전체 스키마 수정 앞서 본 프로젝트에서 backend와 front가 kafka Request/Response 아키텍쳐로 통신하도록 설정하였다. 이 때, 발생하는 귀찮은 부분이 상당히 많았다. 특히 로그인 부분에서 다시 생각해보게 되었다 기존 구현 아키텍처 (아직 로깅서버는 미구현) 통신 흐름 Client – POST http...

실시간 채팅방 구현(5) - (Kafka 연동완료)

진행상황 Backend Server 완료 아래는 Kafka Backend Server 세팅 클래스 및 기능들이다. MessageListener : 실제 메세지 내부 로직 수행 KafkaTopicConst : 토픽을 application-properties에서 로드 KafkaTopicConfig : 토픽 등록 KafkaConsumerCo...

실시간 채팅방 구현(4) - (프로젝트 수행시 고려점3)

추가내용 문제점2. 메모리상에서 유저데이터의 복제 해결 방법 이전 포스팅[실시간 채팅방 구현(2)]에서 문제점2인 메모리상 유저데이터 복제가 일어난다고 기술했다. 이를 해결하기 위해 sticky session과 같이 kafka 파티셔닝을 진행한다고 하였다. 상세내용은 아래의 코드를 통해 보이겠다. KafkaProducerController @Slf4...

Kafka에 대한 고찰

Request-response (HTTP) vs. event streaming (Kafka) 정리 글 Use Cases and Architectures for HTTP and REST APIs with Apache Kafka event streaming 2 Event Sourcing 페이스북같은 경우, 유저 프...