activemq--MASTER SLAVE+BROKER CLUSTER 实践(一)

建立两组activemq的JDBC Master Slave主从集群 (参考http://blog.csdn.net/java20150326/article/details/72814643)

机器配置如下:

第一组:

AD:------>master

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="AD" dataDirectory="${activemq.data}">

<networkConnectors>  
	<networkConnector uri="static:(tcp://192.168.1.9:61617,tcp://192.168.1.9:61619)" duplex="true"/>  
</networkConnectors>  

        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="true" />
        </persistenceAdapter>

        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61618?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
	</transportConnectors>

<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.1.4:3306/AS?relaxAutoCommit=true"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>
AS:------>slave

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="AS" dataDirectory="${activemq.data}">

<networkConnectors>  
	<networkConnector uri="static:(tcp://192.168.1.9:61617,tcp://192.168.1.9:61619)" duplex="true"/>  
</networkConnectors>  

        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="false" />
        </persistenceAdapter>

        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
	</transportConnectors>

<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.1.4:3306/AS?relaxAutoCommit=true"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>

第二组:

BD:------>master

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="BD" dataDirectory="${activemq.data}">


        <networkConnectors>
            <networkConnector uri="static:(tcp://192.168.1.9:61616,tcp://192.168.1.9:61618)" duplex="true"/>
        </networkConnectors>


        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="true"/>
        </persistenceAdapter>


        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61619?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>


<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.1.4:3306/BS?relaxAutoCommit=true"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>

BS:------>slave

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="BS" dataDirectory="${activemq.data}">


        <networkConnectors>
            <networkConnector uri="static:(tcp://192.168.1.9:61616,tcp://192.168.1.9:61618)" duplex="true"/>
        </networkConnectors>


        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="false"/>
        </persistenceAdapter>


        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>


<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.1.4:3306/BS?relaxAutoCommit=true"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>

第二组中粉红色文字代表暴露的端口。

第二组中蓝色文字代表static Broker-Cluster方式,duplex="true"代表网络双向

第二组中红色文字代表JDBC方式的主从集群,使用的是BS同一个数据库,useDatabaseLock="true"代表主,useDatabaseLock="false",代表从。useDatabaseLock="true"独占服务器,主服务与数据库建立连接后,从服务器就阻断在链接数据库的环节,直到主服务与数据库连接中断,从服务器就会接替主服务工作与数据库建立连接.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值