ausser PHP
Wenn du ein wenig programmieren kannst und nicht auf Fertig-Frameworks angewiesen bist, für alles. Ist halt nen Server ;)
Ich würde auf das Ganze CGI-Zeugs schießen. Wenn man einen 64bit Application-Server hat braucht man sowas halt nicht so wirklich, weil man den Cache genauso selber machen kann bzw. es dort auch schon fertig gibt. Und wenn er zu klein ist einfach mehr RAM in die Kiste schmeissen.
Siehe http://code.google.com/p/memcached/wiki/Clients -- C / C++, Erlang, PHP, Perl, Java (ergo JRuby, Scala?), Python, Ruby, .NET, MySQL, PostgreSQL, LUA, Lisp (kein Clojure?), Cold Fusion, OCaml, Io (whatever ...).
Jede Programmiersprache, die einen Socket aufmachen kann, kann den Memcached bedienen.
> ..., Java (ergo JRuby, Scala?), ..., Lisp (kein Clojure?),...
Java (ergo Clojure)
D'oh. Wie Recht du hast.
> C / C++, Erlang, PHP, Perl, Java (ergo JRuby, Scala?), Python, Ruby, .NET, MySQL, PostgreSQL, LUA, Lisp (kein Clojure?), Cold Fusion, OCaml, Io (whatever ...).
jaja aber wer nutzt das wirklich
in java brauch ichs eigentlich nicht da sind objekte
ja quasi session oder applikations persistent
also nur scriptsprachen die keine objekt persistens haben
?
blood32 schrieb:
-------------------------------------------------------
> > C / C++, Erlang, PHP, Perl, Java (ergo JRuby,
> Scala?), Python, Ruby, .NET, MySQL, PostgreSQL,
> LUA, Lisp (kein Clojure?), Cold Fusion, OCaml, Io
> (whatever ...).
>
> jaja aber wer nutzt das wirklich
> in java brauch ichs eigentlich nicht da sind
> objekte
> ja quasi session oder applikations persistent
>
> also nur scriptsprachen die keine objekt
> persistens haben
>
> ?
>
mit "java" sind die in deinem RAM, aber was ist wenn der voll ist? mit memcached kannst du das auf mehrere Maschinen aufteilen.
Du hast natürlich eine 64bit-Maschine und baust da halt noch mehr RAM ein. Die gängigen Kisten von Dell/HP/IBM vertragen da schon einiges (>100 GB) Und eine Applikation, die 100 GB Cache braucht, ohne CPU-limitiert zu sein, will ich erstmal sehen, d.h. wenn dir die 100 GB RAM nicht reichen mussst du deine Applikation höchstwahrscheinlich verteilt aufsetzen, dann hast du halt 8*100GB RAM Cache.
die Umstände, für die memcached (hervorragendes Produkt IMHO) entwickelt wurde, ist CGI (also kein AppContainer) und 32bit-Adressraum.
Beides hat man bei Java-Applikationen nicht mehr.
Und wenn dir das nicht reicht, es gibt auch server-kisten da kannst du 1 TB ram reinstecken. (xSeries von IBM)
Und wenn dir das nicht reicht dann bin ich erstmal ratlos :)
cacher schrieb:
>
> mit "java" sind die in deinem RAM, aber was ist
> wenn der voll ist? mit memcached kannst du das auf
> mehrere Maschinen aufteilen.
dann schieb ichs auf ne andere Kiste der dann auch wieder Ram fehlt
das ist doch irgendwie sinnlos
mit 64bit ist ja aktuell auch keine RAM Schranke vorhanden, zumindest keine sinnvolle
also gut für den absoluten Extremfall
aber da sollte man doch mal übers Konzept nachdenken
daran mangelts oft
blood32 schrieb:
-------------------------------------------------------
> jaja aber wer nutzt das wirklich
> in java brauch ichs eigentlich nicht da sind
> objekte
> ja quasi session oder applikations persistent
>
> also nur scriptsprachen die keine objekt
> persistens haben
Stell die mal folgendes vor:
20 Webserver mit Memcached hinter Loadbalancer
1 Datenbank
Webserver 1 holt ein Objekt aus der DB, Packt es in den Memcache Pool
Webserver 2-20 brauchen das Object nicht mehr aus der DB holen, weils im Memcache Pool ist.
Auf Webserver 5 wird ein Objekt upgedated, der löscht es aus dem Memcache Pool.
Webserver 8 fragt das Objekt ab, es ist nicht mehr im Memcache, er holt es neu aus der DB und packt es in den Memcache.
Wie machst Du das, wenn jeder Server einen eigenen Ram Cache betreibt? Die Sprache mit der die Webanwendung implemtiert ist ist dabei egal aund auch mit 32/64 Bit hat das nichts zu tun.
Danke dafür. Man merkt leider an den ganzen Vorpostern, dass die noch nie in Installationsgrössen gearbeitet haben, die sowas wirklich brauchen können.
Ich stelle eine Kiste mit viel RAM vor die DB, weils ein DB-cache sein soll.
Und benutze den RAM in den Webserver-Kisten um die Webapplikation zu cachen. Wenn sie den RAM nciht brauchen, nehm ich einfach weniger davon und komme billiger weg.
Dennny Crane schrieb:
> Stell die mal folgendes vor:
>
> 20 Webserver mit Memcached hinter Loadbalancer
> 1 Datenbank
ja ok
macht eventuell sinn
einige kleine anmerkungen unten
> Wie machst Du das, wenn jeder Server einen eigenen
> Ram Cache betreibt? Die Sprache mit der die
> Webanwendung implemtiert ist ist dabei egal aund
> auch mit 32/64 Bit hat das nichts zu tun.
a)
wie schon ein anderer hier anmerkte, ist dafür eigentlich die Datenbank da
die cached ja auch
(es gibt auch query caches)
b)
man muss auch bedenken das das objekt noch deserialisert werden muss aus memcache
das muss java nicht
aber ich geb dir Recht für bestimmte Fälle machts Sinn
man hat ja auch nicht immer Einfluss auf die DB und Sprachauswahl
gruss
matze
> jaja aber wer nutzt das wirklich
> in java brauch ichs eigentlich nicht da sind
> objekte
> ja quasi session oder applikations persistent
>
> also nur scriptsprachen die keine objekt
> persistens haben ?
Mit Scriptsprachen hat das weniger was zu tun, eher mit einer Shared-Nothing-Architektur (http://de.wikipedia.org/wiki/Shared_Nothing_Architecture).
Im Übrigen geht es bei Memcached klassischerweise nicht um irgendwelche ("Business-")Objekte, sondern beispielsweise (View-)Caches und, evtl., Sessiondaten. Man wirft Dinge hinein, die man bei Verlust jederzeit neu generieren könnte, und freut sich bei Vorhandensein über die eingesparte Zeit.
mustafa_of_death schrieb:
-------------------------------------------------------
> Und wenn dir das nicht reicht, es gibt auch
> server-kisten da kannst du 1 TB ram reinstecken.
> (xSeries von IBM)
Schwachsinn, es gibt keine Server, die ohne Supercomputing mehr als einige hundert GB RAM schaffen - und diese Kisten benötigen dann bereits Spezialbetriebssysteme.
Bitte nicht so viel träumen, gell ...
Kommentare: 172 | letzter Beitrag 22:36 Uhr
Kommentare: 94 | letzter Beitrag 26.05. 19:45
Kommentare: 79 | letzter Beitrag 22:43 Uhr
Kommentare: 71 | letzter Beitrag 22:20 Uhr
Kommentare: 62 | letzter Beitrag 21:44 Uhr
E-Mail an news@golem.de

Der japanische Spieldesigner Goichi Suda - Fans sagen schlicht "Suda 51" - ist für schräge Actionspiele bekannt. Sein nächstes Werk schickt ein scheinbar braves Schulmädchen in den Kampf gegen Zombies.

Weitgehend unbemerkt hat der US-Händler Tigerdirect die ersten Chromebox-Systeme von Google ausgeliefert. Für 330 US-Dollar bekommt der Nutzer recht gute Hardware in Nettop-Form, die sehr viel leistungsfähiger ist als die des Chromebook mit ChromeOS.

Der neue Chef der Piratenpartei steht im Verteidigungsministerium unter Druck. Elektronische Kommunikation für seine Partei ist ihm in der Dienstzeit untersagt. "Es gibt Leute im Ministerium, die darauf warten, dass ich Fehler mache", sagte Schlömer.

Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.