RocketMQ安裝和使用

RocketMQ快速入門

下載RocketMQ

下載地址

環境要求

  • Linux64位系統

  • JDK1.8(64位)

安裝RocketMQ

解壓

unzip rocketmq-all-4.4.0-bin-release.zip

啟動RocketMQ

  1. 啟動NameServer
# 1.啟動NameServer
nohup sh bin/mqnamesrv &
# 2.查看啟動日志
tail -f ~/logs/rocketmqlogs/namesrv.log

在這里插入圖片描述

  1. 啟動Broker
# 1.啟動Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看啟動日志
tail -f ~/logs/rocketmqlogs/broker.log 

在這里插入圖片描述
在這里插入圖片描述
如果jps沒有看到NamesrvStartup和BrokerStartup,說明沒有啟動成功,很可能是內存不夠,需要修改內存

  • 問題描述:

    RocketMQ默認的虛擬機內存較大,啟動Broker如果因為內存不足失敗,需要編輯bin目錄下兩個配置文件,修改JVM內存大小

# 編輯runbroker.sh和runserver.sh修改默認JVM大小
vi bin/runbroker.sh
vi bin/runserver.sh
  • 參考設置:

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

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
配置好內存后,關閉namesrv和broker,重新啟動

# 1.關閉NameServer
sh bin/mqshutdown namesrv
# 2.關閉Broker
sh bin/mqshutdown broker
# 3.啟動NameServer
nohup sh bin/mqnamesrv &
# 4.查看啟動日志
tail -f ~/logs/rocketmqlogs/namesrv.log
# 5.啟動Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 6.查看啟動日志
tail -f ~/logs/rocketmqlogs/broker.log 

然后jps查看
在這里插入圖片描述

測試RocketMQ

發送消息
# 1.設置環境變量
export NAMESRV_ADDR=localhost:9876
# 2.使用安裝包的Demo發送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息(另一個shell窗口)
# 1.設置環境變量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

一個窗口發,另一個窗口能接受到,表示運行正常
在這里插入圖片描述
在這里插入圖片描述

關閉RocketMQ
# 1.關閉NameServer
sh bin/mqshutdown namesrv
# 2.關閉Broker
sh bin/mqshutdown broker

RocketMQ集群搭建

各角色介紹

  • Producer:消息的發送者;舉例:發信者
  • Consumer:消息接收者;舉例:收信者
  • Broker:暫存和傳輸消息;舉例:郵局
  • NameServer:管理Broker;舉例:各個郵局的管理機構
  • Topic:區分消息的種類;一個發送者可以發送消息給一個或者多個Topic;一個消息的接收者可以訂閱一個或者多個Topic消息
  • Message Queue:相當于是Topic的分區;用于并行發送和接收消息

雙主雙從集群搭建

總體架構

消息高可用采用2m-2s(同步雙寫)方式
在這里插入圖片描述

集群工作流程
  1. 啟動NameServer,NameServer起來后監聽端口,等待Broker、Producer、Consumer連上來,相當于一個路由控制中心。
  2. Broker啟動,跟所有的NameServer保持長連接,定時發送心跳包。心跳包中包含當前Broker信息(IP+端口等)以及存儲所有Topic信息。注冊成功后,NameServer集群中就有Topic跟Broker的映射關系。
  3. 收發消息前,先創建Topic,創建Topic時需要指定該Topic要存儲在哪些Broker上,也可以在發送消息時自動創建Topic。
  4. Producer發送消息,啟動時先跟NameServer集群中的其中一臺建立長連接,并從NameServer中獲取當前發送的Topic存在哪些Broker上,輪詢從隊列列表中選擇一個隊列,然后與隊列所在的Broker建立長連接從而向Broker發消息。
  5. Consumer跟Producer類似,跟其中一臺NameServer建立長連接,獲取當前訂閱Topic存在哪些Broker上,然后直接跟Broker建立連接通道,開始消費消息。
服務器環境
序號IP角色架構模式
1192.168.150.100nameserver、brokerserverMaster1、Slave2
2192.168.150.103nameserver、brokerserverMaster2、Slave1
Host添加信息(兩臺服務器)
vim /etc/hosts

配置如下:

# nameserver
192.168.150.100 rocketmq-nameserver1
192.168.150.103 rocketmq-nameserver2
# broker
192.168.150.100 rocketmq-master1
192.168.150.100 rocketmq-slave2
192.168.150.103 rocketmq-master2
192.168.150.103 rocketmq-slave1

配置完成后, 重啟網卡

systemctl restart network
防火墻配置(兩臺服務器)

宿主機需要遠程訪問虛擬機的rocketmq服務和web服務,需要開放相關的端口號,簡單粗暴的方式是直接關閉防火墻

