Op 15 nov 2009, om 16:47 heeft Daniel Danopia het volgende geschreven:
>> 
>> A few questions:
>> * Do you really think using a SQL database is the right kind of
>> storage for waves? I think using MongoDB will help you scale the wave
>> server a lot more.
> My planned storage method for deltas is to just store the delta's
> ProtoBuffer representation. Deltas don't change so this should be
> fine. I will hopefully be able to cache some form of the wave's most
> recent delta so it won't have to step through every operation on
> restart.

I don't think this scales well enough.
You will have to deal with lots and lots of records.
And yes, always storing the latest version with all deltas applied seems like a 
good idea.

I have been thinking about designing a Wave server and I thought about the 
following:
* persistent storage in MongoDB. 
* redis as temporary storage (in order to share data between multiple wave 
servers within a cluster, offloading to separate daemons and caching)

>> * Isn't it a better idea to use the same client <-> server protocol as
>> Google uses?
> It's not really official yet. IIRC there's no actual client/server
> protocol whitepapers. Hopefully they use something better. In the
> meantime, I used DRb because it's nice for prototyping - I don't have
> to worry about client/server a bit, as DRb lets me interact with the
> server as if it's in the same Ruby instance. Because DRb is modular, I
> could also set up a server that connects to DRb and seres the FedOne
> protocol. Too bad FedOne doesn't allow auth, or I would do that.
> (Maybe a special wave asking you for your password before it servers
> any others?)

That is indeed a bit of a problem, I was just wondering if you tried to do some 
reverse engineering ;-)
I hope Google comes up with a formalized C2S spec soon.

Still a shame in my opinion the C2S part is not XMPP based.
> 
>> * Is it possible to extract some gems out of the codebase to make it
>> more modular/reusable or is the entire codebase too coupled?
> Yes. In fact, I am in the process of pulling out my ProtoBuffer class
> into a gem. Beyond that, though, there isn't too much that can be
> done... maybe an OT gem.

A OT gem would be a kick ass start!
Separating it in a gem should also make it easier write tests and update.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to