ushahidi / SwiftRiver-Core

SwiftRiver Core Applications
6 stars 3 forks source link

Re-organise the services stack #2

Closed ekala closed 12 years ago

ekala commented 12 years ago

Re-organise (refactor) the code service stack for easier extensibility. While at it also document the same.

69mb commented 12 years ago

Got any specific issues in mind since the framework as it is right now is already pretty extensible. New services only need to start consuming and possible publishing to any of the general purpose queues to get started. So here is my thinking behind the current framework:

Very soon we will need to start pre-calcuating data for the trends. This will involve a new application that attaches to the metadata exchange for droplets that have just come and that would be it; the app has all the data it needs to to proceed. The same would apply for logging, transforming droplet_content or any new service that needs to work on new droplets.

The topic queues on the chatter exchange was also to provide limitless possibilities for expansion. Currently its used by rss to listen for changes in rss channel options and update accordingly and the twitter consumer should do the same. Any other number of topics can be published to this exchanged and any manner of services can come up to consumer them.

All of this is done with applications that are autonomous as much as possible and do not rely on other apps in the ecosystem to provide service(otherwise we create bottlenecks) and scaling is simply a factor of increasing a server's size and the number of workers or adding new servers and workers.

ekala commented 12 years ago

Nothing major really as the main libraries are generic enough.

I'm simply templating the MQ worker threads - moving common methods to base classes. The MQ exchanges shall remain unchanged.

Also moving the configs templates outside the directories with the scripts.

ekala commented 12 years ago

Closed by f9cdfb8ea6fa2e28a9cd0a9855d877a00a399c8d