Kafka 썸네일형 리스트형 실습으로 배우는 선착순 이벤트 시스템 - review 실습으로 배우는 선착순 이벤트 시스템이란 것을 인프런에서 시청했다. kafka를 통해 영감을 받거나 새로운 insight를 얻은 것을 정리하려고 한다. https://www.inflearn.com/course/%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5/dashboard 실습으로 배우는 선착순 이벤트 시스템 - 인프런 | 강의 선착순 이벤트 시스템을 구현할 때 어떤 문제가 발생할 수 있고 어떻게 해결할 수 있는지 배워봅니다., - 강의 소개 | 인프런 www.inflearn.com 쿠폰 서비스 개발하기 100개의 쿠폰을 선착순으로 개발할 예정이고 1000명이 해당 쿠.. 더보기 kafka 실행시켜보기 (feat. docker) 공식 문서에 나와있는 docker-compose.yml 내용을 그대로 복사붙여넣기하고 추가로 내가 필요한 부분은 더 추가해서 docker-network를 구성하였다 . 내용은 kafka와 zookeeper를 실행시키고 zookeeper를 그대로 연결해서 띄우는거다. 실제로 로컬에서 일일히 띄우기 귀찮았는데 docker를 사용하면 파일 하나만 실행시키면 자동으로 되는게 너무 편하다. version: '3' services: zookeeper: image: confluentinc/cp-zookeeper:7.0.1 container_name: zookeeper ports: - "2181:2181" networks: - kafka-network # Kafka와 관련된 컨테이너와 같은 네트워크 그룹에 속하도록 설.. 더보기 PUB/SUB 채팅서비스 redis ? kafka 이번 소프트웨어마에스트로 서비스에서 채팅서비스를 운영하면서 웹소켓의 stomp구조를 사용하게되었다. STOMP란 무엇일까 ? (Simple/Stream Text Oriented Message Protocol) websocket 위에서 동작하는 문자 기반 메세징 프로토콜로써 클라이언트와 서버가 전송할 메세지의 유형 형식 내용들을 정의하는 매니즘 TCP와 웹소켓과 같은 신뢰할 수 있는 양방향 스트리밍 네트워크 프로토콜 기본적으로 pub/sub 구조이며, 메세지 전송하고 받아 처리하는 부분이 확실히 정해져 있다. http 와 마찬가지로 frame을 사용해 전송하는 프로토콜 여기서 pub/sub 란 무엇인지 또 알아보겠습니다. 1. 이벤트메세지를 발행하는 publisher가 존재하고, publisher는 특정 .. 더보기 Kafka Connect Source,Sink 통해 다른시스템과 데이터 주고받기 kafka Connect 카프카 커넥트는 ETL에서 E와 L의 역할을 해준다.(Extract,Load) Source Connector는 데이터 소스에서 카프카로 보내는 역할을 하고, Sink Connector는 카프카에서 다른 목적지로 보내는 역할을 한다. Kafka Connect를 왜 사용할까? kafka를 통해서 Msa환경에 분리되어 있는 DB에 동일한 데이터 값을 전달할 수 있게 된다. 예를 들어 OrderService에 각각 다른 DB를 가지고 있고 로드밸런싱이 이루어진다고 가정하면 사용자가 데이터를 추가할 때 해당 Service Port에 들어와 있는 서비스의 DB에만 저장이 될 것이다. 동기화문제가 발생하기 때문에 이러한 단점을 해결하기위해 사용한다. 더 자세한 설명은 밑에 링크에 첨부 하겠습.. 더보기 Msa 로드밸런싱 동기화 문제 해결방안 사이트 규모가 증가함에 따라서 과부하를 처리 하는 방식 중 하나를 로드 밸런싱이라 합니다. 그리고 로드 밸런싱은 N개의 다른포트에 똑같은 서비스 ( ex : 주문 서비스 ) 를 기동시켜 교차하며 서비스를 제공하도록 합니다. 이 방법은 굉장히 효율적으로 과부하에 대비 할 수 있지만 한가지 문제점이 존재합니다. 바로 데이터 동기화의 문제 인데, 만약 H2 DB처럼 각 Port별로 어플리케이션 실행 시 생성되는 DB인 경우에는 어떨까요? #Load Balancer의 동작원리 많이 생략되어 있지만, LoadBalancer에서 어떤 Port로 접속 할지 접속 정보를 가지고 있습니다. 그리고 처음으로 요청이 들어오면, 보시는 것처럼 9091 Port로 요청값을 보냅니다. 그럼 9091Port 에서 H2-DB에는 유.. 더보기 이전 1 다음