搭建DM數據守護集群

1環境與規劃

準備3個kylin 10操作系統的虛擬機,規劃IP、端口、安裝目錄等。

說明

搭建REALTIME歸檔模式、事務一致性的數據守護

名稱項

初始主庫機器dm1

初始備庫機器dm2

監視器機器dmmon

外部業務IP

192.168.23.129

192.168.23.130

192.168.23.131

內部心跳IP

192.168.23.129

192.168.23.130

192.168.23.131

實例名

GRP1_DW_01

GRP1_DW_02

-

實例端口PORT_NUM

5237

5237

-

MAL監聽端口MAL_PORT

65237

65237

-

守護進程監聽端口MAL_DW_PORT

55237

55237

-

實例監聽守護進程端口

MAL_INST_DW_PORT

35237

35237

-

OGUID

202507

202507

-

守護組

GRP1

GRP1

-

數據庫軟件安裝目錄

/opt/dmdbms

/opt/dmdbms

/opt/dmdbms

數據庫實例目錄

/data/dmdata/

/data/dmdata/

???-

1.1設置主機名與IP、關閉防火墻等

[root@~]# hostnamectl ?set-hostname 名稱

[root@~]# hostname 名稱

[root@~]# systemctl ?status??firewalld

firewall-cmd --list-port

firewall-cmd --permanent --zone=public --add-port=5237/tcp

firewall-cmd --permanent --zone=public --add-port=65237/tcp

firewall-cmd --permanent --zone=public --add-port=55237/tcp

firewall-cmd --permanent --zone=public --add-port=35237/tcp

firewall-cmd --reload

1.2配置時間同步

(1)服務端配置

vi? /etc/chrony.conf

allow 192.168.23.0/24 ??##許訪問的客戶端列表

local stratum 10

重啟服務:systemctl restart chronyd

(2)客戶端配置

vi? /etc/chrony.conf

server 192.168.23.131 iburst

重啟服務:systemctl restart chronyd

客戶端同步時間: chronyc sources -v?

1.3其它操作參數優化

??略,這里重點數據守護手工搭建過程。

2各節點安裝數據庫軟件

2.1每個節點創建用戶和組

groupadd ??dinstall

useradd -g dinstall dmdba

echo "HUN_xx202x" | passwd --stdin dmdba

2.2 每個節點安裝達夢數據庫軟件

以主機dm1示例說明:

[root@dm1 ~]#mkdir /dmsoft ?/opt/dmdbms??/data/dmarch

上傳安裝包到/dmsoft目錄

[root@dm1 ~]# chown -R dmdba:dinstall /opt/dmdbms?/data/dmarch

[root@dm1 ~]# cd /dmsoft

[root@dm1 dmsoft]# mount -o loop dm8.iso ?/mnt

[root@dm1 dmsoft]# su ?- dmdba

[dmdba@dm1 ~]$ cd /mnt

[dmdba@dm1 mnt]$ ./DMInstall.bin -i?

過程中選擇安裝目錄:請選擇安裝目錄 [/home/dmdba/dmdbms]:/opt/dmdbms

最后執行root執行/opt/dmdbms/script/root/root_installer.sh

3在主機dm1(主庫機)操作

3.1初始化數據庫實例

[dmdba@]$./dminit path=/data/dmdata??page_size=32 extent_size=32 port_num=5237?charset=1 ?log_size=1024 SYSDBA_PWD=HUN_admin2025 SYSAUDITOR_PWD=HUN_admin2025

主機dm1上注冊數據庫服務

[root@dm1 ~]# bash /opt/dmdbms/script/root/dm_service_installer.sh ?-t dmserver -dm_ini ?/data/dmata/DAMENG/dm.ini ?-p DAMENG

[root@dm1 ~]# systemctl enable ?DmServiceDAMENG.service

[root@dm1 ~]# systemctl start ?DmServiceDAMENG.service

3.2啟動數據庫,配置歸檔

[dmdba@dm1 bin]$ disql SYSDBA/自定義的pwd@localhost:5237

SQL> ALTER DATABASE MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST =/data/dmarch, TYPE = local, FILE_SIZE = 1024,SPACE_LIMIT = 4096';

SQL> ALTER DATABASE OPEN;

3.3對主庫進行聯機備份

SQL> BACKUP DATABASE BACKUPSET 'backup_dbfull_01';

SQL> SELECT BACKUP_NAME,BEGIN_LSN FROM V$backupset;