# 關閉防火墻
systemctl stop firewalld.service 
# 查看防火墻的狀態
firewall-cmd --state 
# 禁止firewall開機啟動
systemctl disable firewalld.service

或者為了安全,只開放特定的端口號,RocketMQ默認使用3個端口:9876 、10911 、11011 。如果防火墻沒有關閉的話,那么防火墻就必須開放這些端口:

  • nameserver 默認使用 9876 端口
  • master 默認使用 10911 端口
  • slave 默認使用11011 端口

執行以下命令:

# 開放name server默認端口
firewall-cmd --remove-port=9876/tcp --permanent
# 開放master默認端口
firewall-cmd --remove-port=10911/tcp --permanent
# 開放slave默認端口 (當前集群模式可不開啟)
firewall-cmd --remove-port=11011/tcp --permanent 
# 重啟防火墻
firewall-cmd --reload
環境變量配置(兩臺服務器)
vim /etc/profile

在profile文件的末尾加入如下命令

#set rocketmq
ROCKETMQ_HOME=/root/rocketmq/rocketmq-all-4.4.0-bin-release
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH

輸入:wq! 保存并退出, 并使得配置立刻生效:

source /etc/profile
創建消息存儲路徑(兩臺服務器)
mkdir /root/rocketmq/store
mkdir /root/rocketmq/store/commitlog
mkdir /root/rocketmq/store/consumequeue
mkdir /root/rocketmq/store/indexmkdir /root/rocketmq/store_slave
mkdir /root/rocketmq/store_slave/commitlog
mkdir /root/rocketmq/store_slave/consumequeue
mkdir /root/rocketmq/store_slave/index
broker配置文件
1)master1

服務器:192.168.150.100

vi /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 Broker 自動創建Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=10911
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/root/rocketmq/store
#commitLog 存儲路徑
storePathCommitLog=/root/rocketmq/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/root/rocketmq/store/consumequeue
#消息索引存儲路徑
storePathIndex=/root/rocketmq/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/root/rocketmq/store/checkpoint
#abort 文件存儲路徑
abortFile=/root/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
#sendMessageThreadPoolNums=128
#拉消息線程池數量
#pullMessageThreadPoolNums=128
2)slave2

服務器:192.168.150.100

vi /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b-s.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 Broker 自動創建Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=11011
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/root/rocketmq/store_slave
#commitLog 存儲路徑
storePathCommitLog=/root/rocketmq/store_slave/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/root/rocketmq/store_slave/consumequeue
#消息索引存儲路徑
storePathIndex=/root/rocketmq/store_slave/index
#checkpoint 文件存儲路徑
storeCheckpoint=/root/rocketmq/store_slave/checkpoint
#abort 文件存儲路徑
abortFile=/root/rocketmq/store_slave/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
#sendMessageThreadPoolNums=128
#拉消息線程池數量
#pullMessageThreadPoolNums=128
3)master2

服務器:192.168.150.103

vi /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 Broker 自動創建Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=10911
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/root/rocketmq/store
#commitLog 存儲路徑
storePathCommitLog=/root/rocketmq/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/root/rocketmq/store/consumequeue
#消息索引存儲路徑
storePathIndex=/root/rocketmq/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/root/rocketmq/store/checkpoint
#abort 文件存儲路徑
abortFile=/root/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
#sendMessageThreadPoolNums=128
#拉消息線程池數量
#pullMessageThreadPoolNums=128
4)slave1

服務器:192.168.150.103

vi /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a-s.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 Broker 自動創建Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=11011
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/root/rocketmq/store_slave
#commitLog 存儲路徑
storePathCommitLog=/root/rocketmq/store_slave/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/root/rocketmq/store_slave/consumequeue
#消息索引存儲路徑
storePathIndex=/root/rocketmq/store_slave/index
#checkpoint 文件存儲路徑
storeCheckpoint=/root/rocketmq/store_slave/checkpoint
#abort 文件存儲路徑
abortFile=/root/rocketmq/store_slave/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
#sendMessageThreadPoolNums=128
#拉消息線程池數量
#pullMessageThreadPoolNums=128

修改啟動腳本文件(2臺服務器都要)

1)runbroker.sh
vi /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin/runbroker.sh

需要根據內存大小進行適當的對JVM參數進行調整:

#===================================================
# 開發環境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
2)runserver.sh
vim /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

服務啟動

1)啟動NameServe集群

分別在192.168.150.100和192.168.150.103啟動NameServer

cd /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin
nohup sh mqnamesrv &
2)啟動Broker集群
  • 在192.168.150.100上啟動master1和slave2

master1:

