Service-Orientierte Architektur - AMQP oder HTTP

Ein wenig hintergrund.

Sehr großen monolithischen Django-Anwendung. Alle Komponenten nutzen die gleiche Datenbank. Wir müssen gesonderte Leistungen für so können wir unabhängig upgrade werden einige Teile des Systems, ohne den rest.

Verwenden wir RabbitMQ als broker Sellerie.

Rechts, jetzt haben wir zwei Optionen:

  1. HTTP-Services über eine REST-Schnittstelle.
  2. JSONRPC über AMQP zu einem event-loop service

Mein team ist eine Anlehnung an den HTTP-denn das ist, was Sie mit vertraut sind, aber ich denke, dass die Vorteile der Verwendung von RPC-über-AMQP überwiegen bei weitem.

AMQP bietet uns die Möglichkeiten, um einfach durch hinzufügen in den Lastenausgleich und hohe Verfügbarkeit, mit garantierten Nachricht Lieferungen.

In der Erwägung, dass mit HTTP wir erstellen client-HTTP-Wrapper für die Arbeit mit REST-Schnittstellen wir haben, um in einem load balancer und eingerichtet, dass die Infrastruktur in Ordnung zu haben, HA usw.

Mit AMQP ich kann nur spawn einer anderen Instanz des service, es wird eine Verbindung zu der gleichen Warteschlange wie die anderen Instanzen und bam, HA und load-balancing.

Bin ich etwas fehlt mit meine Gedanken über AMQP?

InformationsquelleAutor jreid42 | 2013-05-30

Schreibe einen Kommentar