본문 바로가기

MessageBroker

Redis가 싱글스레드임에도 높은 성능을 보장하는이유 분산된 서버에서 데이터를 저장하거나, TTL을 설정하거나, 동시성을 제어하기위해 등등 여러용도로 Redis는 많이사용되고있다. 프로젝트에서도 Redis를 사용하면서 싱글스레드기반으로 동작되기 때문에 동시성문제를 제어하는데 있어서 문제는 없지만싱글스레드기반이기 때문에 성능에 문제가 있지 않을까? 하는 의문은 한번 쯤은 해봤던 것 같다. 이 의문점을 풀기위해 글을 작성합니다.  왜 Redis는 높은 성능을 보장하는가 ? 1. 메모리 기반 데이터 저장- Redis는 모든 데이터를 메인 메모리에 저장하고 주기적으로 스냅샷을 디스크에 저장한다. 2. 싱글 스레드 및 이벤트 루트 시스템Redis는 Node.js와 같이 이벤트루프와 I/O Multiplexing을 통해 싱글 스레드 모델임에도 높은 동시성을 보장한다... 더보기
실습으로 배우는 선착순 이벤트 시스템 - 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 Connect Source,Sink 통해 다른시스템과 데이터 주고받기 kafka Connect 카프카 커넥트는 ETL에서 E와 L의 역할을 해준다.(Extract,Load) Source Connector는 데이터 소스에서 카프카로 보내는 역할을 하고, Sink Connector는 카프카에서 다른 목적지로 보내는 역할을 한다. Kafka Connect를 왜 사용할까? kafka를 통해서 Msa환경에 분리되어 있는 DB에 동일한 데이터 값을 전달할 수 있게 된다. 예를 들어 OrderService에 각각 다른 DB를 가지고 있고 로드밸런싱이 이루어진다고 가정하면 사용자가 데이터를 추가할 때 해당 Service Port에 들어와 있는 서비스의 DB에만 저장이 될 것이다. 동기화문제가 발생하기 때문에 이러한 단점을 해결하기위해 사용한다. 더 자세한 설명은 밑에 링크에 첨부 하겠습.. 더보기
Spring Cloud Bus란 무엇인가? 설정 정보 변경하기 및 반영하기 설정 정보 변경하기 위의 세팅을 모두 적용하며 각각 서비스들과 mesh 를 실행시켜보자. 그리고 설정 파일 하나를 변경한다면 어떻게 해야할가? 변경 사항 : test.message: this is version 1 -> test.message: this is version 2 설정 정보 반영하기 이제 각각의 마이크로서비스에서 설정 정보를 반영하기 위해서 Spring Boot Actuator의 refresh 기능을 위해 Postman 에 들어가자 그리고 각각의 마이크로서비스의 주소로 https://my-service/actuator/refresh 명령을 보내면 된다. 그럼 설정 정보가 반영된다. 문제점 그럼 기존의 방식의 문제점이라면 뭐가 있을까? 아마 설정이 변경되면 모든.. 더보기
MOM 미들웨어란 무엇인가? 목차 미들웨어란? MOM 이란? MOM 구성요소 MOM vs without MOM Messaging 의 2가지 방식 PTP Messaging Pub/Sub Messaging Message Broker 대표적인 MOM 솔루션 오늘은 요즘 많은 분야에서 채택되어 사용되고 있는 Message Oriented Middleware 에 대해서 알아보려 한다. Message Oriented Middleware, MOM 이란 하나의 소프트웨어나 솔루션 보다는 더 상위 개념으로 아키텍처 패턴이나 프로그래밍 기법에 해당한다고 생각한다. 물론 MOM을 위키피디아에서는 응용 소프트웨어 간의 데이터 통신을 위한 소프트웨어라고 부르지만 우리는 조금 더 큰 개념에서 이해해보자. 이런 MOM 을 이해하기 위해서는 우선 Middlew.. 더보기
RabbitMq 설치하는방법 MSA 프로젝트를 준비하며 여러가지 준비사항이 있지만 느슨한 결합을 위해 MQ (Message Queue) 가 필요하다. 여러가지 이런 메세징 기능이 있는 툴이 있지만 RabbitMQ를 일단 사용해보려한다. 어떻게 설치하는지 간단히 알아보자. Downloading and Installing RabbitMQ — RabbitMQ Downloading and Installing RabbitMQ The latest release of RabbitMQ is 3.8.9. See change log for release notes. See RabbitMQ support timeline to find out what release series are supported. Experimenting with RabbitMQ.. 더보기