国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

2020-12-10 14:17YSHY Java教程

這篇文章主要介紹了ActiveMQ基于zookeeper的主從levelDB Master/Slave搭建,以及Spring-boot下的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

activemq 5.9.0新推出的主從實現,基于zookeeper來選舉出一個master,其他節點自動作為slave實時同步消息。因為有實時同步數據的slave的存在,master不用擔心數據丟失,所以leveldb會優先采用內存存儲消息,異步同步到磁盤,所以該方式的activemq讀寫性能最好因為選舉機制要超過半數,所以最少需要3臺節點,才能實現高可用。如果集群是兩臺則master失效后slave會不起作用,所以集群至少三臺。此種方式僅實現主備功能,避免單點故障,沒有負載均衡功能。

1、環境準備

ip
192.168.3.10    server1
192.168.3.11    server2
192.168.3.12 server3

安裝軟件信息:

apache-activemq-5.13.0-bin.tar.gz

zookeeper-3.5.2-alpha.tar.gz

zooinspector.zip

2、搭建zookeeper集群

(1)將zookeeper-3.5.2-alpha.tar.gz文件解壓到/home/wzh/zk目錄;

(2)將zoo_sample.cfg復制一份為 zoo.cfg,并修改其配置信息

wzh@hd-master:~/zk/zookeeper-3.5.2-alpha/conf$ cp zoo_sample.cfg zoo.cfg

wzh@hd-master:~/zk/zookeeper-3.5.2-alpha/conf$vim zoo.cfg

 
?
1
 
2
3
4
5
6
7
8
9
10
11
ticktime=2000
initlimit=10
synclimit=5
datadir=/tmp/zookeeper
clientport=2181
 
 
 
server.1=192.168.3.10:2888:3888
server.2=192.168.3.11:2888:3888
server.3=192.168.3.11:2888:3888

(3)創建/tmp/zookeeper目錄

在該目錄下創建名為myid的文件,內容為1(這個值隨server而改變)

(4)將server1上的/home/wzh/zk/zookeeper-3.5.2-alpha文件夾復制到server2,server3,然后創建/tmp/zookeeper目錄

在該目錄下創建名為myid的文件,內容為2

(5)啟動zookeeper

[192.168.3.10]

 
?
1
 
2
3
4
wzh@hd-master:~/zk/zookeeper-3.5.2-alpha/bin$ ./zkserver.sh start
zookeeper jmx enabled by default
using config: /home/wzh/zk/zookeeper-3.5.2-alpha/bin/../conf/zoo.cfg
starting zookeeper ... started

[192.168.3.11]

 
?
1
 
2
3
4
wzh@hd-slave1:~/zk/zookeeper-3.5.2-alpha/bin$ ./zkserver.sh start
zookeeper jmx enabled by default
using config: /home/wzh/zk/zookeeper-3.5.2-alpha/bin/../conf/zoo.cfg
starting zookeeper ... started

[192.168.3.12]

 
?
1
 
2
3
4
wzh@hd-slave2:~/zk/zookeeper-3.5.2-alpha/bin$ ./zkserver.sh start
zookeeper jmx enabled by default
using config: /home/wzh/zk/zookeeper-3.5.2-alpha/bin/../conf/zoo.cfg
starting zookeeper ... started

3、搭建activemq集群

(1)將apache-activemq-5.13.0-bin.tar.gz解壓到/home/wzh/amq

(2)修改activemq.xml配置文件

【1】將broker節點的brokername設置為wzhamq

 

復制代碼 代碼如下:
<broker xmlns="" brokername="wzhamq" datadirectory="${activemq.data}">

 

【2】將persistenceadapter的持久化方式選用replicatedleveldb,將kahadb方式注釋掉

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
<persistenceadapter>
    <!--
     <kahadb directory="${activemq.data}/kahadb"/>
    -->
   <replicatedleveldb
       directory="${activemq.data}/leveldb"
       replicas="3"
       bind="tcp://0.0.0.0:0"   
       zkaddress="192.168.3.10:2181,192.168.3.11:2181"  
       hostname="192.168.3.10"    
       sync="local_disk"    
       zkpath="/activemq/leveldb-stores"/>
   </persistenceadapter>

將apache-activemq-5.13.復制到11,12機器

wzh@hd-master:~/amq$ scp -r apache-activemq-5.13.0/ wzh@192.168.3.11:/tmp

修改配置文件中的hostname="192.168.3.11"  

修改配置文件中的hostname="192.168.3.12"  

(3)啟動activemq

 
?
1
 
