프론트엔드 개발자 중규리 입니다 ദി ᷇ᵕ ᷆ ) 자세히보기

기술/학습 2

RabbitMQ(2) - RabbitMQ, GemFire 개념 및 등장 배경

🥸 모놀리식 아키텍쳐 하나의 어플리케이션에 여러가지 비즈니스 서비스가 번들되는 형태 전통적인 모놀리식 아키텍쳐에선 개발팀의 규모가 컸다. 결합도가 너무 높았음 (리스크 높음) 개발자간 지식을 공유하는 것도 어려웠다. 데이터 거버넌스 세팅을 공유하는 것도 레거시 기술에 국한될 수 밖에 없음 신기술 도입이나, 레거시에 알맞는 개발자를 찾기도 어려움 😎 모던 소프트웨어 아키텍쳐 독립적인 각각의 Micro Service를 구축해서, 상호 작용하도록 만든 형태 각각의 서비스는 본 서비스에 맞는 데이터베이스를 가져야함 비즈니스 서비스 간 결합도가 낮아짐 독립적으로 개발되고, 테스트되고, 배포되기 때문에 빠르다 데이터가 늘어나는 상황에서 서비스를 스케일업하는 데에 강점을 가짐 테스트나 배포도 마찬가지 인력이나 신기술..

기술/학습 2024.04.17

RabbitMQ(1) - RabbitMQ 기초, Kafka와 차이점

이번에 회사에서 3일간 RabbitMQ 교육을 다녀오게 되었다. 내일부터 시작되는 교육 전, 사전에 학습한 내용을 정리해보았다. 기본 메시지 큐 RabbitMQ, Redis, Kafka.. 모두 메시지 큐 기반의 시스템이다. 메시지 큐란, 프로세스 또는 프로그램 인스턴스가 데이터를 교환할 때 사용하는 통신 방법이다. 크게 정보를 제공하는 Producer, 정보가 잠시 담겨있는 Queue, 정보를 제공받는 Consumer 가 있다. 메시지 큐의 장점은 아래와 같다. 비동기(Asynchronous) Queue가 있기 때문에 비동기 처리하며 병목현상 방지 가능 낮은 결합도(Decoupling) 정보를 제공하는 서비스와 받는 서비스가 분리되며 결합도가 낮아진다. 확장성(Scalable) 다수의 프로세스가 메시지..

기술/학습 2024.04.14