2009-09-25 7 views
5

ESBs (Enterprise Service Buses) sind in der Java-Welt von Unternehmen sehr beliebt geworden - aber gibt es in der .NET-Arena Entsprechungen?Gibt es .NET ESBs?

+1

http://stackoverflow.com/questions/722675/implementing-a-message-bus-architecture –

Antwort

14

Es gibt NServiceBus.

+1

Welche meiner Meinung nach sollte um jeden Preis vermieden werden. – Marco

+1

@Marco OK. Würdest du gerne näher erläutern warum? –

+0

Das erste Problem ist das: http://nservicebus.com/LicensePackages.aspx – Marco

2

Die erste Frage, die Sie sich stellen müssen, ist, warum brauchen Sie einen ESB?

ESB wird normalerweise in verteilten SOA-Architekturen verwendet, die heutzutage ein heißes Schlagwort zu sein scheinen. Bevor Sie in ESB springen lassen Sie mich Ihnen von Martin Fowler Erstes Gesetz der Verteilung Systeme erinnern:

http://martinfowler.com/bliki/FirstLaw.html

„Mein erstes Gesetz der Distributed Object Entwurf: Sie Ihre Objekte nicht verteilen (von P von EAA)“

Wenn Sie ein neues System erstellen, ist der wichtigste Aspekt, dass es zukunftssicher ist, das bedeutet einfache Skalierbarkeit und Wartbarkeit. Wenn Sie Ihr System nach dem Konzept der gelösten Dienste mit statisch definierten Verträgen erstellen, die in einer Netzwerkumgebung verteilt sind, können Sie die gewünschte Architektur für diesen bestimmten Dienst "verstecken", da die Schnittstellen noch vorhanden sind.

ESB ist eng mit asyn messaging Systemen verwandt, also bevor Sie anfangen, in diese Art von Implementierung zu springen, wissen Sie, dass eine Architektur nicht homogen sein muss, dh alle Dienste auf die gleiche Weise implementiert werden, starten Sie nicht größter Fehler, der Ihr System von Anfang an verteilt. Sie sollten nur verteilen, wie Sie skalieren müssen, nicht vorher. Was Sie jedoch sicherstellen müssen, ist, dass Ihre Dienste einfach verteilt werden können, falls dies erforderlich sein sollte, ohne Verträge zu brechen, was bedeutet, dass sich Änderungen an den Kunden dieses Dienstes ergeben.

Verwandte Themen