From: Geoff G. <ge...@ge...> - 2003-03-05 22:26:21
|
Quoting Ian Bicking (ia...@co...): > > ILU like CORBA? Huh... That's the one. We have a services-based infrastructure, where remote objects publish methods through ILU. This (theoretically) distributes the processing load, and lets us balance load more evenly. Practice does not work so cleanly, for lots of reasons, most of them bad, some of them real problems with trying to put a narrowband channel between the model and view components of the architecture. > I'm not entirely clear what you mean here -- do you mean each box will > run the entire application? We've discussed this stuff on the list, but > no one yet has actually had the need to implement it -- ultimately I > think we decided the best way to use Webware with multiple servers is to > put some sort of session affinity into mod_webkit (or somehow structure > it so that another balancer like Pound could ensure session affinity). > Then presumably only the database needs to be shared, and sharing a > database is easy. Right now, we distribute objects via ILU, a services-based architecture: the document rendering and input validation are supposedly high-level, in Zope and its attendant python; the domain objects live in ILU servers. Tomorrow, we plan to have a monolithic app where it's all one big 200k line codeblob. The only exception is the session object, which we expect to distribute in one way or another. > Well, I don't think there's many very high volume sites using Webware, > but I do think it is very robust. Lots of us have run Webware sites for > long periods of time without problem -- I have a Webware AppServer > that's been up for a month on a public site (I must have editing > something a month ago, can't remember what), and it's not using too much > memory or having any other problems; I'm sure other people have gone > much longer. Under high load potentially there could be threading > problems we haven't seen -- there actually was one that just came up, > that Webware's __import__ overloading wasn't threadsafe, which it looks > like Jason Hildebrand identified and solved (though it requires an > update to Python itself, unfortunately). Not what I would call exactly encouraging news, but maybe not totally depressing. I'm not sure how Webware's __import__ overloading works, or what it's used for, so I'm not sure how dangerous this really would be, or why an update to the interpreter was required. > Well, given enough effort you can always fix performance. After all, > you don't have to use DTML in Zope -- you could implement key parts as > Python products, wrap them in other structures that are simpler than > DTML, etc. Ditto ZODB, which may also be a big bottleneck. But at some > point you're no longer getting Zope's benefits, while still being > penalized for performance, and restricted in the structure of your > programming. There's a tradeoff inherent in a lot of those optimizations, such that Zope's utility for content management disappears. That's not really acceptable, if we're continuing to use Zope, and some kind of content management would be required. > I don't think mod_python would have many advantages over Webware -- > there's more infrastructure you'll have to build, and I don't think the > performance will be significantly better. That's the conclusion I was coming to. > Twisted potentially could be faster than Webware, though I would > question Twisted's stability as a platform, including the stability of > its architecture. The asynchronous model seems to leave open more of a > possibility that a bug in one part of the application will take down the > entire server. The experience with Webware seems to be that the only > fatal bugs like this are from buggy C modules (Postgres modules were a > common problem at one time, though they must have improved since then). Twisted -- in particular the Spread piece -- was something I envisioned taking the place of ILU, not Apache. I think that's not seeming as likely a candidate these days (hours?), either. But it might still be used in distributing the system. > More comparable frameworks to Webware would be something like SkunkWeb > or Quixote, which I believe will have similar performance and stability > to Webware. The distinction is between these is mostly stylistic, > though Webware is the oldest and I suspect most used of these. But Quixote has a couple large projects on it, I think? My concern last time I looked at Quixote was that it didn't seem to have a templating system, which made it very awkward to employ a web designer in preparing the HTML. Am I misremembering (should I do more research?) Thanks, --G. -- Geoff Gerrietts <geoff at gerrietts dot net> "Ordinarily he was insane, but he had lucid moments when he was merely stupid." --Heinrich Heine |