Hi Alexandr, Ignite is a good fit for your use case. (4) and (5) can be achieved via Continuous Query [1] with a remote filter and local listener:
- create an Ignite cache to store messages (use expiration to store temporarily) - start a continuous query on all servers with a remote filter and local listener - add messages to cache, include receiver user name - remote filter analyses the message and accepts only messages which are for the users on the current server - local listener delivers the message through WebSocket Let me know if this helps. Pavel. [1] https://apacheignite.readme.io/docs/continuous-queries On Fri, Oct 21, 2016 at 9:49 AM, Jörn Franke <jornfra...@gmail.com> wrote: > Hi, > > For me that looks more like something suitable for stomp.js+messaging bus > (eg rabbitmq). > > > On 21 Oct 2016, at 07:08, Alexandr Porunov <alexandr.poru...@gmail.com> > wrote: > > > > Hello, > > > > I am developing a messaging system with notifications via WebSockets > (When the user 'A' sends a message to the user 'B' I need to show a > notification for the user 'B' about a new message). Different users are > connected to different servers. I wonder to know if Apache Ignite is > suitable for this kind of situation. > > I am on the design stage right now. I think that it have to be like this: > > 1. User 'A' sends a message to the user 'B' > > 2. Server which is connected with the user 'A' receives the message. > > 3. Server which is connected with the user 'A' sends the message to the > Apache Ignite. > > 4. Apache Ignite somehow understands to which server it has to deliver > the message. > > 5. Apache Ignite sends the message to the server which is connected with > the user 'B'. > > 6. Server which is connected with the user 'B' sends a notification to > the user 'B' through the WebSocket. > > > > Maybe I am wrong about the design for real time notifications. Maybe it > has to be done in totally different way. I haven't found the information > about building notifications in the distributed project. > > > > Is it possible to build such a system with Apache Ignite or Apache > Ignite isn't suitable for such purposes? > > > > Sincerely, > > Alexandr >