전체 글(96)
-
Publish/Subscribe
Exchanges-fanout 앞선 예제에서는 메세지를 Queue로 바로 보내고 Consumer 입장에서는 메세지를 구독하는 형태 였다. 이번 예제에서는 Queue로 메세지를 바로 보내는 것이 아니라 Exchange로 메세지를 전달하고 Exchange 에서는 받은 메세지를 처음에 언급한 4가지 Exchange Type에 의해서 Queue로 Routing 처리 하게 된다. 그 유형중 fanout에 대해 알아볼려고 한다. 위의 그림을 이해하면 아래 소스를 이해하는데 도움이 될것이다. 1. Producer는 Exchange 이름을 "logs"로 하고 Type은 "fanout"으로 해서 Exchange를 생성한다. 2. Producer는 생성된 Exchange 이름에 메세지를 전송한다. 3. Consumer는 ..
2020.04.19 -
Work Queues
Hello World! 에서는 지정한 큐로 메세지를 주고 받는 프로그램을 작성해았습니다. 이번 예제에서는 시간이 많이 걸리는 작업을 여러작업에 배포하는 예제를 알아보자. Work Queues 의 가장 핵심적인 개념은 Round-robin 분배 방식이다. 리소스를 많이 사용하는 작업을 즉시 수행하지 않고 완료될때까지 기다려야 한다. 대신에 작업이 나중에 수행 될수 있도록 예약해야 합니다. 작업을 메시지로 캡슐화하여 대기열로 보냅니다. 백그라운드에서 실행중인 작업 프로세스는 작업을 Pop 하고 작업을 실행합니다. 여러 Worker를 실행하면 작업은 공유 될것입니다. PRODUCER 메세지 발송을 위한 NewTask.java 프로그램을 작성한다. package com.rabbitmq.tutorials.chap..
2020.04.19 -
Hello World
RabbitMQ는 메세지 브로커 이다. 쉽게 이해하기 위해서 우체국으로 생각할 수 있다. 원하는 사람에게 메세지를 전달하기 위해 메세지를 작성하고 우체국 또는 우편함에 우편물을 넣으면 우리가 원하는 사람에게 메세지가 전달 될 것이다. 아래 그림은 우리가 작성 할 예제 프로그램에 대한 흐름이다. PRODCUER는 메세지를 보내는 사람이 될 것이고 우리가 전달할 메세지는 Broker인 RabbitMQ의 Queue에 메세지가 저장되고 Consumer에게 메세지가 전달 될 것이다. 프로젝트생성 기본적인 자바 프로젝트 생성한다. 프로젝트 구조는 아래와 같다. PRODUCER 메세지를 전송하기 위한 Send.java 프로그램을 작성한다. package com.rabbitmq.tutorials.chap01; impo..
2020.04.19 -
Quick Start
Microservice Architechture를 공부해오면서 Message Queue에 대해 관심을 가지게 되었다. 그중에 RabbitMQ에 대해 관심이 있었는데어떻게 공부 하는게 좋을지 고민 하던중 YouTube 채널중 JavaBrains 의 "4 steps to master a new technology" 강좌 내용이 많은 도움이 되었다. 강좌의 내용을 요약해보면 다음과 같다. Step1: Quickstart Step2: Video Courses Step3: Read Related Books Step4: Build Something with it. 첫번째 예제인 Hello World를 따라 하다 보니 그에 앞서 중요한 용어에 대한 개념 정리가 필요한거 같아서 먼저 용어에 대해 정리 해보았다. 그럼 ..
2020.04.17 -
통합로그-키바나 로그 확인
키바나 로그 확인 키바나 로그에서 확인 하고 싶은 내용은 결제정보와 결체 처리 결과 상품재고 업데이트 정보와 처리결과 이다. 로그는 order-service의 사용자의 요청 정보를 받아들인 후 결제 처리 후 상품재고 업데이트 순으로 보여지기를 원하는 것이다. 먼저 해야 할 일은 logstash에서 설정한 micro-{appName} 으로 index pattern을 생성한 후 로그 정보를 확인 하는 것이다. 01. index pattern 생성 키바나 메인 페이지에 접속한다. 왼쪽 아이콘에서 맨밑에 Management 아이콘을선택한다. Create index pattern 버튼을 선택한다. 수집에 로그 정보 목록이 보인다. index-pattern에 micro-* 입력 후 Next Step 버튼을 선택한다..
2020.02.10 -
통합로그-어플리케이션설정
어플리케이션설정 로그통합을 위한 프로그램들을 설치 하였으니 이제 어플리케이션설정을 해보도록 하자. 전체소스는 아래 사이트에서 내려 받으면 됩니다. Github : https://github.com/roopy1210/spring-msa-with-logging roopy1210/spring-msa-with-logging This project integration with Logstash and ELK. Contribute to roopy1210/spring-msa-with-logging development by creating an account on GitHub. github.com 현재 소스는 이전의 Hystrix 소스에서 추가를 하였다. 따라서 추가된 부분만 알아보도록 하자. 01. pom.xml ..
2020.02.08