【DM數據守護集群搭建-讀寫分離】

DM數據守護集群搭建-讀寫分離

讀寫分離集群由一個主庫以及一個或者多個配置了即時(Timely)歸檔或實時(Realtime)歸檔的備庫組成,其主要目標是在保障數據庫可用性基礎上,實現讀、寫操作的自動分離,進一步提升數據庫的業務支撐能力。讀寫分離集群通過配置事務一致模式保證主、備庫數據一致性,并配合達夢數據庫管理系統的各種接口(JDBC、DPI等),將只讀操作自動分流到備庫,有效降低主庫的負載,提升系統吞吐量。

一、環境規劃

配置項A機器(主節點)B機器(從節點)C機器(從節點)
心跳IP192.168.148.128192.168.148.130192.168.148.133
實例名DM_01DM_02DM_03
實例端口523652365236
MAL端口533653365336
MAL守護進程端口543654365436
守護進程端口553655365536
OGUID453314533145331
守護組GRP1GRP1GRP1
安裝目錄/home/dmdba/dmdbms/home/dmdba/dmdbms/home/dmdba/dmdbms
實例歸檔/home/dmdba/dmdbms/data/home/dmdba/dmdbms/data/home/dmdba/dmdbms/data
歸檔上限512005120051200

二、環境搭建

初始化主庫實例DM_01

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_01 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

初始化從庫實例DM_02

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_02 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

初始化從庫實例DM_03

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_03 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

主節點注冊服務

su root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -p DMSERVER

在這里插入圖片描述
創建成功后啟動服務

systemctl start DmServiceDMSERVER.service

注意:三臺機器關閉防火墻

systemctl stop firewalld
systemctl disable firewalld

1、配置DM_01主庫

修改dm.ini

#configuration fileMAL_INI       = 1         #dmmal.iniARCH_INI      = 1         #dmarch.ini
#data watchALTER_MODE_STATUS    = 0ENABLE_OFFLINE_TS     = 2

創建dmarch.ini

vim /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事務一致
ARCH_WAIT_APPLY      	 = 0        
[ARCHIVE_LOCAL]
#本地歸檔類型
ARCH_TYPE            = LOCAL        
#本地歸檔存放路徑 
ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  
ARCH_FILE_SIZE       = 1024
ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#實時歸檔類型
ARCH_TYPE            = TIMELY
#實時歸檔目標實例名
ARCH_DEST            = DM_02
[ARCHIVE_TIMELY2]
#實時歸檔類型
ARCH_TYPE            = TIMELY
#實時歸檔目標實例名
ARCH_DEST            = DM_03

創建dmmal.ini

vim /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 鏈路斷開的時間
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #臨時文件目錄
MAL_BUF_SIZE               = 512  #單個 MAL 緩存大小,單位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 總大小限制,單位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息壓縮等級,0 表示不壓縮[MAL_INST1]
MAL_INST_NAME            = DM_01  #實例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系統監聽 TCP 連接的 IP 地址
MAL_PORT                 = 5336  #MAL 系統監聽 TCP 連接的端口
MAL_INST_HOST            = 192.168.148.128  #實例的對外服務 IP 地址
MAL_INST_PORT            = 5236  #實例對外服務端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #實例對應的守護進程監聽 TCP 連接的端口
MAL_INST_DW_PORT         = 5536  #實例監聽守護進程 TCP 連接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

創建dmwatcher.ini

vim /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守護類型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #遠程守護進程故障認定時間
INST_ERROR_TIME          = 20  #本地實例故障認定時間
INST_RECOVER_TIME        = 60  #主庫守護進程啟動恢復的間隔時間
INST_OGUID               = 45331  #守護系統唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路徑
INST_AUTO_RESTART        = 1  #打開實例的自動啟動功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式啟動
RLOG_SEND_THRESHOLD      = 0  #指定主庫發送日志到備庫的時間閾值,默認關閉
RLOG_APPLY_THRESHOLD     = 0  #指定備庫重演日志的時間閾值,默認關閉

2、配置DM_02從庫參數

修改 dm.ini

#configuration file
MAL_INI                         = 1         #dmmal.ini
ARCH_INI                        = 1         #dmarch.ini
#data watch
ALTER_MODE_STATUS               = 0         #Whether to permit database user to alter database mode
ENABLE_OFFLINE_TS               = 2         #Whether tablespace can be offline

