Ist JMS keine bevorzugte Methode zur Nachrichtenübermittlung für Microservices, die in Cloud Foundry eingesetzt werden? Wenn ja, können Sie bitte erläutern, warum das nicht so ist?JMS Messaging in Cloud Foundry
Antwort
Die kanonische Antwort: Cloud Foundry hat keine Meinungen darüber, wie Ihre Anwendungen kommunizieren.
Es gibt viele Gründe, warum Sie eine REST-basierte Punkt-zu-Punkt-Kommunikation anstelle von Nachrichtenbrokern verwenden möchten. Eine Sache, die Sie in Betracht ziehen sollten, ist, dass die Apps, die Sie auf Cloud Foundry ausführen, ephemer sind und an jedem beliebigen Punkt beendet und neu erstellt werden können.
Nachrichtenwarteschlangentechnologien werden tendenziell so verwendet, dass Menschen Annahmen über Dinge wie "genau einmal" Semantik machen, die in einer verteilten Umgebung physisch unmöglich zu garantieren sind. Verteilte Transaktionen werden auch in einer verteilten Umgebung schwieriger, und da es mehr Netzwerk-Hops gibt, gibt es mehr Unsicherheit im System und eine erhöhte Wahrscheinlichkeit, dass Fehler auftreten.
Es gibt viel mehr, was man dazu sagen könnte, aber man sieht oft nicht, dass JMS mit Cloud Native Apps diskutiert wird, weil diese Technologien oft mit Designmustern verbunden sind, die nicht Cloud-freundlich sind es gibt nichts, was sie innerlich so macht.
- 1. Zeitzone in Cloud Foundry
- 2. Gesundheitsprüfung in Cloud Foundry
- 3. Java JMS Messaging
- 4. In Cloud-Gießereien verwendete Anwendungen, die JMS/AMQP-Nachrichten verbrauchen
- 5. Cloud Foundry Deployment in Travis
- 6. JMX - Pivotal Cloud Foundry
- 7. Pivotal Cloud Foundry - Spring Cloud-Dienste
- 8. Wildfly 10 für jms messaging
- 9. JMS für JCA Inbound Messaging?
- 10. Cloud Foundry Caching von node_modules
- 11. Cloud-Foundry-Kompatibilität mit DBs
- 12. Tötung einer Cloud-Foundry-Instanz
- 13. Cloud Foundry API - stoppen Anwendung
- 14. Firebase Cloud Messaging-Benachrichtigungsschlüsselname
- 15. Firebase-Cloud-Messaging in Angular2
- 16. Firebase Cloud Messaging-Autorisierungsfehler
- 17. Firebase Cloud Messaging Fehler
- 18. Firebase Cloud Messaging Zuverlässigkeit
- 19. Google Cloud Messaging (fake_message_id)
- 20. Verknüpfen von zwei Anwendungen in Cloud Foundry
- 21. UI-Anwendung in Pivotal Cloud Foundry
- 22. Paketverwalter in einer Cloud Foundry-Instanz verwenden
- 23. JAX RS-Anwendungen in Pivotal Cloud Foundry
- 24. Bereitstellen von Prometheus in Cloud Foundry
- 25. Firebase Cloud Messaging Problem
- 26. Google Cloud Messaging - Beispielserver
- 27. Erstellen eines Redis-Dienstes für Cloud Foundry-Anwendungen mit Cloud Foundry CLI
- 28. JavaEE- Messaging-System mit JMS und MDB
- 29. Möglichkeit Standalone-Anwendung für JMS/MQ-Messaging?
- 30. Google Cloud Messaging vs Firebase
Dank @EngineerBetter. Ich sehe jedoch, dass rabbitmq in den PCF-Marktplatz integriert ist und auch Apps, die in CF eingesetzt werden, Kafka benutzt. Ist nicht das, was Sie erwähnt haben, auch für diese anwendbar? Gibt es einen Vorteil von JMS zu AMQP für native Cloud-Anwendungen? –
Pivotal bietet RabbitMQ an (ich habe an diesem Angebot für eine kurze Zeit gearbeitet) und die Verwendung von Kafka zur Einnahme ist ein übliches Muster. Die Verwendung von Kafka für die Kommunikation zwischen den Mikrosystemen ist etwas, das ich allerdings nicht oft sehe, und man könnte argumentieren, dass die RabbitMQ-Unterstützung da ist, weil die Leute danach gefragt haben, nicht weil es eine großartige Idee für Microservices ist. Es ist ein breites Thema. Persönlich mag ich die zeitliche Entkopplung von Nachrichtenbrokern, und ich denke, dass _most_ Leute mit ihnen durchkommen können, anstatt eine komplizierte Anordnung von Netflix-Implementierungen. –
Danke @EngineerBetter! –