默認的備份路徑操作系統/data/dmdata/DAMENG/bak/。

查看數據庫魔數:select db_magic;

查看數據庫唯一魔數:select permanent_magic;

3.4拷貝主庫備份到備機

[dmdba@dm1 ~]$scp -r /data/dmdata/DAMENG/bak/backup_dbfull_01?192.168.23.130:/data/dmdata/DAMENG/bak/

4在主機dm2(備庫機)操作

4.1初始化數據庫實例后啟動后再關閉

[dmdba@]$./dminit path=/data/dmdata/??page_size=32 extent_size=32 port_num=5237 charset=1 ?log_size=2048 SYSDBA_PWD=自定義?SYSAUDITOR_PWD=自定義

[dmdba@]$./dmserver ?/data/dmdata/DAMENG/dm.ini

4.2 dmrman還原恢復

[dmdba@dm2 ~]$ll /data/dmdata/DAMENG/bak/

[dmdba@dm2 bin]$ ./dmrman

RMAN> RESTORE DATABASE '/data/dmdata/DAMENG/dm.ini' REUSE DMINI ?FROM BACKUPSET '/data/dmdata/DAMENG/bak/backup_dbfull_01';

RMAN> RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini'?FOR STANDBY?FROM BACKUPSET '/data/dmdata/DAMENG/bak/backup_dbfull_01';

RMAN> RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC ;

5在主機dm1(主庫機)操作

5.1配置dm.ini

SP_SET_PARA_VALUE (2,'PORT_NUM',5237);

SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);

SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);

SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);

SP_SET_PARA_VALUE (2,'MAL_INI',1);

SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

或者修改dm.in文件

##實例名,使用“組名_守護環境_序號”命名方式,總長度不能超過16

INSTANCE_NAME = GRP1_DW_01

PORT_NUM = 5237???????????##數據庫實例監聽端口

DW_INACTIVE_INTERVAL = 60 ##接收守護進程消息超時時間

ALTER_MODE_STATUS = 0 ????##不允許手工方式修改實例模式/狀態/OGUID

ENABLE_OFFLINE_TS = 2 ????##不允許備庫OFFLINE表空間

MAL_INI = 1 ??????????????##打開MAL系統

ARCH_INI = 1 ?????????????##打開歸檔配置

RLOG_SEND_APPLY_MON = 64 ?##統計最近64次的日志發送信息

然后關閉數據庫實例

SQL> shutdown immediate;

或者

[root@dm1 ~]# systemctl stop ?DmServiceDAMENG.service

5.2配置dmmal.ini

配置MAL系統,各主備庫的dmmal.ini配置必須完全一致

MAL_CHECK_INTERVAL = 10?????##MAL鏈路檢測時間間隔,單位秒(s)

MAL_CONN_FAIL_INTERVAL = 10????##判定實例之間?MAL鏈路斷開的時間

MAL_TEMP_PATH = /data/dmdata/DAMENG

MAL_BUF_SIZE= 512

MAL_SYS_BUF_SIZE= 2048

MAL_COMPRESS_LEVEL= 0

[MAL_INST1]

?MAL_INST_NAME = GRP1_DW_01 ??##實例名,和dm.ini中的INSTANCE_NAME一致

?MAL_HOST = 192.168.23.129??##MAL系統監聽TCP連接的IP地址

?MAL_PORT = 65237???????????##?MAL監聽端口,用于創建MAL鏈路

?MAL_INST_HOST = 192.168.23.129 ?##數據庫實例的對外服務IP地址

???MAL_INST_PORT = 5237???##數據庫實例對外服務端口,和dm.ini中PORT_NUM一致

?MAL_DW_PORT = 55237???##守護進程監聽端口

?MAL_INST_DW_PORT = 35237??##實例監聽守護進程的端口

[MAL_INST2]

?MAL_INST_NAME = GRP1_DW_02

?MAL_HOST = 192.168.23.130

?MAL_PORT = 65237

?MAL_INST_HOST = 192.168.23.130

?MAL_INST_PORT = 5237

?MAL_DW_PORT = 55237

?MAL_INST_DW_PORT = 35237

5.3配置dmarch.ini

ARCH_WAIT_APPLY = 1

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL ?????##本地歸檔類型

ARCH_DEST = /data/dmarch?????????##本地歸檔文件存放路徑

ARCH_FILE_SIZE = 1024?????##單位Mb,本地單個歸檔文件最大值

