Trouble finding a cloud client/server technology stack that fits

General Tech Technology & Software 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Technology & Software related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I've been trying to learn and play with some cloud computing client/server interactions. I was hoping to get suggestions on technology stacks that fit this criteria:

  1. Clients are web browsers that communicate asynchronously using websockets, long-polling, and server-sent events.
  2. Server is scalable and should support multiple instances should the need arise (for my case of playing/learning I obviously won't run into a scalability problem, but I want to plan for it correctly and will be testing using multiple nodes)
  3. Server state should to be persisted using some database technology with ORM
  4. Server state should be able to be cached
  5. Server should be able to support a scenario where Alice connected to Instance A does something that Bob connected to Instance B needs to be notified of
  6. No development cost (assuming I'm using my own hardware)

I thought I had this figured out. I was thinking:

JavaEE/Jetty + Maven for server stuff and deployment

Hibernate for ORM and database agnosticism

Redis for 2nd level cache and multiple instance support

My problem was the client/server communication using the various browser protocols which are different enough and non-trivial to support seamlessly. I looked around and found the Atmosphere framework:

Atmosphere for client/server communication using websockets, long-polling, and server-sent events. Also it apparently supports Redis, but...

This all looked good until after some research I realized that Atmosphere doesn't support Node-based broadcasting (criteria #5). Atmosphere's Redis support is shallow (localhost only out-of-the-box) and I would need to maintain some sort of Node/broadcaster map using Redis to satisfy criteria #5. AtmospherePro apparently does all of this well, but that has a cost which I can't justify (criteria #6).

Can anyone suggest an appropriate technology stack for my criteria? Perhaps an alternative to Atmosphere that is cloud-ready?

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.