Swiftiply
Ich hab gestern ein bisschen mit Swiftiply rumgespielt. Swiftiply ist ein Clustering Proxy für Webapplikationen. Das besondere daran ist, dass Swiftiply kein Wissen von seinen Backends hat und vor allem keine Konfiguration von diesen benötigt. D.h. wenn ein Backend (wie z.B Mongrel) startet, meldet es sich dynamisch an einem (der möglichen) Swiftiply’s Backend Ports an und wird somit dem Cluster zugewiesen. Swiftiply kann mehrere Domains und Anwendungen über verschiedene Backend Ports verwalten.
Das Konzept findet ich sehr spannend. Bei einem überschaubaren Cluster macht das Ganze vielleicht noch keinen Sinn, aber sobald man Lastspitzen durch das dynamische Hinzufügen von Application (Cluster-) Nodes abfangen will (z.B. mit Amazon EC2) macht das Ganze viel Sinn und praktisch keinen Aufwand in der Systemadministration. Und vor allem benötigt es keine händischen Konfigurationsanpassungen und Neustarts.
Swiftiply funktioniert bestens mit Ruby und Rails und bietet eine angepasste Version von Mongrel an, die sich beim Starten automatisch mit dem Swiftiply Proxy verbinden.
So könnte eine ganz simple Swiftiply Konfiguration aussehen:
cluster_address: localhost
cluster_port: 80
daemonize: true
epoll: true
epoll_descriptors: 20000
map:
- incoming:
- meine-domain.de
outgoing: 127.0.0.1:30000
default: true
docroot: /var/apps/meine_app/public
So startet man 3 Swiftiply Mongrel Instanzen für seine Anwendung:
swiftiply_mongrel_rails -h 127.0.0.1 -p 30000 -n 3









1 Kommentar für “Swiftiply”
[...] ich mich mit Swiftiply beschäftigt habe, habe ich mir Amazon EC2 als “On-Demand Serverinfrastruktur” bzw. [...]