Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR]Moquette clusters #131

Open
pabloa opened this issue Dec 11, 2015 · 21 comments
Open

[FR]Moquette clusters #131

pabloa opened this issue Dec 11, 2015 · 21 comments
Milestone

Comments

@pabloa
Copy link

pabloa commented Dec 11, 2015

I need to set a moquette cluster for HA
Does moquette support to work in a cluster environment where several moquette serves share topic, connections and messages?
Regards

@andsel
Copy link
Collaborator

andsel commented Dec 11, 2015

Hi,
at the moment no..but if you would like that feature open a feature
request,detailing and describing what you need.

Andrea
Il giorno 11/dic/2015 03:35, "pabloa" notifications@github.com ha scritto:

I need to set a moquette cluster for HA
Does moquette support to work in a cluster environment where several
moquette serves share topic, connections and messages?
Regards


Reply to this email directly or view it on GitHub
https://github.com/andsel/moquette/issues/131.

@andsel andsel changed the title Moquette clusters [FR]Moquette clusters Dec 27, 2015
@pabloa
Copy link
Author

pabloa commented Dec 28, 2015

Hi Andsel,

I need HA basically. Clients would connect to one node of the client. If clients disconnect, they should be responsible of reconnecting and subscribing again to topics.

Cluster responsibility would be only to propagate to the nodes message publishing (from broker node to client/s).

Example:

Nodes A, B, C
Topics /t1, /t2
clients c1, c2, c3

clients c1 and c2 connect to broker A
client c3 connects to broker B

client c1 publishes message m1 to /t1, then:

  • m1 arrives to A broker node.
  • broker nodes sends (m1, /t1) to B and C
  • both brokers publishes m1 on /t1 as expected.
  • In general pairs (message, topic) would travel to all the connected broker nodes.
  • Message sorting should happen by publishing time

Cluster should have not other responsibility.

let me know your thoughts.

@diegovisentin
Copy link

What about to use something like Hazelcast for sharing messages on all nodes?

@andsel
Copy link
Collaborator

andsel commented Dec 28, 2015 via email

@pabloa
Copy link
Author

pabloa commented Jan 6, 2016

Yes. I was thinking in Hazelcast too.
Perhaps I have some time to do this (no sure though). In case I can get time approval from my company, any suggestion about what should start looking to work in this issue?

@andsel
Copy link
Collaborator

andsel commented Jan 9, 2016

I've some ideas, I would share it on the google group till I'm finishing to fix the bugs for release 0.8

@andsel andsel closed this as completed Jan 9, 2016
@andsel andsel reopened this Jan 9, 2016
@andsel andsel added this to the 0.9 milestone Jan 17, 2016
@68387097
Copy link

68387097 commented Feb 3, 2016

hi,I have some questions.i need cluster,nodes share connections,but channel don't be shared in map.i try to use hazelcat,but i am failure.and i try to use redis to store these connnection channels but i am failure.

Could you plz give me some advice,thanks a lot

@andsel andsel mentioned this issue Feb 3, 2016
@68387097
Copy link

68387097 commented Feb 4, 2016

hi andsel, i don't know How i can do?

@andsel
Copy link
Collaborator

andsel commented Feb 4, 2016

Hi
at the moment you can't simply because some stuff owning to the client
session (like the file descriptor of the socket) can't be serialized and
moved to another VM, and like this issue says Moquette is not clusterizable
till some develoment is done.

Andrea

On Thu, Feb 4, 2016 at 1:50 AM, 68387097 notifications@github.com wrote:

hi andsel, i don't know How i can do?


Reply to this email directly or view it on GitHub
https://github.com/andsel/moquette/issues/131#issuecomment-179556129.

@68387097
Copy link

68387097 commented Feb 9, 2016

thanks,i used emqttd cluster,but it developedp by erlang,much difficulty to customized.so i want to find a java mqtt-broker-cluster

@chuyennm
Copy link

Hi these,

How about this: https://github.com/mrniko/redisson it's also using netty & redis(opensource) , Hazelcast have both license, opensource it havent persistence store.

@andsel
Copy link
Collaborator

andsel commented May 11, 2016

As I understand it's only a Redis' Java client, so you have to install
Redis on a machine while I would like to have simmetric machines with least
install requirements, preferably self contained all in JVM.

On Tue, May 10, 2016 at 2:32 AM, Chuyen Nguyen notifications@github.com
wrote:

Hi these,

How about this: https://github.com/mrniko/redisson it's also using netty
& redis(opensource) , Hazelcast have both license, opensource it havent
persistence store.


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/andsel/moquette/issues/131#issuecomment-218028902

@gembin
Copy link

gembin commented Jun 3, 2016

http://ignite.apache.org/ It's pretty cool!

@andsel
Copy link
Collaborator

andsel commented Jun 3, 2016

It's the open version of GridGain, that's quite similar to Hazelcast, and
in some ways to RedHat Infinispan.

On Fri, Jun 3, 2016 at 12:20 PM, Bin Zhang notifications@github.com wrote:

http://ignite.apache.org/ It's pretty cool!


You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/andsel/moquette/issues/131#issuecomment-223544091,
or mute the thread
https://github.com/notifications/unsubscribe/AA_Y0YTwSoP0_nnVTpjES8bN7tz_71jKks5qH__hgaJpZM4GzP4N
.

@testark
Copy link

testark commented Oct 25, 2016

Bumping. Any news?

@kevto
Copy link
Contributor

kevto commented Oct 25, 2016

I would honestly prefer to create an own solution to detect nodes and connect them with each other like EMQ does. And use Redis for storing subscriptions, session data and more.

@gembin
Copy link

gembin commented Oct 29, 2016

It would be better to design a cluster SPI to allow multiple providers.

@diegovisentin
Copy link

Do you already defined the design of Moquette clustering?
Probably you already know it, but I found the cluster design of EMQ simple and clear: http://emqtt.io/docs/v2/cluster.html

@chxiaowu
Copy link

Bumping. Any news?

@iiliev2
Copy link

iiliev2 commented Feb 8, 2023

@andsel

I've some ideas, I would share it on the google group till I'm finishing to fix the bugs for release 0.8

How do I gain access to the group? I cannot find it. Could you please outline a design based on hazelcast? I could work on it and contribute.

@andsel
Copy link
Collaborator

andsel commented Feb 8, 2023

@iiliev2 maybe you could open a new discussion in GH: https://github.com/moquette-io/moquette/discussions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants