Hintergrund:
Derzeit verwenden wir Rackspace-Cloud-Server. Wir haben nicht die Absicht, sie nicht mehr zu verwenden, möchten jedoch einen Cluster physischer Server einrichten (wahrscheinlich Desktop-Computer im Bereich von 400 US-Dollar mit jeweils 8 GB Speicher), um einen Teil unserer Last auszugleichen und als sekundärer, leistungsfähigerer Server zu arbeiten. weniger zuverlässiges System. Um die Dinge ins rechte Licht zu rücken, können wir vergleichbare Desktop-Computer zum gleichen Preis kaufen, den wir in einem Monat zahlen, um sie in der Rackspace Cloud zu mieten.
Ich verstehe, dass dies im Allgemeinen eine dumme Idee ist. In diesem speziellen Fall wird der Servercluster jedoch für seine Rechenleistung benötigt. Es ist nicht geschäftskritisch, es hostet keine Website für Verbraucher, und wenn es für ein oder zwei Tage ausfällt, ist es kein wirkliches Problem.
Derzeit haben wir Zugriff auf Verizon-Fios der Business Class. Wenn ich das richtig verstehe, können wir mit diesem Dienst mindestens 25 dedizierte IP-Adressen erhalten. Dies sollte ausreichen.
Bedarf:
- Auf jedem Server wird Linux Centos 6.3 ausgeführt
- Einige der Server führen Python aus und führen Prozesse aus einer Task-Warteschlange aus (Redis oder RabbitMQ).
- Einige der Server können statische Dateien und Python-gesteuerte REST-APIs bereitstellen
- Einige der Server hosten einen Cassandra-Datenbankcluster
- Einer oder mehrere der Server sind Redis-Datenbankserver
- Einer oder mehrere der Server sind PostgreSQL-Server
Fragen:
Welche Art von Router oder Switch wird benötigt?
- Wir möchten, dass die Computer über interne IP-Adressen effektiv miteinander kommunizieren können. Dies ist besonders wichtig für die Kommunikation mit Servern, auf denen Redis gehostet wird und die sehr schnell auf Anfragen reagieren müssen. Gibt es spezielle Switches oder Router, die verwendet werden müssen, um die Server miteinander zu verbinden?
Sind Desktop-Computer dafür in Ordnung?
- Wir haben festgestellt, dass wir größtenteils RAM-Flaschenhals haben. Ich verstehe, dass einige Server überlegene CPUs haben, aber ich bin nicht sicher, ob wir so viel CPU-Leistung benötigen wie RAM, was bei Desktop-Computern billig ist.
- Werden wir Probleme mit den WIFI-Karten auf den Desktops oder mit anderen unerwarteten Hardwareeinschränkungen haben?
Welche Tools sollten verwendet werden, um die Server abzubilden?
- Wenn wir beispielsweise eine richtige Installation für einen Redis-Server oder einen Cassandra-Knoten erhalten, gibt es Tools, die mit Linux Centos 6.3 geliefert werden, um den Server auf ein USB-Laufwerk oder ähnliches abzubilden?
- Oder müssen wir dafür eine andere Software verwenden?
Welche anderen Dinge fehlen uns, über die wir uns Sorgen machen sollten?