On Mon, 2004-05-17 at 14:57, Gerhard Schmidt wrote:
Why isn´t there an implementation of temporary storage for ZEO
There is, just use the "tempstorage" package from Zope.
I didn´t find a way to use Tempstorage in zeo.
<temporarystorage> name temporary storage for sessioning </temporarystorage>
didn´t work. How do i Set up a temporarystorage in zeo.
Good question. ;-) It involves changing the ZEO configuration machinery to recognize the tempstorage package. The steps to do this I couldn't tell you without actually doing it, however.
I dont care about conflit resolution. Its only session data.
For better or worse, because it is based on ZODB, the implementation makes you need to care.
Than maybe the sessioncode should be redesigned not to use ZODB as storage but store ther information in some different system maybe a RDMB or some other system able to handle the kind of usage.
Zope doesn't ship with a useful and maintained relational database. You can implement your own SQL-based TransientObjectContainer using the interfaces defined in Transience/Interfaces.py if you wish, or use Anthony Baxter's SQLSession product. It would be nice if there was an alternate implementation that used a relational database like this.
I simply need a shared session storage. But as Far as i can see the is no way of doing this.
Of course there is, it's just not built in. ;-)
I don't understand. You seem to have it working. Is performance the issue?
The Performance decrase is there but the Problem is far deeper. If an read conflict isn´t resolved after three retries an Exception is raised an the request is aborted. And thats the real problem.
I see. I'm not sure switching to TemporaryStorage will help much. I would first try using a FileStorage and make sure to put the Zope "lib/python" directory on the ZEO server's Python's PYTHONPATH (to allow for conflict resolution under ZEO, ZEO must be able to import the Products package and subpackages therein). I don't know if this will help very much, but it's worth a shot.
Are we the only site out there running Plone2 (Placeless transaltion Service) at that scale. How do others handle there Session
AFAIK Zope is the only appserver that even makes an attempt at allowing session data to be shared between servers like this. Most other appservers require you to set up "session affinity" in your load balancer and have a session database on each appserver.
and nealy every system failed to do so. How do you implement this session affinity. Based on source IP. At the moment every large ISP uses multiple Proxyserver so every request comes from a different IP so the affinity doesn´t work for them. The Proxyserver provided by our Computing Center is also split on at least 8 Hosts, so everyone using this proxy would lose session infomation, getting very strange effekts.
Yes. It's a hard problem. - C