Thrift, .NET, Cassandra - Ist das ist richtige Kombination?
-
21-09-2019 - |
Frage
Ich habe für Technologie-Stack evaluierte eine sozialen Netzwerk-basierte Anwendung zu entwickeln. Im Folgenden sind die Stapel Ich denke, könnte gut für diese Anwendung Art der Anwendung geeignet:
GUI - ASP.NET MVC, Flash (Flex)
Business Services - Thrift basierte Dienste Einer der Vorteile der Verwendung von Thrift Skalierung Probleme zu lösen, die in Zukunft kommen werden, wenn die Nutzerbasis erhöht schnell. Alle kann die Business-Logik als Dienste usw. mit REST, JSON ausgesetzt werden, Dies ermöglicht es uns, auch mit C ++ oder Erlang basierten Diensten, wenn situativ zu gehen.
Datenbank - mySQL, CasSandara mySQL kann zum Speichern der Daten verwendet werden, die beibehalten werden muss. Cassandara wird zum Speichern von globalen Kennungen auf die persistenten Daten verwendet werden. Da Cassandara auch durch die Einführung von mehr bei Skalierung ist sehr gut Knoten dieses Wille Hebel Thrift basierte Dienstleistungen. Und es gibt auch native Unterstützung zwischen Cassandara und Thrift
Cache-Server - Memcached
Alle Anfragen von Business Serviceswird nur Memcached sprechen, wenn eine Nicht-Dirty-Daten erforderlich ist, sonst wird es einige Hintergrundjobs, die den Cache von Datenbank ungültig machen.
Die Frage ist:
- Ist die Thrift das ist Open-Source ist serienreifen?
- Ist es der richtige Stapel für Diensteschicht zu wählen, wenn die Anwendung (GUI) ist in erster Linie in ASP.NET entwickelt wird und DB ist MySQL?
- Gibt es irgendwelche andere Einschränkungen, dass jemand hier erlebt?
Einer der Haupt hinter diesem Stapel Ziel ist es leicht mit mehreren Knoten zu skalieren und auch das hilft uns Linux-Boxen zu verwenden, wird es unsere Kosten deutlich reduzieren
Die Gedanken bitte ..
Lösung
Sie geben keine Details über Ihr Datenmodell, aber wenn Sie versuchen, etwas ähnlich wie Facebook zu tun, Twitter, Digg oder reddit, sollte Cassandra eine gute Passform, da, wie Sie diese Unternehmen knw sind alle Cassandra mit .
Einer der Vorteile von Cassandra ist, dass Sie nicht eine separate Cache-Schicht benötigen sollten. Maßstab Cassandras eingebaute Schlüssel und Reihen Caches, und die Fähigkeit, nur Maschinen hinzufügen, stellen Sie Memcached unnötig