創建dmarch.ini

vi /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事務一致
ARCH_WAIT_APPLY      	 = 0        
[ARCHIVE_LOCAL]
#本地歸檔類型ARCH_TYPE            = LOCAL        
#本地歸檔存放路徑 ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  ARCH_FILE_SIZE       = 1024ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#實時歸檔類型ARCH_TYPE            = TIMELY
#實時歸檔目標實例名ARCH_DEST            = DM_01
[ARCHIVE_TIMELY2]
#實時歸檔類型ARCH_TYPE            = TIMELY
#實時歸檔目標實例名ARCH_DEST            = DM_03

創建dmmal.ini

vi /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 鏈路斷開的時間
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #臨時文件目錄
MAL_BUF_SIZE               = 512  #單個 MAL 緩存大小,單位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 總大小限制,單位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息壓縮等級,0 表示不壓縮[MAL_INST1]
MAL_INST_NAME            = DM_01  #實例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系統監聽 TCP 連接的 IP 地址
MAL_PORT                 = 5336  #MAL 系統監聽 TCP 連接的端口
MAL_INST_HOST            = 192.168.148.128  #實例的對外服務 IP 地址
MAL_INST_PORT            = 5236  #實例對外服務端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #實例對應的守護進程監聽 TCP 連接的端口
MAL_INST_DW_PORT         = 5536  #實例監聽守護進程 TCP 連接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

創建 dmwatcher.ini

vi /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守護類型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #遠程守護進程故障認定時間
INST_ERROR_TIME          = 20  #本地實例故障認定時間
INST_RECOVER_TIME        = 60  #主庫守護進程啟動恢復的間隔時間
INST_OGUID               = 45331  #守護系統唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路徑
INST_AUTO_RESTART        = 1  #打開實例的自動啟動功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式啟動
RLOG_SEND_THRESHOLD      = 0  #指定主庫發送日志到備庫的時間閾值,默認關閉
RLOG_APPLY_THRESHOLD     = 0  #指定備庫重演日志的時間閾值,默認關閉

3、配置DM_03從庫參數

修改 dm.ini

#configuration file
MAL_INI                         = 1         #dmmal.ini
ARCH_INI                        = 1         #dmarch.ini
#data watch
ALTER_MODE_STATUS               = 0         #Whether to permit database user to alter database mode
ENABLE_OFFLINE_TS               = 2         #Whether tablespace can be offline

創建dmarch.ini

vi /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事務一致
ARCH_WAIT_APPLY       = 0        
[ARCHIVE_LOCAL]
#本地歸檔類型
ARCH_TYPE            = LOCAL        
#本地歸檔存放路徑 
ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  
ARCH_FILE_SIZE       = 1024
ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#實時歸檔類型
ARCH_TYPE            = TIMELY
#實時歸檔目標實例名
ARCH_DEST            = DM_01
[ARCHIVE_TIMELY2]
#實時歸檔類型
ARCH_TYPE            = TIMELY
#實時歸檔目標實例名
ARCH_DEST            = DM_02

創建dmmal.ini

vi /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 鏈路斷開的時間
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #臨時文件目錄
MAL_BUF_SIZE               = 512  #單個 MAL 緩存大小,單位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 總大小限制,單位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息壓縮等級,0 表示不壓縮[MAL_INST1]
MAL_INST_NAME            = DM_01  #實例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系統監聽 TCP 連接的 IP 地址
MAL_PORT                 = 5336  #MAL 系統監聽 TCP 連接的端口
MAL_INST_HOST            = 192.168.148.128  #實例的對外服務 IP 地址
MAL_INST_PORT            = 5236  #實例對外服務端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #實例對應的守護進程監聽 TCP 連接的端口
MAL_INST_DW_PORT         = 5536  #實例監聽守護進程 TCP 連接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

創建 dmwatcher.ini

vi /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守護類型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #遠程守護進程故障認定時間
INST_ERROR_TIME          = 20  #本地實例故障認定時間
INST_RECOVER_TIME        = 60  #主庫守護進程啟動恢復的間隔時間
INST_OGUID               = 45331  #守護系統唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路徑
INST_AUTO_RESTART        = 1  #打開實例的自動啟動功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式啟動
RLOG_SEND_THRESHOLD      = 0  #指定主庫發送日志到備庫的時間閾值,默認關閉
RLOG_APPLY_THRESHOLD     = 0  #指定備庫重演日志的時間閾值,默認關閉

