Hello,

first of all I'd like to say that I'm still quite new to scala and akka, 
but very motivated and impressed of what can be achieved with these :)

So - the matter is as follows - my friend and me are building a server 
monitoring app with a web ui. We're aware that there are many products in 
the market, but our admins said that they don't comply with their 
requirements, so we're building a new one. That's a great opportunity for 
us, since we can learn more about scala, akka and cool concepts around it :)

So, the app is meant to solve following tasks:

   - accept data from hundreds of servers (collectd sends json via http)
   - viewing various metrics for specified servers, for specified periods 
   of time
   - real-time monitoring via websockets
   - alerting admins when servers are not responding or various stats are 
   below/above certain degree
   - some undetermined future jmx features

We've also picked play framework to benefit from easy routing, json 
manipulation and websockets.

We want to make the app reactive and easy to maintain, but we're still a 
bit confused about the architecture and organizing modules. 

What I'm thinking of is simply saving / querying data via REST controllers 
backed by a database (that will probably be mongo) and that would cover 
first two points of requirements, since that's basically only CR from CRUD 
:)

Real-time monitoring and alerting looks like a perfect fit for actor-based 
approach to websockets (which is also a recommended approach in play docs). 
So - whenever collectd posts stats to our app, it's saved in a database and 
sent to actor system (to a supervisor or event bus). Then - appropriate 
actor associated with the server will consume the message and update it's 
state. Whenever it is required, it may send some info to websocket actors 
(like the server is down, not responding, cpu usage over 90% etc.).

I've also looked into concepts like event sourcing with akka-persistence, 
but wouldn't that be over an overengineering in our case? It looked really 
awesome, but I realized then we need complex queries and couldn't really 
figure out how to fit that into stateful actors with lots of historical 
data.

I would welcome any feedback and advice from you!

Best regards,
Simon

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to