You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Howard Gao (JIRA)" <ji...@apache.org> on 2015/09/30 14:14:04 UTC

[jira] [Commented] (ARTEMIS-108) Dynamic fail over and load balancing for OpenWire clients.

    [ https://issues.apache.org/jira/browse/ARTEMIS-108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14936760#comment-14936760 ] 

Howard Gao commented on ARTEMIS-108:
------------------------------------

Just an update of what I'm doing:

https://github.com/gaohoward/activemq-artemis/tree/openwire-work2

Basically I've studied the Network of Broker feature and I think the basic concepts are quite similar to artemis. So far I've investigated the static and multicast protocols which pretty much like artemis' static connector and discovery group. 
So far I didn't plan to change any core cluster models, rather I'm trying to pass the topology information to openwire clients so clients can do failover:// protocol. Basically what happens is that OpenWireProtocolManager registers a topology listener to ClusterManager's default ClusterConnection (if it exists). Any topology updates (nodeUp/down) will cause OpenwireProtocolManager to update the ConnectionControl command. (used to update clients). 

At test side I've done some work to start an artemis cluster based on the openwire's configuration. Openwire (amq5) brokers wraps the cluster configuration into a NetworkConnector. For static:// and multicast:// discovery the class is DiscoveryNetworkConnector. According to the way it works, one DiscoveryNetworkConnector may correspond to multiple ClusterConnection configurations. We need to translate relevant configuration parameters into those for ClusterConnections.
Those parameters are listed here:
http://activemq.apache.org/networks-of-brokers.html

I'm going through them for the moment but not finished yet. Some of the parameters we seems don't have and need to be added. But that probably need to change the core.
(for example decreaseNetworkConsumerPriority)

Howard


> Dynamic fail over and load balancing for OpenWire clients.
> ----------------------------------------------------------
>
>                 Key: ARTEMIS-108
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-108
>             Project: ActiveMQ Artemis
>          Issue Type: Sub-task
>            Reporter: Martyn Taylor
>            Assignee: Howard Gao
>            Priority: Critical
>             Fix For: 1.3.0
>
>
> ActiveMQ OpenWire supports a feature that allows the broker to inform clients when broker nodes are added and removed from the cluster.  This information can be used on the client to determine which broker to reconnect to in the event of a failure.  The OpenWire protocol supports this functionality via a ConnectionControl packet.  The ConnectionControl packet contains information about the brokers immediately connected to the current broker (used for failover).
> In addition a ConnectionControl packet can instruct a client to reconnect to a different broker in the cluster (used for load balancing connections).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)