RocketMQ搭建(Ubuntu Server 20.04 LTS)

安裝

# 解壓到 /usr/local/ 下
unzip rocketmq-all-版本號(hào)-bin-release.zip -d /usr/local/
# 進(jìn)入 /usr/local/
cd /usr/local/
# 重命名文件夾
mv rocketmq-all-版本號(hào)-bin-release/ rocketmq/


環(huán)境配置

Hosts 文件(測(cè)試環(huán)境)

vim /etc/hosts
# nameserver
192.168.199.111 rocketmq-nameserver1
192.168.199.112 rocketmq-nameserver2
192.168.199.113 rocketmq-nameserver3
192.168.199.114 rocketmq-nameserver4
# broker
192.168.199.111 rocketmq-master1
192.168.199.112 rocketmq-slave1
192.168.199.113 rocketmq-master2
192.168.199.114 rocketmq-slave2
# 重啟網(wǎng)絡(luò)服務(wù)
netplan apply


防火墻

# 禁用防火墻
ufw disable
# 設(shè)置防火墻
ufw default deny
# ssh
ufw allow proto tcp from 192.168.199.0/24 to any port 22
# nameserver
ufw allow proto tcp from 192.168.199.0/24 to any port 9876
# master
ufw allow proto tcp from 192.168.199.0/24 to any port 10911
# slave
ufw allow proto tcp from 192.168.199.0/24 to any port 11011
# 重載配置
ufw reload
# 啟用防火墻
ufw enable
# 啟用防火墻服務(wù)
systemctl start ufw
systemctl enable ufw


環(huán)境變量

vim /etc/profile
# 添加以下配置
export ROCKETMQ_HOME="/usr/local/rocketmq"
export PATH="${PATH}:${ROCKETMQ_HOME}/bin"
source /etc/profile


RocketMQ配置

創(chuàng)建消息存儲(chǔ)路徑

# 進(jìn)入目錄
cd /usr/local/rocketmq/
# 創(chuàng)建
mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index


JVM內(nèi)存大刑垩(測(cè)試環(huán)境,因此配置的小一點(diǎn))

# 進(jìn)入 RocketMQ 的 bin 目錄
cd /usr/local/rocketmq/bin/
# 修改以下兩個(gè)文件
vim runbroker.sh
vim runserver.sh

runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

runserver.sh

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"


注釋版本檢測(cè)判斷(針對(duì) Java 8 版本)

cd /usr/local/rocketmq/bin/
vim runserver.sh
# 按照以下內(nèi)容,對(duì)該方法進(jìn)行注釋
choose_gc_options()
{
    JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
#    if [[ "$JAVA_MAJOR_VERSION" -lt "9" ]] ; then
      JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
      JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails"
      JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
#    else
#      JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
#      JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
#    fi
}
保存退出即可


broker配置文件


# 進(jìn)入 RocketMQ 的 conf 目錄
cd /usr/local/rocketmq/conf/
# 進(jìn)入自己需要配置的集群模式的目錄
#   2m-2s-async     2個(gè)master,2個(gè)slave,異步刷盤異步復(fù)制
#   2m-noslave      2個(gè)master,沒有slave
#   2m-2s-sync      2個(gè)master矛辕,2個(gè)slave,異步刷盤同步復(fù)制(使用這個(gè))
cd 2m-2s-sync/


broker-a.properties

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字付魔,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master聊品,>0 表示 Slave
brokerId=0
#nameServer地址,分號(hào)分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#在發(fā)送消息時(shí)几苍,自動(dòng)創(chuàng)建服務(wù)器不存在的topic翻屈,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動(dòng)創(chuàng)建Topic,建議線下開啟妻坝,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動(dòng)創(chuàng)建訂閱組伸眶,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對(duì)外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時(shí)間點(diǎn)刽宪,默認(rèn)凌晨 4點(diǎn)
deleteWhen=04
#文件保留時(shí)間厘贼,默認(rèn) 48 小時(shí)
fileReservedTime=120
#commitLog每個(gè)文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個(gè)文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測(cè)物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲(chǔ)路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池?cái)?shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池?cái)?shù)量
#pullMessageThreadPoolNums=128


broker-a-s.properties

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字圣拄,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master嘴秸,>0 表示 Slave
brokerId=1
#nameServer地址,分號(hào)分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#在發(fā)送消息時(shí)庇谆,自動(dòng)創(chuàng)建服務(wù)器不存在的topic赁遗,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動(dòng)創(chuàng)建Topic,建議線下開啟族铆,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動(dòng)創(chuàng)建訂閱組,建議線下開啟哭尝,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對(duì)外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時(shí)間點(diǎn)哥攘,默認(rèn)凌晨 4點(diǎn)
deleteWhen=04
#文件保留時(shí)間,默認(rèn) 48 小時(shí)
fileReservedTime=120
#commitLog每個(gè)文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個(gè)文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測(cè)物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲(chǔ)路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池?cái)?shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池?cái)?shù)量
#pullMessageThreadPoolNums=128