cd /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin
nohup sh mqbroker -c /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a.properties &

slave2:

cd /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin
nohup sh mqbroker -c /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b-s.properties &
  • 在192.168.150.103上啟動master2和slave2

master2

cd /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin
nohup sh mqbroker -c /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b.properties &

slave1

cd /root/rocketmq/rocketmq-all-4.4.0-bin-release/bin
nohup sh mqbroker -c /root/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a-s.properties &
  • 問題描述:
    如果啟動了第一個broker后,第二個broker總是起不來,注意看slave的存儲路徑是否跟master路徑 區分開了,在配置雙主雙從集群時,配置文件中相關的存儲路徑需要區分,主節點、從節點的數據不能保存在同一個目錄下
    在這里插入圖片描述

在這里插入圖片描述

查看進程狀態

在這里插入圖片描述

查看日志

# 查看nameServer日志
tail -500f ~/logs/rocketmqlogs/namesrv.log
# 查看broker日志
tail -500f ~/logs/rocketmqlogs/broker.log

集群監控平臺搭建rocketmq-console

  1. 修改rocketmq-console\src\main\resources\application.properties的mq集群地址
    在這里插入圖片描述
  2. maven打包
cd rocketmq-console
mvn clean package -Dmaven.test.skip=true
  1. 上傳jar包到部署了rocketmq的服務器啟動
java -jar rocketmq-console-ng-1.0.1.jar
  1. 瀏覽器打開界面
    http://192.168.150.100:8080/
    在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208895.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208895.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208895.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學會用bash在linux寫腳本 (二)

接著上一章繼續 數值的對比 判斷語句 循環語句 22.5 比較、對比、判斷 在寫腳本時,有時需要做一些比較,例如,兩個數字誰大誰小,兩個字符串是否相同等。 做對比的表達式有[]、[[]]、test,其中[]和 test這兩種表達式的…

如何通過3000個傳感器幫助大型大學附屬醫院實現遠程環境監測?

得益于ELPRO提供的可擴展、可信賴和可靠的環境監測解決方案,一家領先的大學研究醫院系統在COVID-19新冠肺炎大流行初始迅速為員工遠程工作做好了準備。 在本案例研究中,您將了解大城市的一家大型大學附屬醫院如何做到: 建立了遠程溫度控制數…

身份統一管理創新與優化 ——華為云OneAccess應用身份管理服務的2023年

2023年,隨著云計算、物聯網、人工智能等技術的快速發展,企業面臨著數字化轉型的巨大挑戰與機遇。身份統一管理是企業數字化轉型的基礎,也是業務發展的關鍵。如何高效、安全、靈活地實現身份統一管理,成為企業亟待解決的首要課題。…

解決MySQL字段名與關鍵字沖突

如果字段名與MySQL內部關鍵字相同,可能會導致語法錯誤、數據訪問問題甚至系統崩潰。 1、避免使用MySQL關鍵字作為字段名。 2、使用反引號(backticks): 如果使用一個與MySQL關鍵字相同的字段名,可以使用反引號將其括起…

boost-字符串處理-判斷-查找-裁剪-刪除-替換-分割-合并

文章目錄 1.判斷1.1.equals1.2.all1.3.starts_with1.4.ends_with1.5.contains 2.大小寫轉換3.字符串刪除4.字符串替換5.字符串查找6.字符串修剪7.字符串分割8.字符串合并9.總結 1.判斷 判別式函數和分類函數大多數都是以is_開頭,這些函數如下: 判別式函…

ElasticSearch之線程池

ElasticSearch節點可用的CPU核的數量,通常可以交給ElasticSearch來自行檢測和判定,另外可以在elasticsearch.yml中顯式指定。樣例如下: node.processors: 2如下表格中的processors即CPU核的數量。 線程池的列表 線程池名稱類型線程數量隊列…

屏蔽百度首頁推薦和熱搜的實戰方案

大家好,我是愛編程的喵喵。雙985碩士畢業,現擔任全棧工程師一職,熱衷于將數據思維應用到工作與生活中。從事機器學習以及相關的前后端開發工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現為CSDN博客專家、人工智能領域優質創作者。喜歡通過博客創作的方式對所學的…

電視節目中活動滅燈系統是如何實現的

活動滅燈系統主要用于各種需要亮燈或滅燈的活動節目,如招聘滅燈、相親滅燈等。有多種燈光顏色供選擇,本設備通過按鈕燈軟件組合實現,用戶可以自己設置亮燈或滅燈規則。 軟件功能: 1、后臺統一控制亮燈,重新開始下輪…

華為交換機基本配置