4、主節點備份,從節點恢復

主節點停止服務

systemctl stop DmServiceDMSERVER.service

主從庫均啟動AP服務

cd /home/dmdba/dmdbms/bin/service_template/
./DmAPService start

備份主節點

cd /home/dmdba/dmdbms/bin
./dmrman
backup database '/home/dmdba/dmdbms/data/DM/dm.ini' backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';

在這里插入圖片描述
備份文件拷貝到從庫

scp -r /home/dmdba/dmdbms/data/DM/bak/dmbackup root@192.168.148.130:/home/dmdba/dmdbms/data/DM/bak
scp -r /home/dmdba/dmdbms/data/DM/bak/dmbackup root@192.168.148.133:/home/dmdba/dmdbms/data/DM/bak

恢復從節點(兩節點均要執行)

su dmdba
cd /home/dmdba/dmdbms/bin
./dmrman
restore database '/home/dmdba/dmdbms/data/DM/dm.ini' from backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';
recover database '/home/dmdba/dmdbms/data/DM/dm.ini' from backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';
recover database '/home/dmdba/dmdbms/data/DM/dm.ini' update db_magic;

在這里插入圖片描述
注冊服務

#主節點DM_01執行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_01 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在這里插入圖片描述

#從庫DM_02執行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_02 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在這里插入圖片描述

#從庫DM_03執行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_03 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在這里插入圖片描述

5、啟動主節點和從節點服務并修改參數

主庫執行

/home/dmdba/dmdbms/bin/DmServiceDM_01 start
/home/dmdba/dmdbms/bin/disql SYSDBA/DaMeng123:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

從節點DM_02執行

/home/dmdba/dmdbms/bin/DmServiceDM_02 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

從節點DM_03執行

/home/dmdba/dmdbms/bin/DmServiceDM_03 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

啟動守護進程(三臺機器均需要啟動)

/home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start

配置監視器
可以使用備節點創建監視器,生產環境還是需要獨立部署監視器。
創建監視器配置文件

vi /home/dmdba/dmdbms/data/DM/dmmonitor.ini
MON_DW_CONFIRM    = 1                    #確認監視器模式(0非確認監視器)
MON_LOG_PATH    = ../log     		     #監視器日志文件存放路徑
MON_LOG_INTERVAL  = 60                   #每隔60秒定時記錄系統信息到日志文件
MON_LOG_FILE_SIZE   = 512                #日志文件最大512M
MON_LOG_SPACE_LIMIT  = 2048              #不限定日志文件總占用空間
[GRP1] 
MON_INST_OGUID    = 45331               #組GRP1的唯一OGUID值
MON_DW_IP     = 192.168.148.128:5436     #集群內部節點1
MON_DW_IP     = 192.168.148.130:5436     #集群內部節點2
MON_DW_IP     = 192.168.148.133:5436     #集群內部節點3

創建dmmonitor_manual.ini

vi /home/dmdba/dmdbms/data/DM/dmmonitor_manual.ini
MON_DW_CONFIRM    = 0                    #確認監視器模式(0非確認監視器)
MON_LOG_PATH    = ../log     		     #監視器日志文件存放路徑
MON_LOG_INTERVAL  = 60                   #每隔60秒定時記錄系統信息到日志文件
MON_LOG_FILE_SIZE   = 512                #日志文件最大512M
MON_LOG_SPACE_LIMIT  = 2048              #不限定日志文件總占用空間
[GRP1] 
MON_INST_OGUID    = 45331               #組GRP1的唯一OGUID值
MON_DW_IP     = 192.168.148.128:5436     #集群內部節點1
MON_DW_IP     = 192.168.148.130:5436     #集群內部節點2
MON_DW_IP     = 192.168.148.133:5436     #集群內部節點3

注冊監視器服務

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/data/DM/dmmonitor.ini

啟動監視器

#后臺啟動
/home/dmdba/dmdbms/bin/DmMonitorServiceMonitor start#手動啟動
cd /home/dmdba/dmdbms/bin
./dmmonitor /home/dmdba/dmdbms/data/DM/dmmonitor_manual.ini

