[sldev] [ANN] certified http development

Nik Radford nik at terminaldischarge.net
Wed Sep 19 14:56:54 PDT 2007


----- Original Message ----- 
From: "Phoenix" <phoenix at secondlife.com>
To: "Donovan Linden" <donovan at lindenlab.com>
Cc: <sldev at lists.secondlife.com>; "Ryan Williams (Which)" 
<rdw at lindenlab.com>
Sent: Wednesday, September 19, 2007 6:56 PM
Subject: Re: [sldev] [ANN] certified http development


> In order for reliable message delivery to work, you have to have an  ACID 
> data store. It could be a file system (with much programmer  care), or it 
> could be any of a number of ACID relational/object  databases.
>
> We have the most operational experience with MySQL, so our initial 
> implementation will almost certainly be backed by it. I think once we 
> have a solid interface for persistence needs, it should not be too 
> difficult to port to another store.
>
As long as you wrap the data access up in a nice class, I don't know if 
python supports interfaces or abstract classes, but it may be a good idea to 
create a data access interface, which other coders can inherit from and 
implement they're own back-end code for data storage.

>
> On 2007-09-19, at 09:19, Donovan Linden wrote:
>> I like the ZODB a lot, and there is also Divmod Axiom, which is  glyph's 
>> 3rd or 4th object database for Python, and I think this one  is pretty 
>> solid. It's based on embedding SQLite. However, the  information here 
>> which requires persistence is so simple that a  real object database 
>> would be way overkill.
>>
>> I think (rdw correct me if I am wrong) the current plan is just to  use 
>> mysql to store whatever needs to be stored for a Long Time.  However, 
>> this may be overkill in my mind as well.
>>
>> I think the simplest possible solution is just to have the HTTP  server 
>> write requests as it reads them to a logfile along with the  responses 
>> after they are written. (It probably couldn't store the  body, because 
>> that could be of arbitrary size.) If the server  crashes, it will read in 
>> the logfile, build the appropriate "I've  already done that" structures 
>> based on what it sees, and then  delete the logfile, creating a new one 
>> to record all the traffic it  successfully handles. But I haven't been 
>> the one who has been  thinking through the implementation details, so 
>> this might not work.
>>
>> Donovan
>>
>> On Sep 19, 2007, at 1:44 AM, Tao Takashi wrote:
>>
>>> Hi!
>>>
>>>
>>> 2007/9/19, Ryan Williams (Which) <rdw at lindenlab.com>: You may have 
>>> noticed that Certified HTTP was listed as one of the
>>> components of SL Grid 2008.  Well, we're starting to build it.  :-)
>>>
>>>
>>> Hey, a start! :-)
>>>
>>> I encourage everyone interested to take a look at the documents and
>>> code, flesh them out, poke holes in the logic, etc.  This thing is 
>>> going
>>> to be awesome and totally sweet, and I'm looking forward to  working on
>>> it with you all.
>>>
>>>
>>> You really should make this an open source developmen and inform  the 
>>> Python community :-)
>>>
>>> I quickly looked at the code and wondered, if maybe the ZODB might  be 
>>> of help
>>> for the persistance part. Not sure if it adds to much overhead  though.
>>> But it would be a finished object storage with transactions and  also 
>>> the
>>> possibility to work distributed (e.g. one storage and many clients).
>>> Somebody in the Zope community is also implementing some RAID-like 
>>> solution
>>> for it.
>>> (the ZODB is part of Zope but can also be used and is available 
>>> standalone).
>>>
>>> http://wiki.zope.org/ZODB/FrontPage
>>>
>>> Oh, and you maybe want to start directly with an egg-like  structure for 
>>> the project
>>> so you can easily create an egg out of it and e.g. upload it to  the 
>>> cheeseshop.
>>>
>>> And I hope to see Linden Lab at the next EuroPython :-)
>>>
>>> -- Tao
>>>
>>>
>>> -- 
>>> taotakashi at gmail.com
>>> http://taotakashi.wordpress.com
>>> http://worldofsl.com
>>>
>>> RL: Christian Scholz, cs at comlounge.net
>>> http://mrtopf.de
>>>
>>> http://comlounge.net
>>> http://comlounge.tv
>>> http://mrtopf.tv
>>> http://dev.comlounge.net
>>> IRC: MrTopf/Tao_T
>>> _______________________________________________
>>> Click here to unsubscribe or manage your list subscription:
>>> /index.html
>>
>> _______________________________________________
>> Click here to unsubscribe or manage your list subscription:
>> /index.html
>
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
> 



More information about the SLDev mailing list