一、配置時間 sys ntp-service unicast-server 192.168.1.1 ntp-service unicast-server 192.168.1.2 clock timezone UTC add 8 clock timezone CST add 08:00:00 undo ntp-service disable q手動設置一個時間 clock datetime 13:43:00 2023-10-10save ysys保存!保…

某60內網滲透之域管權限維持[金票利用]

內網滲透 文章目錄 內網滲透域管權限維持【金票利用】實驗目的實驗環境實驗工具實驗原理實驗內容域管權限維持【金票利用】實驗步驟攻擊域管權限維持【金票利用】 實驗目的 讓學員通過該系統的練習主要掌握:利用金票來維持域管理員的權限。 實驗環境 操作機 Windows 7,域…

微信小程序 - 格式化操作 moment.js格式化常用使用方法總結大全

格式化操作使用 1. 首先,下載一個第三方庫 moment npm i moment --save 注:在微信小程序中無法直接npm 下載 導入 的(安裝一個就需要構建一次) 解決:菜單欄 --> 工具 --> 構建 npm 點擊即可(會…

線性回歸模型標準公式

用一組特征 x ( i ) { x^{(i)}} x(i)來預測或估計一個響應變量 y ( i ) y^{(i)} y(i),公式如下: y ( i ) θ T x ( i ) ? ( i ) y^{(i)} \theta^T x^{(i)} \epsilon^{(i)} y(i)θTx(i)?(i) 各名詞解釋: y ( i ) y^{(i)} y(i)&#xf…

Docker import 命令

docker import:從歸檔文件中創建鏡像。 語法: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]OPTIONS說明: -c :應用docker指令創建鏡像; -m :提交時的說明文字; 實例&#xff1a…

蝦皮免費分析工具:了解市場趨勢、優化產品和店鋪運營

在如今競爭激烈的電商市場中,了解市場趨勢、優化產品和店鋪運營對于賣家來說至關重要。蝦皮(Shopee)作為一家知名的電商平臺,為賣家提供了一些免費的分析工具,幫助他們更好地了解市場情況并做出明智的決策。本文將介紹…

C/C++,優化算法——雙離子推銷員問題(Bitonic Travelling Salesman Problem)的計算方法與源代碼

1 文本格式 // C program for the above approach #include <bits/stdc.h> using namespace std; // Size of the array a[] const int mxN 1005; // Structure to store the x and // y coordinates of a point struct Coordinates { double x, y; } a[mxN]; //…

[架構之路-259]:目標系統 - 設計方法 - 軟件工程 - 軟件設計 - 架構設計 - 面向服務的架構SOA與微服務架構(以服務為最小的構建單位)

目錄 前言&#xff1a; 二、軟件架構層面的復用 三、什么是面向服務的架構SOA 3.1 什么是面向服務的架構 3.2 面向服務架構的案例 3.3 云服務&#xff1a;everything is service一切皆服務 四、什么是微服務架構 4.1 什么是微服務架構 4.2 微服務架構的案例 五、企業…

樹莓派 5 - Raspberry Pi 5 入門教程

系列文章目錄 文章目錄 ??????? 前言 如果您是第一次使用 Raspberry Pi&#xff0c;請參閱我們的入門指南&#xff08;how to get started&#xff09;。 Raspberry Pi 5 Raspberry Pi 5 配備了運行頻率為 2.4GHz 的 64 位四核 Arm Cortex-A76 處理器&#xff0c;CPU 性…

java第三十三課

ISBN 編號&#xff1a;字符串 商品模塊中&#xff1a;增刪改查是最基本的操作。 查詢&#xff1a;復雜查詢&#xff08;與多表有關系&#xff09; 訂單&#xff0c;訂單詳情兩個表 訂單&#xff08;增刪改查&#xff09;&#xff0c; 訂單詳情&#xff08;增刪改查&#xff09;…

LangChain+通義千問+AnalyticDB向量引擎保姆級教程

本文以構建AIGC落地應用ChatBot和構建AI Agent為例&#xff0c;從代碼級別詳細分享AI框架LangChain、阿里云通義大模型和AnalyticDB向量引擎的開發經驗和最佳實踐&#xff0c;給大家快速落地AIGC應用提供參考。 前言 通義模型具備的能力包括&#xff1a; 1.創作文字&#xf…

【已解決】SpringBoot Maven 打包失敗:class lombok.javac.apt.LombokProcessor 錯誤

文章目錄 出錯原因解決辦法總結 最新項目部署的時候&#xff0c;出現了一個maven打包失敗的問題&#xff0c;主要是lombok這個組件出的問題&#xff0c;具體的錯誤信息如下&#xff1a; 我的lombok版本如下&#xff1a; <dependency><groupId>org.projectlombok&l…