Hi, There is a feature request that Message Broker should support to forcefully disconnect a subscriber. This means, server should be able to disconnect misbehaving subscribers. Server has a control over it.
Steps to do this would be 1. Find a way to disconnect the socket from mina transport level. 2. Send a message to Andes core to delete (disconnect) the subscriber. At step two the node that is disconnecting the socket, will broadcast a Hazelcast message that this subscriber is closed. With above implementation steps, a limitation is introduced as "you can only disconnect the subscribers originated to that node only". For example, say there is a MB cluster MB1, MB2, MB3. There is sub1 for MB1 and sub2 for MB2. You need to go to MB1's web console to disconnect sub1 and MB2's web console to disconnect sub2. So cluster aspect is lost there. Thus two implementation approaches are there 1. Forceful disconnection can be done only from the node subscriber is connected to. 2. Forceful disconnection can be done from any node (this is bit complex. Involves Hazelcast notifications) As our end goal for implementation would option 1 be adequate? Or do we need to reach out for option 2 as well? Do we need to facilitate this for any subscription type (queue/topic/durable topic/shared durable topic) ? What about MQTT subscribers? Also what are the permissions a user should have to perform this action? Are we going to introduce a new permission type? Thanks -- *Hasitha Abeykoon* Senior Software Engineer; WSO2, Inc.; http://wso2.com *cell:* *+94 719363063* *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