ARCH_SPACE_LIMIT =4096????##單位Mb,0表示無限制,范圍1024~2147483647M

[ARCHIVE_REALTIME1]

WAIT_APPLY=1

ARCH_TYPE = REALTIME ???????????????##實時歸檔類型

ARCH_DEST = GRP1_DW_02 ?????????????##實時歸檔目標實例名

5.4配置 dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL ?????##全局守護類型

DW_MODE = AUTO ??????##自動切換模式

DW_ERROR_TIME = 60 ?????##遠程守護進程故障認定時間

INST_RECOVER_TIME = 60 ????##主庫守護進程啟動恢復的間隔時間

INST_ERROR_TIME = 60 ????##本地實例故障認定時間

INST_OGUID = 20250507????##守護系統唯一OGUID值

INST_INI =/data/dmdata/DAMENG/dm.ini??##dm.ini配置文件路徑

INST_AUTO_RESTART = 1 ????##打開實例的自動啟動功能

INST_STARTUP_CMD =/opt/dmdbms/bin/DmServiceDAMENG start?##命令行方式啟動

RLOG_SEND_THRESHOLD = 0 ???##指定主庫發送日志到備庫的時間閾值,默認關閉

RLOG_APPLY_THRESHOLD = 0 ???##指定備庫重演日志的時間閾值,默認關閉

5.5修改OGUIDPrimary模式

##以Mount方式啟動主庫

[dmdba@dm1 bin]$dmserver /data/dmdata/DAMENG/dm.ini mount

##啟動命令行工具disql登錄主庫設置OGUID值、修改數據庫為Primary模式

[dmdba@dm1 bin]$ ./disql ?sysdba/HUN_admin2025@localhost:5237

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(20250507);

ALTER DATABASE PRIMARY;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

6在主機dm2(備庫機)操作

6.1配置dm.ini

##實例名,建議使用“組名_守護環境_序號”的命名方式,總長度不能超過16

INSTANCE_NAME = GRP1_DW_02?

PORT_NUM = 5237???????????##數據庫實例監聽端口

DW_INACTIVE_INTERVAL = 60 ##接收守護進程消息超時時間

ALTER_MODE_STATUS = 0 ????##不允許手工方式修改實例模式/狀態/OGUID

ENABLE_OFFLINE_TS = 2 ????##不允許備庫OFFLINE表空間

MAL_INI = 1 ??????????????##打開MAL系統

ARCH_INI = 1 ?????????????##打開歸檔配置

RLOG_SEND_APPLY_MON = 64??##統計最近64次的日志發送信息

6.2配置dmmal.ini

各主備庫的dmmal.ini配置必須完全一致。

MAL_CHECK_INTERVAL = 10?????##MAL鏈路檢測時間間隔,單位秒(s)

MAL_CONN_FAIL_INTERVAL = 10????##判定實例之間?MAL鏈路斷開的時間

MAL_TEMP_PATH = /data/dmdata/DAMENG

MAL_BUF_SIZE= 512

MAL_SYS_BUF_SIZE= 2048

MAL_COMPRESS_LEVEL= 0

[MAL_INST1]

?MAL_INST_NAME = GRP1_DW_01 ??##實例名,和dm.ini中的INSTANCE_NAME一致

?MAL_HOST = 192.168.23.129??##MAL系統監聽TCP連接的IP地址

?MAL_PORT = 65237???????????##?MAL監聽端口,用于創建MAL鏈路

?MAL_INST_HOST = 192.168.23.129 ?##數據庫實例的對外服務IP地址

???MAL_INST_PORT = 5237???##數據庫實例對外服務端口,和dm.ini中PORT_NUM一致

?MAL_DW_PORT = 55237???##守護進程監聽端口

?MAL_INST_DW_PORT = 35237??##實例監聽守護進程的端口

[MAL_INST2]

?MAL_INST_NAME = GRP1_DW_02

?MAL_HOST = 192.168.23.130

?MAL_PORT = 65237

?MAL_INST_HOST = 192.168.23.130

?MAL_INST_PORT = 5237

?MAL_DW_PORT = 55237

?MAL_INST_DW_PORT = 35237

6.3配置dmarch.ini

ARCH_WAIT_APPLY = 1

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL ?????##本地歸檔類型

ARCH_DEST = /data/dmarch?????????##本地歸檔文件存放路徑

ARCH_FILE_SIZE = 1024?????##單位Mb,本地單個歸檔文件最大值