在這里插入圖片描述

三、環境驗證及讀寫分離配置

啟動監視器驗證

cd /home/dmdba/dmdbms/bin
./dmmonitor /home/dmdba/dmdbms/data/DM_02/dmmonitor_manual.ini
#使用show global info
show global info

讀寫分離配置
#修改dm_svc.conf(文件具體位置可使用 find / -name dm_svc.conf進行查找)

vi /home/dmdba/dmdbms/bin/dm_svc.conf
#文件修改為
TIME_ZONE=(480)
LANGUAGE=(cn)
DMRW=(192.168.220.130:5236,192.168.220.131:5236,192.168.220.132:5236)
[DMRW]
#優先登錄的服務器模式
LOGIN_MODE=(1)
#表示是否啟用讀寫分離。0:不啟用;1:啟用;
RW_SEPARATE=(1)
#表示讀寫分離分發比例,有效值范圍 0~100,主庫占所有事物數的比例。可以根據主備庫的實際壓力來設定。
RW_PERCENT=(30)
#未找到符合條件的庫成功建立連接,將嘗試遍歷服務名中庫列表的次數
SWITCH_TIMES=(60)
#服務器之間切換的時間間隔,單位為毫秒
SWITCH_INTERVAL=(1000)

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

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

相關文章

earth靶場

1、找ip和端口主機是192.168.6.213,因此靶場ip就是192.168.6.34,三個端口開放,我們去訪問一下頁面。三個端口都無法訪問。我們使用nmap進行dns解析。nmap -A -p- -T4 -sV 192.168.6.34把這兩條解析添加到hosts文件中去,這樣我們才…

Kafka——Java消費者是如何管理TCP連接的?

引言在分布式消息系統中,網絡連接是數據流轉的"血管",其管理效率直接決定了系統的吞吐量、延遲與穩定性。作為Kafka生態中負責數據消費的核心組件,Java消費者(KafkaConsumer)的TCP連接管理機制一直是開發者理…

idea監控本地堆棧

idea 安裝插件 VisualVM Launcher重啟idea后,配置 VisualVM 屬性選擇自己jdk的 jvisualvm啟動時,選擇監控,會自動彈出 VisualVM

系統性提升大模型回復準確率:從 RAG 到多層 Chunk 策略

大語言模型(LLM)在問答、搜索、對話等任務中展現出強大的生成能力,但它并不具備真實世界知識的完全記憶與對齊能力,尤其在涉及復雜信息、長文檔引用或領域細節時,其“幻覺”問題(hallucination)…

【神經網絡概述】從感知機到深度神經網絡(CNN RNN)

文章目錄1. 神經網絡基礎1.1 感知器(Perceptron)1.2 深度神經網絡(DNN)2. 卷積神經網絡(CNN)2.1 核心思想2.2 典型結構2.3 ?程碑模型:2.4 卷積層 - CNN 核心2.5 池化層3. 循環神經網絡(RNN)3.1…

界面規范3-列表下

4、內容文字有鏈接的采用藍色字體<font colorblue></font>重要內容采用紅字字體&#xff0c;如狀態<font colorred></font>一般字體使用color: #3232325、行高height: 40px;line-height: 40px;6、其他表格占滿界面空間&#xff0c;內容多時&#xff0c…

中文語音識別與偏誤檢測系統開發

中文語音識別與偏誤檢測系統開發 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家&#xff0c;覺得好請收藏。點擊跳轉到網站。 1. 系統概述 本系統旨在開發一個基于Paraformer模型的中文語音識別與偏誤檢…

MySQL創建普通用戶并為其分配相關權限的操作步驟

1. 登錄MySQL服務器 首先&#xff0c;你需要以管理員身份登錄MySQL服務器。可以使用以下命令&#xff1a; mysql -u root -p 輸入密碼后&#xff0c;即可進入MySQL命令行界面。 2. 創建新用戶 使用CREATE USER語句創建新用戶。語法如下&#xff1a; CREATE USER usernamehost I…

OSPF 路由協議多區域

一、課程目標本課程旨在幫助學習者掌握 OSPF 多區域的核心知識&#xff0c;具體包括&#xff1a;掌握 OSPF 各種 LSA 的內容和傳遞過程、了解普通區域與特殊區域的特點、掌握 OSPF 多區域的配置。二、OSPF 多區域劃分的必要性單區域存在的問題單區域 OSPF 網絡中&#xff0c;存…

