2016-09-09 8 views
0

시스템에 여러 언어로 작성된 여러 응용 프로그램이 있습니다. 이 응용 프로그램간에 메시지를 보내는 것이 좋습니다.다른 응용 프로그램 간의 통신

응용 프로그램이 다른 언어로 작성 되었기 때문에 JMS는 옵션이 아닙니다. 현재 MQ, 웹 서비스, ESB 서비스와 같은 몇 가지 아이디어가 있습니다.

ESB가 가장 좋습니다.

제게 몇 가지 제안을 해주십시오, 감사합니다!

편집 일부 응용 프로그램은 매우 많은 시간이 소요되므로 RPC 호출이 (적어도 RPC를 차단하는 것은 정말 좋지 않다), 어쩌면이 또한 고려 될 필요가있다.

+0

[RabbitMQ] (https://www.rabbitmq.com/)를 고려해야합니다. – pdoherty926

+0

사실 현재 Rabbit MQ를 임시 솔루션으로 사용하고 있지만 더 많은 동시 요청이 발생할 때 이것이 최상의 솔루션인지 확실하지 않습니다. – Simon

답변

0

ZeroMQ와 Google 프로토콜 버퍼를 자세히 살펴 보겠습니다. 둘 다 많은 플랫폼에서 다양한 언어로 잘 지원됩니다.

ZeroMQ는 동일한 컴퓨터 나 네트워크에서 실행되는 응용 프로그램이나 스레드간에 바이트를 이동시키는 데 훌륭한 방법입니다.

Google 프로토콜 버퍼는 코드 바이트를 직접 작성하지 않고도 이러한 바이트를 모든 애플리케이션이나 스레드에 적용 할 수있는 훌륭한 방법입니다. 바이너리이기 때문에 전송 된 데이터는 매우 작습니다.

예를 들어 C++로 작성된 하나의 프로그램을 ARM CPU에서 Linux에서 실행중인 프로그램을 Windows에서 Java로 실행되는 다른 프로그램과 공유하는 것은 매우 간단합니다.

모범 사례가 추가 서비스 또는 서버를 설정하지 않아도된다는 것을 의미한다면,이 두 가지가 당신이 원하는 것입니다.

+0

올바르게 이해했다면 Google 프로토콜 버퍼를 사용하여 데이터를 직렬화 한 다음 ZeroMQ를 사용하여 메시지를 보내는 것이 좋습니다. 그렇다면 다른 MQ보다 JSON 및 ZeroMQ에서 GPB를 사용하면 어떤 이점이 있습니까? – Simon