2017-12-21 19 views
0

나는 ESB를 호출 할 것이므로 그 코드에 대한 서비스 프록시를 만들고 싶다.vertex service proxy 용 코드를 도커에 넣기

여러 verticles에 공통적으로 적용될 예정이므로 각 ESB 호출간에 코드의 일관성이 높기 때문에 특정 서비스 프록시를 만듭니다.

사용자에 대한 미결 주문을 조회하기 위해 OrderVerticle은 이벤트 버스에 요청을하고 OpenOrderService는 ESBService에 대한 요청을 넣습니다.

제 문제는 제가 모든 것을 고정 시켰기 때문에 각 Verticle은 자체 컨테이너에 있습니다. 이벤트 버스 코드를 어떻게 도킹합니까? 이벤트 버스를위한 모든 프로젝트가있는 도커 컨테이너 하나만 갖춰야합니까?

이것은 나쁜 생각 인 것 같습니다. 그래서 이것을 처리하는 올바른 방법은 무엇입니까?

또 다른 생각은 각 verticle에 대한 서비스 프록시 프로젝트를 모두 해당 verticle의 도커 컨테이너에 넣는 것입니다.하지만 역시 잘못된 것처럼 보입니다.

그래서,이 작업을 수행하는 올바른 방법을 이해하기 위해 시도하는 간단한 방법하지만, 잘못로 대신 serviceproxy의 새로운 Verticles를 만든 다음 바로 OrderVerticle에서 OpenOrderVerticle과 거기에서에 GRPC 또는 RPC 통화를하는 것입니다 ESBVerticle.

답변

0

클러스터 된 모드에서 Vert.x를 시작할 수 있습니다. 이 경우 EventBus는 여러 노드 (실행 중이거나 컨테이너가 아님)로 확장됩니다.

노드 1에 verticle A와 B를 배치 할 수 있습니다. C, D 및 E 하나의 노드 2. 마치 동일한 JVM에 모두 배치 된 것처럼.

여기에 지원되는 클러스터 관리자의 목록은 다음과 같습니다 http://vertx.io/docs/#clustering 그래서 내가 그들을 사용하여 각 verticle으로 고정 표시기 컨테이너에 내 서비스 프록시를 둘 것

+0

? 고맙습니다. –

+0

각 클라이언트 노드에서 클래스 경로에서 서비스의 클라이언트 측을 사용할 수 있도록해야합니다. – tsegismont