小程序的客服咨詢(與企業微信建立溝通)

背景&#xff1a;小程序是面向群眾的。需要提供與企業的聊天窗口。 一、連接方式。 使用組件的方式最佳wx.openCustomerServiceChat 二、接入小程序 鏈接

解碼3D格式轉換

三維圖形與可視化領域&#xff0c;3D模型格式作為數據交換與存儲的基石&#xff0c;承載著模型結構、幾何形狀、紋理以及材質等多重信息。不同的3D模型格式在支持材質的方式上各有差異&#xff0c;這些差異不僅影響模型的外觀表現&#xff0c;還在格式轉換過程中帶來了特定的挑…

HarmonyOS學習記錄5

HarmonyOS學習記錄5 本文為個人學習記錄&#xff0c;僅供參考&#xff0c;如有錯誤請指出。本文主要記錄網絡請求的開發知識。 參考文檔&#xff1a;HTTP和RCP訪問網絡 網絡連接 概述 網絡連接管理提供管理網絡一些基礎能力&#xff0c;包括WiFi/蜂窩/Ethernet等多網絡連接優…

【C/C++】explicit_bzero

explicit_bzero explicit_bzero 是一個為了解決 memset 在安全清除內存場景中可能被優化器移除的問題而設計的函數&#xff0c;廣泛用于安全編程中&#xff0c;比如密碼、密鑰清除等。Introduce 頭文件 #include <string.h>函數原型 void explicit_bzero(void *s, size_t…

MySQL 鏈接方法思考

代碼: import subprocess import os from dotenv import load_dotenv import pymysql from sqlalchemy import create_enginedef check_mysql_service():"""檢查 MySQL 服務是否運行"""try:result = subprocess.run(["systemctl", &…

jxORM--查詢數據

jxORM提供了豐富的數據查詢功能。在jxORM中&#xff0c;有兩種數據查詢方式&#xff1a; 通過數據類執行查詢直接使用SQL的select語句查詢 數據類查詢 數據類查詢的優勢&#xff1a; 可以根據數據類的定義&#xff0c;自動完成查詢條件中的條件值和查詢到的數據的類型轉換直接獲…

詳解力扣高頻SQL50題之1084. 銷售分析 III【簡單】

傳送門&#xff1a;1084. 銷售分析 III 題目 表&#xff1a; Product --------------------- | Column Name | Type | --------------------- | product_id | int | | product_name | varchar | | unit_price | int | --------------------- product_id 是該表的主鍵&#x…

Kafka入門指南:從零開始掌握分布式消息隊列

為什么要有消息隊列 生活中有這樣的場景快遞員將包裹送給買家。 我記得在小時候&#xff0c;收快遞是需要快遞員電話聯系上門時間的。這非常不方便&#xff0c;一方面快遞員手中可能有多個包裹&#xff0c;另一方面買家可能在上班時間抽不出身。 后來有了驛站&#xff0c;快遞員…

基于Matlab圖像處理的瓶子自動檢測與質量評估系統

本文提出了一種基于圖像處理的瓶子缺陷檢測系統&#xff0c;旨在通過圖像分析自動識別和檢測瓶子在生產過程中可能出現的缺陷。系統首先通過圖像預處理技術&#xff0c;包括灰度轉換、二值化處理、噪聲去除等步驟&#xff0c;將原始圖像轉換為適合分析的格式。然后&#xff0c;…

【Pandas】pandas Index objects Index.name

Pandas2.2 Index objects Properties方法描述Index.values返回 Index 對象的值&#xff0c;通常是一個 NumPy 數組Index.is_monotonic_increasing用于檢查索引的元素是否 單調遞增Index.is_monotonic_decreasing用于判斷索引的值是否 單調遞減Index.is_unique用于檢查索引中的標…

JDBC教程,2025版最新講解.超詳細入門教程

以下內容全面詳盡地梳理了 JDBC &#xff08;Java Database Connectivity&#xff09;的核心知識點&#xff0c;并在關鍵環節配以示例代碼。若要快速定位&#xff0c;可先查看下方結構&#xff1a; JDBC 概覽驅動加載與注冊獲取數據庫連接執行 SQL&#xff08;Statement、Prepa…