2017-02-25 3 views
0

Ich versuche eine neue Anwendung mit Spring Boot Microservice Framework zu erstellen. Ich habe ein Demo ausprobiert. Die vorhandene Demo ist zu einfach, führt nicht vor, wie man einen anderen Dienst von einem Dienst anruft. Sollte noch durch http gehen, oder sollte durch RPC gehen? Wenn RPC gehen, welches RPC-Framework unterstützt?Spring Boot Microservice Framework Wie man einen anderen Microservice von einem Microservice aus anruft

+1

Bis zu Ihnen ganz. Viele Leute haben uns HTTP - REST/SOAP. Viele Leute nutzen Messaging - RabbitMQ hat eine hervorragende Unterstützung in Spring Boot. Manche Leute benutzen uns Frameworks wie Akka, um mit dem Vertrieb umzugehen; aber ich bin mir nicht sicher, inwieweit das in Spring Boot integriert ist. Wiederum andere verwenden rohe Sockets und benutzerdefinierte Protokolle mit UDP/Multicast für Clusterunterstützung. Wieder andere verwenden geteilte Objekte von Hazelcast und Teracotta. Grundsätzlich ist die Anzahl der Ansätze ** riesig ** und ohne einige Kriterien ist die Auswahl willkürlich. –

+0

Vielen Dank. Wenn die Leistung kein Problem ist, möchte ich http verwenden, da es einfach ist. d – richard

Antwort

1

Wenn ein anderer Mikro-Service wird den REST-API aussetzt, dann können Sie einfache Verwendung jersey client

oder httpclient sie nennen.

+1

Oder Spring Rest Unterstützung über 'RestTemplate' - wahrscheinlich sinnvoller, da das OP explizit Spring Boot erwähnt. –

2

Die Art der Integration zwischen den Diensten hängt von zahlreichen Faktoren ab, wie Synchronität/Asynchronität, zu erzeugende Last usw. Die beliebteste (ich denke) Art der Integration ist REST-basiert. Da Sie Ihre Frage mit spring gekennzeichnet haben, würde ich empfehlen, deklarativen REST-Client zu verwenden - Feign, das sehr gut here beschrieben wird. Sie können auch Nachrichtenbroker verwenden, die auch von Spring Cloud Stream sehr gut abstrahiert werden - Sie können mehr lesen here. Ich denke, dass eine tiefer gehende Diskussion auf Ihren Bedürfnissen basieren sollte.