ARCH_SPACE_LIMIT =4096????##單位Mb,0表示無限制,范圍1024~2147483647M

[ARCHIVE_REALTIME1]

WAIT_APPLY=1

ARCH_TYPE = REALTIME ???????????????##實時歸檔類型

ARCH_DEST = GRP1_DW_01??????????????##實時歸檔目標實例名

6.4配置dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL ?????##全局守護類型

DW_MODE = AUTO ??????##自動切換模式

DW_ERROR_TIME = 60 ?????##遠程守護進程故障認定時間

INST_RECOVER_TIME = 60 ????##主庫守護進程啟動恢復的間隔時間

INST_ERROR_TIME = 60 ????##本地實例故障認定時間

INST_OGUID = 20250507????##守護系統唯一OGUID值

INST_INI =/data/dmdata/DAMENG/dm.ini??##dm.ini配置文件路徑

INST_AUTO_RESTART = 1 ????##打開實例的自動啟動功能

INST_STARTUP_CMD =/opt/dmdbms/bin/DmServiceDAMENG start?##命令行方式啟動

RLOG_SEND_THRESHOLD = 0 ???##指定主庫發送日志到備庫的時間閾值,默認關閉

RLOG_APPLY_THRESHOLD = 0 ???##指定備庫重演日志的時間閾值,默認關閉

6.5修改OGUIDstandby模式

以mount方式啟動備庫

[dmdba@dm2?bin]$dmserver /data/dmdata/DAMENG/dm.ini mount

備庫修改oguid和數據庫模式

[dmdba@dm2?bin]$ ./disql ?sysdba/HUN_admin2025@localhost:5237

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(20250507);

alter database standby; ?

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

7在主機mon配置監視器

vi /opt/dmdbms/dmmonitorGRP1.ini

MON_DW_CONFIRM = 1 ????????##確認模式

MON_LOG_PATH =/opt/dmdbms/log ???##監視器日志文件存放路徑

MON_LOG_INTERVAL = 60 ???????##每隔60s定時記錄系統信息到日志文件

MON_LOG_FILE_SIZE = 32 ???????##每個日志文件最大32M

MON_LOG_SPACE_LIMIT = 0 ??????##不限定日志文件總占用空間

[GRP1]

MON_INST_OGUID = 20250507 ????????##組GRP1的唯一OGUID值

MON_DW_IP = 192.168.23.129:55237??##IP和PORT信息和dmmal.ini中的MAL_HOST和MAL_DW_PORT配置項一致

MON_DW_IP = 192.168.23.130:55237??

8主機dm1和主機dm2上注冊守護進程并啟動

(1)dm1主庫上注冊守護進程服務并啟動

[root@dm1 ~]# bash /opt/dmdbms/script/root/dm_service_installer.sh ?-t dmwatcher?-watcher_ini??/data/dmdata/DAMENG/dmwatcher.ini ?-p GRP1

--如果需要卸載服務

bash /opt/dmdbms/script/root/dm_service_uninstaller.sh ?-n DmWatcherServiceGRP1

[root@dm1 ~]# systemctl enable ?DmWatcherServiceGRP1

[root@dm1 ~]# systemctl start ?DmWatcherServiceGRP1

(2)dm2備庫上注冊數據庫服務

[root@dm2 ~]# bash /opt/dmdbms/script/root/dm_service_installer.sh ?-t dmserver -dm_ini ?/data/dmdata/DAMENG/dm.ini ?-p DAMENG

[root@dm2 ~]# systemctl enable ?DmServiceDAMENG.service

(3)dm2備庫上注冊守護進程服務并啟動

[root@dm2 bin]# bash /opt/dmdbms/script/root/dm_service_installer.sh ?-t dmwatcher -watcher_ini ?/data/dmdata/DAMENG/dm.ini??-p GRP1

[root@dm2 ~]# systemctl enable ?DmWatcherServiceGRP1

[root@dm2 ~]# systemctl start ??DmWatcherServiceGRP1

--如果需要調試時手動啟動方式

./dmwatcher ??/opt/dmdbms/data/DAMENG/dmwatcher.ini

9監視機上注冊監視器服務并啟動

[root@mon ~]# bash /opt/dmdbms/script/root/dm_service_installer.sh ?-t dmmonitor?-monitor_ini??/opt/dmdbms/dmmonitorGRP1.ini ?-p GRP1

