Es ist eine Form von N-Tier Architecture. Anfangs werden die meisten Sites als 2-Tier-Architektur mit einem Webserver und einer Datenbank gestartet. Der Webserver liefert die Seiten, die der Benutzer sieht, während auf die Datenbank von diesen dynamischen Seiten zugegriffen wird.
Wenn eine Architektur in mehrere Ebenen unterteilt ist, haben Sie in der Regel eine Webanwendung an der Vorderseite mit einer Art Anwendungsserver, den die Webanwendung aufruft. Dieser Anwendungsserver enthält die Geschäftslogik und macht die Anwendung funktionsfähig. Das "Gesicht" für die Anwendung lässt die Dinge einfach hübsch aussehen und formatiert sie für die Benutzer.
Der Anwendungsserver oder "Middleware" ist einfach eine Sammlung von Funktionen, die von den Webservern aufgerufen werden können. Die Middleware muss für eine Seite wie Twitter, auf der die meiste Aktivität beim Versenden von Nachrichten stattfindet, leistungsfähig sein, und es gibt nicht so viel Aktivität von Leuten, die auf die Website zugreifen. Die Verbindung zwischen Schichten ist wahrscheinlich eine Standard-Web-Service-Technologie, könnte aber eine benutzerdefinierte Sache sein, vielleicht eine REST- oder eine andere Art von Web-Service, bei der die Web-Anwendung (Ruby on Rails) auf Anwendungsdaten zugreifen kann.
In dieser Art von Architektur hat Rails sicherlich alle ORM und Datenverwaltung in die Middleware verbannt.
Middleware ist auch ein vager Begriff und kann aus vielen Tiers bestehen, weshalb sie es N-Tier nennen. Ich würde wetten, dass Twitter einen anderen Teil ihrer Middleware für Messaging hat, während ein anderer Teil das Verwalten von Accounts, das Abrufen von Nachrichten usw. behandelt. Die Idee ist, in der Lage zu sein, nach oben zu skalieren, indem man Hardware hinzufügt, wo man eine haben kann Cluster von Servern, die Webseiten bedienen, ein weiterer Cluster, der Nachrichten verarbeitet, und dann ein Cluster von Datenbankservern, der alles unterstützt. Es ist keine exakte Wissenschaft, jede Architektur ist anders, aber im Allgemeinen kann man so denken.
Immer noch eine gute Antwort. Vielen Dank. – johnny