broker-b.properties

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字逝淹,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master耕姊,>0 表示 Slave
brokerId=0
#nameServer地址,分號(hào)分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#在發(fā)送消息時(shí)栅葡,自動(dòng)創(chuàng)建服務(wù)器不存在的topic茉兰,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動(dòng)創(chuàng)建Topic,建議線下開啟欣簇,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動(dòng)創(chuàng)建訂閱組规脸,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對(duì)外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時(shí)間點(diǎn)熊咽,默認(rèn)凌晨 4點(diǎn)
deleteWhen=04
#文件保留時(shí)間莫鸭,默認(rèn) 48 小時(shí)
fileReservedTime=120
#commitLog每個(gè)文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個(gè)文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測(cè)物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲(chǔ)路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池?cái)?shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池?cái)?shù)量
#pullMessageThreadPoolNums=128


broker-b-s.properties

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字横殴,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master被因,>0 表示 Slave
brokerId=1
#nameServer地址,分號(hào)分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#在發(fā)送消息時(shí)衫仑,自動(dòng)創(chuàng)建服務(wù)器不存在的topic梨与,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動(dòng)創(chuàng)建Topic,建議線下開啟文狱,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動(dòng)創(chuàng)建訂閱組粥鞋,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對(duì)外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時(shí)間點(diǎn)如贷,默認(rèn)凌晨 4點(diǎn)
deleteWhen=04
#文件保留時(shí)間陷虎,默認(rèn) 48 小時(shí)
fileReservedTime=120
#commitLog每個(gè)文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個(gè)文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測(cè)物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲(chǔ)路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池?cái)?shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池?cái)?shù)量
#pullMessageThreadPoolNums=128


運(yùn)行

啟動(dòng) NameServer

cd /usr/local/rocketmq/bin
# 運(yùn)行
nohup sh mqnamesrv >/dev/null 2>&1 &
# 查看是否啟動(dòng)成功
jps


啟動(dòng) Broker

master-one

cd /usr/local/rocketmq/bin
# 運(yùn)行
#   -c      指定配置文件
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties >/dev/null 2>&1 &


slave-one

cd /usr/local/rocketmq/bin
# 運(yùn)行
#   -c      指定配置文件
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties >/dev/null 2>&1 &


master-two

cd /usr/local/rocketmq/bin
# 運(yùn)行
#   -c      指定配置文件
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties >/dev/null 2>&1 &


slave-two

cd /usr/local/rocketmq/bin
# 運(yùn)行
#   -c      指定配置文件
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties >/dev/null 2>&1 &


查看日志

# nameserver
tail -500f ~/logs/rocketmqlogs/namesrv.log
# broker
tail -500f ~/logs/rocketmqlogs/broker.log


關(guān)閉

cd /usr/local/rocketmq/bin
# 先關(guān)閉 broker 杠袱,再關(guān)閉 nameserver
sh mqshutdown broker
sh mqshutdown namesrv


監(jiān)控控制臺(tái)

克隆項(xiàng)目

cd ~
# 克隆 https://github.com/apache/rocketmq-externals 項(xiàng)目
git clone https://github.com/apache/rocketmq-externals.git


修改 nameserver 的地址

# 進(jìn)入 RocketMQ 的監(jiān)控控制臺(tái)項(xiàng)目的目錄
cd ~/rocketmq-externals/rocketmq-console/
# 修改配置文件
vim src/main/resources/application.properties
# 修改為 namesever 的集群地址尚猿,然后保存退出
rocketmq.config.namesrvAddr=192.168.199.111:9876;192.168.199.112:9876;192.168.199.113:9876;192.168.199.114:9876


使用 mvn 進(jìn)行打包

cd ~/rocketmq-externals/rocketmq-console/
mvn clear package -Dmaven.test.skip=true


運(yùn)行 jar 包

cd target/
java -jar rocketmq-console-ng-版本號(hào).jar


訪問頁面

http://localhost:8080/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市楣富,隨后出現(xiàn)的幾起案子凿掂,更是在濱河造成了極大的恐慌,老刑警劉巖纹蝴,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庄萎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡塘安,警方通過查閱死者的電腦和手機(jī)糠涛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兼犯,“玉大人忍捡,你說我怎么就攤上這事集漾。” “怎么了砸脊?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵具篇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我凌埂,道長(zhǎng)驱显,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任瞳抓,我火速辦了婚禮埃疫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挨下。我一直安慰自己熔恢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布臭笆。 她就那樣靜靜地躺著叙淌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愁铺。 梳的紋絲不亂的頭發(fā)上鹰霍,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音茵乱,去河邊找鬼茂洒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瓶竭,可吹牛的內(nèi)容都是我干的督勺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼斤贰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼智哀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荧恍,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瓷叫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后送巡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摹菠,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年骗爆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了次氨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡摘投,死狀恐怖煮寡,靈堂內(nèi)的尸體忽然破棺而出屉佳,到底是詐尸還是另有隱情,我是刑警寧澤洲押,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站圆凰,受9級(jí)特大地震影響杈帐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜专钉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一挑童、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧跃须,春花似錦站叼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至第练,卻和暖如春阔馋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娇掏。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工呕寝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人婴梧。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓下梢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親塞蹭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子孽江,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容