[root@mon ~]# systemctl enable ?DmMonitorServiceGRP1

調試時手動啟動

./dmmonitor ?/opt/dmdbms/dmmonitorGRP1.ini

監視機上先非確認監視器命令查看

[dmdba@mon ~]#cp /opt/dmdbms/dmmonitor.ini /opt/dmdbms/dmmonitorGRP1s.ini

[dmdba@mon ~]#vi /opt/dmdbms/dmmonitors.ini

MON_DW_CONFIRM = 0

[dmdba@mon bin]$dmmonitor ?/opt/dmdbms/dmmonitorGRP1s.ini

確認狀態無誤后,啟動確認監視器

[root@mon ~]# systemctl start ??DmMonitorServiceGRP1

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

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

相關文章

AUTOSAR進階圖解==>AUTOSAR_SRS_OCUDriver

AUTOSAR OCU驅動程序詳解 AUTOSAR標準輸出比較單元驅動程序架構與實現分析目錄 1. 概述 1.1 OCU驅動程序簡介1.2 功能概述 2. OCU驅動程序架構 2.1 架構圖2.2 層次結構 3. OCU驅動程序組件設計 3.1 組件圖3.2 接口定義 4. OCU驅動程序狀態管理 4.1 狀態圖4.2 狀態轉換 5. OCU驅…

InfluxDB 與 HTTP 協議交互進階(一)

引言 在當今數字化時代,數據處理的高效性和準確性成為了眾多領域關注的焦點。InfluxDB 作為一款開源的時序數據庫,憑借其高性能、易擴展等特性,在時間序列數據處理中占據了重要地位。而 HTTP 協議作為互聯網應用層的核心協議之一&#xff0c…

NAS遠程訪問新解法:OMV與cpolar的技術協同價值

文章目錄前言1. OMV安裝Cpolar2. 配置FTP公網地址3. OMV FTP 配置4. OMV FTP遠程連接前言 當家庭存儲需求突破本地邊界時,傳統NAS方案往往陷入"連接困境":復雜的端口轉發配置、高昂的公網IP成本、以及始終存在的安全顧慮…開源解決方案OMV雖然…

vue 渲染 | 不同類型的元素渲染的方式(vue組件/htmlelement/純 html)

省流總結&#xff1a;&#xff08;具體實現見下方&#xff09; vue 組件 ——》<component :is組件名> htmlelement 元素 ——》 ref 、★ v-for ref 或是 ★ vue 的 nextTick 純 html 結構——》v-html 另外&#xff0c;當數據異步加載時&#xff0c;vue3中如何渲…

Charles中文版深度解析,輕松調試API與優化網絡請求

在現代軟件開發過程中&#xff0c;調試API、捕獲HTTP/HTTPS流量以及優化網絡性能是開發者不可避免的挑戰。特別是在處理復雜的網絡請求和驗證API接口的數據傳輸準確性時&#xff0c;開發者需要一款強大且易于使用的工具。Charles抓包工具憑借其功能強大、界面簡潔、易于操作的特…

【CF】Codeforces Round 1039 (Div. 2) E1 (二分答案求中位數)

E1. Submedians (Easy Version)題目&#xff1a;思路&#xff1a;經典不過加了點東西對于求中位數&#xff0c;我們必然要想到二分答案&#xff0c;具體的&#xff0c;對于所有大于等于 x 的數我們令其奉獻為 1&#xff0c;小于的為 -1&#xff0c;如果存在某段區間的奉獻和大于…

ESP32-S3學習筆記<8>:LEDC的應用

ESP32-S3學習筆記&#xff1c;8&#xff1e;&#xff1a;LEDC的應用1. 頭文件包含2. LEDC的配置2.1 配置定時器2.1.1 speed_mode/設置速度模式2.1.2 duty_resolution/設置占空比分辨率2.1.3 timer_num/選擇定時器2.1.4 freq_hz/設定PWM頻率2.1.5 clk_cfg/選擇LEDC的外設時鐘源2…

網絡安全第14集

前言&#xff1a;小迪安全14集&#xff0c;這集重點內容&#xff1a;0、什么是js滲透測試&#xff1f;在javascript中也存在變量和函數&#xff0c;存在可控變量和函數就有可能存在在漏洞&#xff0c;js開發的web應用和php、java開發的區別是&#xff0c;js能看得到的源代碼&am…

代碼隨想錄算法訓練營第三十三天