2
3
4
5
wzh@hd-master:~/amq$ ./apache-activemq-5.13.0/bin/activemq status
info: loading '/home/wzh/amq/apache-activemq-5.13.0//bin/env'
info: using java '/opt/java/jdk1.8.0_91/bin/java'
activemq is running (pid '2031')
wzh@hd-master:~/amq$

依次啟動192.168.3.11,192.168.3.12機器

4:集群管理

(1)通過使用zooinspector工具查看zookeeper集群情況

ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

(2)http://192.168.3.10:8161/admin/ 默認用戶名與口令為admin登錄activemq管理端

5、通過spring-boot操作activemq jms

(1)通過gradle構建spring-boot應用,在 gradle文件中增加

 
?
1
 
2
3
4
5
dependencies {
  compile('org.springframework.boot:spring-boot-starter-activemq')
  compile('org.springframework.boot:spring-boot-starter-web')
  testcompile('org.springframework.boot:spring-boot-starter-test')
}

(2)application中增加以下配置

 
?
1
 
2
3
4
5
spring.activemq.broker-url=failover:(tcp://192.168.3.10:61616,tcp://192.168.3.11:61616,tcp://192.168.3.12:61616)
spring.activemq.in-memory=true
spring.activemq.pool.enabled=false
spring.activemq.user=admin
spring.activemq.password=admin

(3)jms消息發送

 
?
1
 
2
3
4
5
6
7
8
9
10
@service
public class producer {
 
  @autowired
  private jmsmessagingtemplate jmstemplate;
 
  public void sendmessage(destination destination, final string message){
    jmstemplate.convertandsend(destination, message);
  }
}

(4)jms消息接收

 
?
1
 
2
3
4
5
6
7
8
@component
public class consumer {
  @jmslistener(destination = "test.queue")
  public void receivequeue(string text){
 
    system.out.println("consumer收到的報文為:"+text);
  }
}

(5)測試

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@restcontroller
@requestmapping(
    value = "/test",
    headers = "accept=application/json",
    produces = "application/json;charset=utf-8"
)
public class testctrl {
  @autowired
  producer producer;
 
  destination destination = new activemqqueue("test.queue");
 
  @requestmapping(
      value = "/say/{msg}/to/{name}",
      method = requestmethod.get
  )
  public map<string, object> say(@pathvariable string msg, @pathvariable string name){
    map<string, object> map = new hashmap<>();
    map.put("msg", msg);
    map.put("name", name);
 
    producer.sendmessage(destination, msg);
 
    return map;
  }
}

(6)進入activemq管理控制臺創建一個消息隊列

test.queue

ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

(7)通過postman進行測試

ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建

2017-08-03 08:10:44.928 info 12820 --- [activemq task-3] o.a.a.t.failover.failovertransport : successfully reconnected to tcp://192.168.3.10:61616
2017-08-03 08:11:08.854 info 12820 --- [activemq task-1] o.a.a.t.failover.failovertransport : successfully connected to tcp://192.168.3.10:61616
consumer收到的報文為:hello
2017-08-03 08:43:39.464 info 12820 --- [activemq task-1] o.a.a.t.failover.failovertransport : successfully connected to tcp://192.168.3.10:61616
consumer收到的報文為:hello

(8)目前系統連接的是10,如果此時將10集群down掉,系統會理解選擇一臺slave作為master提供服務,從而啟動案例主備的效果。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久9国产偷伦 | 国语精品久久 | 一区视频 | 午夜精品一区二区三区在线视频 | 精品视频一区二区 | 午夜午夜精品一区二区三区文 | 黄色av网站在线观看 | 日韩黄网站 | 欧美日韩亚洲国产 | 日韩中文字幕视频在线观看 | 色女人的天堂 | 91av在线视频观看 | 国产精品久久久久久亚洲影视 | 国产一区精品视频 | 国产中文字幕在线 | 欧美日韩亚洲综合 | 精品久久久久久久久久 | 一区二区在线电影 | 黄瓜av| 激情五月婷婷基地 | 精品无码久久久久久国产 | 亚洲精选国产 | 国产免费一区二区三区 | 午夜影院网站 | 国产精品久久久久久吹潮 | 精品久久一区二区三区 | 亚洲激情在线观看 | 九色在线| 性激烈欧美三级在线播放狩猎 | 成人在线h| 国产精品99久久 | 国产一区高清 | 久久白虎| 亚洲 欧美 综合 | 涩涩视频在线免费看 | 日韩视频区| 久久久www成人免费精品 | 色播久久 | 欧美日本韩国一区二区 | a视频在线观看免费 | 日本三级电影网站 |