Frage

Ich habe eine Frage zur Architektur – im Zusammenhang mit meinem Ravendb-basierten Setup.

Ich habe Folgendes:

ravendb -> WCF-Dienst -> (Web/iPhone/Android)

Auf der Web-/iPhone-/Android-Ebene gibt es tatsächlich Verbindungen zu 7 WCF-Diensten (derzeit nimmt die Zahl zu).

Im Moment kommunizieren die 7 Dienste mit demselben Ravendb – dies wird wahrscheinlich in einem zukünftigen Refactoring-Blitz segmentiert, da sie nicht auf derselben Instanz sein müssen – es gibt nur minimale – wenn überhaupt keine – Überschneidungen des Modells.

Meine Frage ist diese:

Ich denke über die Verwendung von Memcached nach – an welchen Punkten (ich habe wenig Erfahrung mit der Einrichtung) kann/sollte ich Memcached verwenden?

zwischen ravendb und wcf?zwischen wcf und (web/iphone/android)?

zwischen allen?

Ist es wahrscheinlich, dass ich auf Probleme mit veralteten Daten stoße?Ist das erledigt oder vereinfache ich die Dinge zu sehr?

War es hilfreich?

Lösung

Wie viele Leute Ihnen sagen werden:Vorzeitige Optimierung ist die Wurzel allen Übels (und ich glaube, sie zitieren alle Donald Knuth).Warten Sie also, wenn Sie Leistungsprobleme haben, bevor Sie etwas unternehmen (Sie müssen nicht warten, bis das System zusammenbricht.Warten Sie, bis Sie eine Auslastung Ihrer Ressourcen von 90 % sehen.)

Abgesehen davon sollten Sie Memcached (oder jede andere Art von Caching) verwenden, wenn Sie erwarten, die zwischengespeicherten Daten zu verwenden, bevor sie ungültig werden (der Verbesserungsfaktor hängt von vielen anderen Faktoren ab, wie zum Beispiel:die Betriebskosten und die Häufigkeit, mit der auf die Daten zugegriffen wird)

Um Ihre „Wo“-Fragen zu beantworten, kommt es wirklich darauf an, wo Sie am meisten Ressourcen einsparen. Sie ist wirklich anwendungsspezifisch und kann hier nicht beantwortet werden.

Andere Tipps

Als zusätzlichen Hinweis verwendet die RavenDB-REST-Schnittstelle ETags, um HTTP-basierte Caching-Funktionen zu unterstützen.Wenn Ihr HTTP-Client mit diesen Mechanismen gut zurechtkommt, verfügen Sie sofort über ein nettes Caching.

Ich bin mir jedoch nicht sicher, wie sich das auf den WCF-Stack auswirkt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top