LeetCode.62 不同路徑 題目鏈接 不同路徑 題解 class Solution {public int uniquePaths(int m, int n) {// dp表示到達ij有多少條路徑int[][] dp new int[110][110];dp[1][1] 1;for(int i 0;i<m;i){dp[i][0] 1;}for(int j 0;j<n;j){dp[0][j] 1;}for(int i 1;i…

銀行回單OCR識別技術原理

銀行回單OCR&#xff08;光學字符識別&#xff09;技術通過結合圖像處理、模式識別和自然語言處理&#xff08;NLP&#xff09;技術&#xff0c;將紙質或電子版銀行回單中的非結構化文本&#xff08;如賬號、金額、日期等&#xff09;轉化為結構化數據。以下是其核心原理和關鍵…

Day22-二叉樹的迭代遍歷

昨天學習了遞歸遍歷&#xff1a;遞歸就是一次次的把參數壓入棧中&#xff0c;然后返回的時候還是上一次遞歸保存的參數。今天學習迭代遍歷。迭代遍歷就是用棧去模擬保存二叉樹的節點&#xff0c;然后依次去遍歷&#xff0c;只不過要注意棧的后入先出的規則。前序遍歷&#xff1…

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出 flyfish import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np# 設置中文字體支持 plt.rcParams["font.family"] [AR PL UMing CN] # Linux plt.rcParams[axes.uni…

Java研學-RabbitMQ(三)

一 消息通信協議 1 AMQP AMQP 是一個開放的、跨語言、跨平臺的消息協議標準&#xff0c;用于在分布式系統中傳遞業務消息。它定義了消息隊列的二進制協議格式和交互模型&#xff08;如交換機、隊列、綁定等&#xff09;&#xff0c;確保不同語言&#xff08;Java、Python、C#等…

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求以下是 http.client 模塊的詳細使用教程&#xff0c;幫助你理解如何使用 Python 標準庫發送 HTTP 請求&#xff1a;1. http.client 概述http.client 是 Python 內置的 HTTP 客戶端庫&#xff0c;提供了底層的 HTTP 協議實…

Android-三種持久化方式詳解

持久化技術分為3種&#xff0c;文件&#xff0c;sharedPreferences存儲&#xff0c;數據庫來存儲&#xff1b; 目錄 文件存儲&#xff1a; 利用SharedPreferences中讀取數據 SQLite創建數據庫 更新 添加 刪除 查找&#xff1a; 文件存儲&#xff1a; 文件存儲是 Andr…

并發安全之鎖機制一

鎖機制一 鎖機制是計算機系統中解決并發沖突的核心工具&#xff0c;其存在和應用場景源于一個根本問題&#xff1a;當多個執行單元&#xff08;線程、進程、分布式節點&#xff09;同時訪問或修改同一份共享資源時&#xff0c;如何保證數據的正確性、一致性和系統可靠性&#x…

結合項目闡述 設計模式:單例、工廠、觀察者、代理

原文鏈接&#xff1a;https://download.csdn.net/blog/column/12433305/133862792#_1613 1、工廠模式應用 C17及之后可編譯 /*日志落地模塊的實現1.抽象落地基類2.派生子類&#xff08;根據不同落地方向進行派生&#xff09;3.使用工廠模式進行創建與表示的分離 */#ifndef _…

uniapp 更新apk有緩存點不動,卸載安裝apk沒有問題。android

方式一。pages.json&#xff1a;"globalStyle" : {"navigationBarTextStyle" : "black","navigationBarTitleText" : "uni-app","navigationBarBackgroundColor" : "#F8F8F8","backgroundColor&qu…

HTML響應式SEO公司網站源碼

核心優勢 100%純HTML/CSS開發自動適配手機/平板/PC內置SEO優化結構0.5秒極速加載 包含頁面 ? 首頁&#xff08;關鍵詞布局優化版&#xff09; ? 服務項目展示頁 ? 客戶案例庫 ? 新聞資訊系統 ? 聯系方式&#xff08;帶地圖API&#xff09; 技術參數 兼容Chrome/Firefo…

Error: llama runner process has terminated: exit status 2

我是i7 12700h ,3080顯卡&#xff0c;在 Windows 11 上運行 ollama run deepseek-r1:1.5b 出現 Error: llama runner process has terminated: exit status 2 之前是好用的&#xff0c;后來不知為什么就不好用了。 原因&#xff1a; 檢查 Microsoft Visual C Redistributab…