kafka 3

DB 데이터 동시성 이슈 해결법

목차작성 계기동시성 이슈의 원인해결책 (1) - 물리적 DB 1개 사용해결책 (2) - DB간의 동기화 (MQ)해결책 (3) - Kafka + 물리적 DB 1개 사용1. 작성 계기Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)의 강의를 듣고 인상 깊은 내용을 정리 중이다.현업에서는 Master DB 1대 Slave DB 1대로 레플리카구조로 이루어진 프로젝트가 대부분이다.만약 동일 서비스에 Master DB가 여러대일때의 상황을 고려해본 적이 별로 없다.(레플리카에 대한 설명은 클러스터링, 레플리카, 그리고 샤딩 게시글에서 확인해보자.)강의를 통해 학습했으니 내용을 정리해보자.2. 동시성 이슈의 원인해당 프로젝트에서는 USER SERVICE 에서 ORDER SERVICE API를 ..

🖥️ CS/DB 2024.11.13

[마이크로서비스 아키텍처 구축] 5. MSA 마이크로서비스 통신 구현 (1)

해당 글은 마이크로서비스 아키텍처 구축에서 학습한 내용을 다룹니다.목차MSA 서비스간 통신 종류원격 프로시저 호출 RESTGraphQL메시지 브로커중단 변경 관리하기락스텝 배포 (lockstep deployment)호환도지지 않는 마이크로서비스 버전의 공존기존 인터페이스 에뮬레이션무엇이 최선일까?극단적 조치1-1. MSA 서비스간 통신 종류 - 원격 프로시저 호출 (Remote Procedure Call)로컬 호출을 통해 어딘가에 있는 원격 서비스를 실행(RPC)하는 기술을 말한다.일반적으로 RPC 기술은 직렬화 프로토콜에 투자한다는 의미이며, RPC 프레임워크는 데이터가 직렬화 되거나 역직렬화 되는 방법을 정의한다.대표적으로 gRPC가 있으므로 이를 중점으로 설명한다.gRPC는 프로토콜 버퍼 (아래 코..

Kafka - Classpath is empty 이슈

로컬에서 Kafka를 돌렸는데 아래와 같은 로그가 출력됐다. Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.11.12' 해결책은 크게 2가지가 있는데, 나는 2번의 방법으로 해결할 수 있었다.참고로 사용중인 운영체제는 Mac OS이다.1. Kafka Source 파일이 아닌 Binary 파일을 다운 받기  Kafka 공식 다운로드 사이트에서 Source 파일이 아닌 Binary 파일을 다운받아 실행하자.  2. 파일 경로에 특수 문자 또는 공백이 없는지 확인 내 경우엔 아래와 같이 kafka가 설치된 경로에 공백이 포함되어 있었다./DM/Desktop/work/dev util..