[jboss-jira] [JBoss JIRA] (JGRP-2411) JGraSS: JGroups as a Service

Bela Ban (Jira) issues at jboss.org
Mon Nov 25 08:25:00 EST 2019


     [ https://issues.jboss.org/browse/JGRP-2411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bela Ban updated JGRP-2411:
---------------------------
    Description: 
Provide a separate server implementation of Channel (_server service_) which runs as a separate process, plus a client stub ({{RemoteChannel}}, implementing {{Channel}}) which communicates with the service.

The communication is across pipes/sockets/shared memory (TBD) and assumes servers and clients are on the same host. Most method calls of {{Channel}} need to be supported. 

h3. Advantages

h4. Fast replacement
The server process could be replaced on the fly with a different server process, e.g. using a different configuration.
If compiled down to a native image (using GraalVM), this would take only a few milliseconds.

h4. Rolling upgrades
We could have a Channel implementation, which communicates with multiple remote JGroups servers, sending messages to both and receiving messages from both servers.
One server could be running 3.6. Later, a 4.x server could be added and when all members have a dual-channel, the 3.6 channels could be shut down, effectively performing a rolling upgrade.

h3. Disadvantages
This would be much slower, because of the serialization overhead. Perhaps shared memory could be used on the same host to avoid that...

  was:
Provide a separate server implementation of Channel (_server service_) which runs as a separate process, plus a client stub ({{RemoteChannel}}, implementing {{Channel}}) which communicates with the service.

The communication is across pipes/sockets/shared memory (TBD) and assumes servers and clients are on the same host. Most method calls of {{Channel}} need to be supported. 

h3. Advantages

h4. Fast replacement
The server process could be replaced on the fly with a different server process, e.g. using a different configuration.
If compiled down to a native image (using GraalVM), this would take only a few milliseconds.

h4. Rolling upgrades
We could have a Channel implementation, which communicates with multiple remote JGroups servers, sending messages to both and receiving messages from both servers.
One server could be running 3.6. Later, a 4.x server could be added and when all members have a dual-channel, the 3.6 channels could be shut down, effectively performing a rolling upgrade.




> JGraSS: JGroups as a Service
> ----------------------------
>
>                 Key: JGRP-2411
>                 URL: https://issues.jboss.org/browse/JGRP-2411
>             Project: JGroups
>          Issue Type: Feature Request
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>            Priority: Major
>             Fix For: 4.1.9
>
>
> Provide a separate server implementation of Channel (_server service_) which runs as a separate process, plus a client stub ({{RemoteChannel}}, implementing {{Channel}}) which communicates with the service.
> The communication is across pipes/sockets/shared memory (TBD) and assumes servers and clients are on the same host. Most method calls of {{Channel}} need to be supported. 
> h3. Advantages
> h4. Fast replacement
> The server process could be replaced on the fly with a different server process, e.g. using a different configuration.
> If compiled down to a native image (using GraalVM), this would take only a few milliseconds.
> h4. Rolling upgrades
> We could have a Channel implementation, which communicates with multiple remote JGroups servers, sending messages to both and receiving messages from both servers.
> One server could be running 3.6. Later, a 4.x server could be added and when all members have a dual-channel, the 3.6 channels could be shut down, effectively performing a rolling upgrade.
> h3. Disadvantages
> This would be much slower, because of the serialization overhead. Perhaps shared memory could be used on the same host to avoid that...



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list