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
>

Reply via email to