RPC 2

[RabbitMQ] Spring RabbitMQ 사용방법

RabbitMQ는 메시지를 수신하고 전달하는 메시지 브로커이다.이 글은 다음 RabbitMQ 튜토리얼을 Java 버전으로 따라가 본 상태라고 가정합니다.따라서, 주요 API의 스프링에서의 사용법을 언급하며,스프링부트의 org.springframework.boot:spring-boot-starter-amqp를 사용하고 있다고 가정합니다.만약 RabbitMQ가 처음이시라면, 다음 글을 순서대로 따라가보며 내부 원리를 이해해보시길 권장드립니다.[RabbitMQ Java] 가장 간단한 프로듀서-컨슈머 사용해보기 [RabbitMQ Java] 가장 간단한 프로듀서-컨슈머 사용해보기원래 RabbitMQ 는 할 생각이 없었고, Kafka를 해보려고 했는데Kafka Definitive Guide의 내용이 너무 방대해서 ..

[RabbitMQ Java] RabbitMQ를 이용한 RPC

두 번째 튜토리얼에서 우리는 Work Queue를 사용하여 시간이 오래 걸리는 작업을 여러 워커(worker)에게 분산하는 방법을 배웠다. 하지만 어떤 함수를 원격 컴퓨터에서 실행하고 그 결과를 기다려야 한다면 어떨까?이는 조금 다른 이야기가 된다.이 패턴은 흔히 원격 프로시저 호출(Remote Procedure Call, RPC) 이라고 불린다. 이번 튜토리얼에서는 RabbitMQ를 사용하여 RPC 시스템(클라이언트와 확장 가능한 RPC 서버) 을 만들어보자.분산할 만한 시간이 오래 걸리는 작업은 딱히 없으므로, 임의로 피보나치 수를 반환하는 단순한 RPC 서비스를 예제로 구현할 것이다.클라이언트 인터페이스RPC 서비스 사용 방식을 보여주기 위해 간단한 클라이언트 클래스를 만든다.call이라는 메서드..