Kommunikation zwischen zwei Microservices

Ich bin erstellen Sie ein Projekt mit microservices-Architektur. Und ich habe zwei microservices.

Einer von Ihnen ist für product-Entität, die andere ist für bill Entität. Sie haben Ihre eigenen Endgeräte, und Sie verbunden sind, zusammen mit dem gateway (ich bin mit jhipster microservices-Architektur).

Rechnung-ms sollte Zugriff auf die Liste der Produkte. Ich Frage mich, wie kann ich die Kommunikation zwischen diesen beiden ms. Ich habe drei Ansätze, die in meinem Geist:

  1. Senden Sie eine Anfrage von bill-ms-queue - wie rabbitMQ, um diese Produkte mit diesen ids von Produkt-ms (ich weiß nicht, was ist der Flaschenhals)
  2. Senden Sie eine Anfrage an gateway für Produkt-service und das Produkt von dort aus (ich mache mir sorgen um die Latenzzeit wegen der Größe der Daten zwischen Ihnen und auf diese Weise ich bin nicht berühren die Datenbank direkt, so dass ich immer davon abhängen, gateway)
  3. Kann ich Dupliziere die repositories, Dienste und Einrichtungen in der bill-ms (es ' s eine hässliche Art und Weise, und ich denke, es bricht die Regel der ms-Architektur und die Wartung ist sehr schwierig)

Wenn Sie irgendwelche anderen Ansätze, die ich schätzen Sie, es zu teilen mit mir.

Bearbeiten

  1. Jetzt weiß ich, was der Engpass ist: sagen, dass es 3-Instanz, die von bill-ms und wie funktioniert rabbitMQ entscheiden, welche Instanz zu reagieren? oder wie soll ich sagen, die Band "mir den freien Fall der bill-ms zu abonnieren, um die Anforderung von rabbitMQ" für das load balancing.

InformationsquelleAutor der Frage SerhatTR | 2016-04-18

Schreibe einen Kommentar