Holy Moly this is complicated
robbincarlson Jun 30, 2009 6:19 PMI think my application is a natural for message queues, brokers and routers.
I gather information from little thermometer and other weather IC's in various parts of 3 houses. These are some of the things I do with the readings:
Record when a thermometer changes by a degree in a mysql db.
Record sunshine (maybe I get a solar collector someday?), wind, humidity, rainfall
Check if it is too hot or cold.
When I switch on the heat (detected by thermometers on the radiator pipes) does the air in the house get warmer.
This last bit needs some relationships between various thermometers. I might even like to track how long it takes the house to cool off or warm up. I currently do some of this with sql queries, but in a monolithic set of java programs. I think it would benefit from new plumbing.
I think this can be accomplished by:
A data collection queue with a db writer listening and a thermometer reading supplying values.
A topic that some of the simple analytical programs can subscribe to.
Some router rules can move temperatures to different topics subscribed to by more complex or multivariate analytical programs.
A queue that can receive messages generated by all these listeners that can generate actions (first an email, second an SMS message, third a phone call, fourth phone a friend, depending on if the pipes are freezing or the furnace doesn't respond, or if it looks like someone broke in and a broken window is freezing a room)Why go to the trouble of FUSE? Adding and subtracting thermometers, expanding monitoring types, new rules, modularity, small analytical programs, assessing the health of the programs; I think it is the right thing to do, but gosh (my toned down word), FUSE is complicated. There are so many things to do to make it work, starting with installs, learning the APIs and running it.
My question is how do I go from requirements, to design, to coding, to installation without exploring every nuance of FUSE? I'm not saying I don't want to learn, but I don't want to learn for a year (at night) to begin the process. I'd like to validate my requirements, find a similar design so I pick a reasonable starting point, learn that - stealing what I need. I'd like to build it incrementally. But the breadth of FUSE is daunting.
Where do I start?
Edited by: robbin on Jun 30, 2009 10:15 PM
Edited by: robbin on Jun 30, 2009 10:16 PM
Edited by: robbin on Jun 30, 2009 10:17 PM
Edited by: robbin on Jun 30, 2009 10:17 PM