A. 學習java需要什麼基礎
想通過自學掌握這門語言,這顯然是不太現實的,
Java的奧妙之深,之復雜是很難衡量的,
而無論是網路上的Java教學視頻,還是書本里的知識都有一個循序漸進的過程,
學會一步後才能了解下一步,
如果問Java在沒有任何基礎的情況下自學多久能掌握,答案是很難學好。
學java不難,主要是有人帶你,跟著項目走那才能進步得快,才能入門,
否則自己學的不僅慢,而且不得重點。
而且這個行業已經人滿為患了,初級的已經不好找了,只能盡人事看天命了!
我個人的建議是,一定要有一個能指導你的人,能到專業的學校學會更好,
不能都靠自己閉門造車,這樣的行為並不聰明,
結識一位這方面的人才,時不時去問問人家問題,
不然你可能會發現一個小問題能困擾你一天,最後還不知道是什麼原因。
其實也可以去電腦學校參觀學習,多比較哈
B. linux常用埠號(1)
1.FTP:文件傳輸協議
協議名:FTP
軟體名:vsftpd
FTP埠:控制埠 21/TCP 數據埠:20/TCP
FTP默認埠號為21/tcp
TFTP 默認埠號為69/UDP
2.SSH (安全登錄),SCP(文件傳輸),埠號重定向,默認的埠號為22/TCP
SSH是少數被許可穿越防火牆的協議之一。通常的做法是不限制出站的SSH連接,而入站的SSH連接通常會限制到一台或者少數幾台伺服器上。
3.Telnet使用23埠:Telnet是一種遠程登錄的埠,用戶可以以自己的身份遠程連接到計算機上,通過這種埠可以提供一種基於DOS模式下的通信服務。
4.NFS(網路文件系統):讓網路上的不同Linux/UNIX系統及其實現文件共享
NFS本身只是一種文件系統,沒有提供文件傳輸的功能,但卻能讓我們文件共享,原因在於NFS使用RPC服務,用到NFS的地方需要啟動RPC服務,無論是NFS客戶端還是服務端。
NFS和RPC的關系:NFS是一個文件系統,負責管理分享的目錄,RPC負責文件的傳遞。
NFS啟動時至少有RPC.NFSD和RPC.mountd,2個daemon
rpc.nfsd主要管理客戶機登錄NFS伺服器時,判斷客戶機是否能登錄,和客戶機ID信息。
rpc.mountd主要管理nfs的文件系統,當客戶機順利登錄NFS伺服器時,會去讀/etc/exports文件中的配置,然後去對比客戶機的許可權。
協議使用埠:
RPC: 111 TCP/UDP
NFSD: 2049 TCP/UDP
mountd: RPC服務在NFS服務啟動時默認會為mountd動態選取一個隨機埠(32768--65535)來進行通訊,可以在/etc/nfsmount.conf文件中指定mount的埠。
5.NTP (網路時間協議)
他的目的是國際互聯網上傳遞統一,標準的時間。
NTP同時同步指的是通過網路的NTP協議和時間源進行時間校準,前提條件,事件源輸出必須通過網路介面,數據輸出格式必須符合NTP協議。
區域網內所有的PC,伺服器和其他設備通過網路與時間伺服器保持同步,NTP協議自動判斷網路延時,並給得到的數據進行時間補償,從而使區域網內設備時間保持統一標准。
埠: 123/UDP
6.DNS 域名系統
該系統用於命名組織到域層次結構中的計算機和網路服務。
在Internel上域名和IP地址是一一對應的,域名雖然便於人們記憶,但機器之間只能互相認識IP地址,他們之間的轉換工作稱為域名解析,域名解析需要專門的域名解析伺服器來完成。
DNS運行在UDP協議之上,使用埠號53.
在傳輸層TCP提供端到端可靠的服務,在UDP端提供盡力而為的服務,其控制埠作用於UDP埠53.
UDP53: 解析客戶端的域名用UDP(速度快)
TCP53 主從用(安全性較高)
7.PHP-FPM是一個PHPFastCGI
默認埠:9000/TCP
8.SMTP: 是一種提供可靠且有效電子郵件傳輸協議。SMTP是建模在FTP文件傳輸服務上的一種郵件服務,主要用於傳輸系統之間的郵件信息並提供來信相關的通知
SMTP: 埠號:25 /TCP 發郵件
POP3: 埠號:TCP/25 收郵件
IMAP4 埠號: TCP/143 用來提供發郵件支持附件用的。
9.Samba:
137(UDP) , 138(UDP)
139(TCP) , 445(TCP) 提供文件共享功能
137udp,138udp提供ip地址到主機名解析的功能
901(TCP)
10.Mycat
代替昂貴的Oracle的MySQL集群中間件
默認埠8066連接Mycat
9066管理埠
C. MySQL Mycat 分布式架構
參考: https://www.jianshu.com/p/5e0062f6cf62
圖中是兩組分片,紅色我們稱為shard1,藍色我們稱為shard2
51 52是伺服器
兩個3307互為主從(雙主),3309是本地3307的從庫
說明:沒有明確說明是只在某一個節點上做的,就是兩個節點都做
兩台虛擬機 db01 db02
每台創建四個mysql實例:3307 3308 3309 3310
mysql軟體我們之前已完成二進制安裝,直接初始化即可
我們server-id規劃為:db01上是7/8/9/10,db02上是17/18/19/20
"箭頭指向誰是主庫"
10.0.0.51:3307 <-----> 10.0.0.52:3307
10.0.0.51:3309 ------> 10.0.0.51:3307
10.0.0.52:3309 ------> 10.0.0.52:3307
兩個分片,每個分片四個mysql節點
shard1:
Master:10.0.0.51:3307
slave1:10.0.0.51:3309
Standby Master:10.0.0.52:3307
slave2:10.0.0.52:3309
shard2:
Master:10.0.0.52:3308
slave1:10.0.0.52:3310
Standby Master:10.0.0.51:3308
slave2:10.0.0.51:3310
shard1
10.0.0.51:3307 <-----> 10.0.0.52:3307
db02
db01
db02
10.0.0.51:3309 ------> 10.0.0.51:3307
db01
10.0.0.52:3309 ------> 10.0.0.52:3307
db02
shard2
10.0.0.52:3308 <-----> 10.0.0.51:3308
db01
db02
db01
10.0.0.52:3310 -----> 10.0.0.52:3308
db02
10.0.0.51:3310 -----> 10.0.0.51:3308
db01
這個復制用戶在誰上建都行
註:如果中間出現錯誤,在每個節點進行執行以下命令
常見方案:
360 Atlas-Sharding 360
Alibaba cobar 阿里
Mycat 開源
TDDL 淘寶
Heisenberg 網路
Oceanus 58同城
Vitess 谷歌
OneProxy
DRDS 阿里雲
我們裝的是openjdk,不是官方的那個
Mycat-server-xxxxx.linux.tar.gz
http://dl.mycat.io/
配置環境變數
我們mycat的命令也是在bin目錄下
啟動
8066就是對外提供服務的埠,9066是管理埠
連接mycat:
默認123456
db01:
我們一般先把原schema.xml備份,然後自己新寫一個:
xml和html看起來差不多,xml是從下往上調用的
前三行我們不用看,直接從第四行schema開始看起:
定義了schema,然後以/schema結尾
為什麼要用邏輯庫?
業務透明化
此配置文件就是實現讀寫分離的配置
重啟mycat
讀寫分離測試
總結:
以上案例實現了1主1從的讀寫分離功能,寫操作落到主庫,讀操作落到從庫.如果主庫宕機,從庫不能在繼續提供服務了。
我們推薦這種架構
一寫三讀,
不設置雙寫的原因是:性能沒提升多少,反而引起主鍵沖突的情況
配置文件:
之後重啟:mycat restart
真正的 writehost:負責寫操作的writehost
standby writeHost :和readhost一樣,只提供讀服務
我們此處寫了兩個writehost,默認使用第一個
當寫節點宕機後,後面跟的readhost也不提供服務,這時候standby的writehost就提供寫服務,
後面跟的readhost提供讀服務
測試:
讀寫分離測試
對db01 3307節點進行關閉和啟動,測試讀寫操作
結果應為另一台(52)的3307(17)是寫,3309(19)是讀
一旦7號節點恢復,此時因為7落後了,寫節點仍是17
balance屬性
負載均衡類型,目前的取值有3種:
writeType屬性
負載均衡類型,目前的取值有2種:
switchType屬性
-1 表示不自動切換
1 默認值,自動切換
2 基於MySQL主從同步的狀態決定是否切換 ,心跳語句為 show slave status
datahost其他配置
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
maxCon="1000":最大的並發連接數
minCon="10" :mycat在啟動之後,會在後端節點上自動開啟的連接線程,長連接,好處是連接速度快,弊端是占內存
tempReadHostAvailable="1"
這個一主一從時(1個writehost,1個readhost時),可以開啟這個參數,如果2個writehost,2個readhost時
<heartbeat>select user()</heartbeat> 監測心跳
其他參數sqlMaxLimit自動分頁,必須在啟用分表的情況下才生效
創建測試庫和表:
我們重啟mycat後連接到8066
發現跟一個庫一樣,實際上已經分到不同的物理硬體上了
分片:對一個"bigtable",比如說t3表
熱點數據表 核心表
(1)行數非常多,800w下坡
(2)訪問非常頻繁
分片的目的:
(1)將大數據量進行分布存儲
(2)提供均衡的訪問路由
分片策略:
范圍 range 800w 1-400w 400w01-800w 不適用於業務訪問不均勻的情況
取模 mod (取余數) 和節點的數量進行取模
枚舉 按枚舉的種類分,如移動項目按省份分
哈希 hash
時間 流水
優化關聯查詢(否則join的表在不同分片上,效率會比單庫還要低)
全局表
ER分片
案例:移動統一:先拆出邊緣業務,再按地域分片,但對應用來說是統一的
vim rule.xml
<tableRule name="auto-sharding-long">
<rule>
<columns>id</columns>
<algorithm>rang-long</algorithm>
</rule>
<function name="rang-long"
class="io.mycat.route.function.AutoPartitionByLong">
<property name="mapFile">autopartition-long.txt</property>
</function>
===================================
vim autopartition-long.txt
0-10=0
11-20=1
創建測試表:
mysql -S /data/3307/mysql.sock -e "use taobao;create table t3 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t3 (id int not null primary key auto_increment,name varchar(20) not null);"
測試:
重啟mycat
mycat restart
mysql -uroot -p123456 -h 127.0.0.1 -P 8066
insert into t3(id,name) values(1,'a');
insert into t3(id,name) values(2,'b');
insert into t3(id,name) values(3,'c');
insert into t3(id,name) values(4,'d');
insert into t3(id,name) values(11,'aa');
insert into t3(id,name) values(12,'bb');
insert into t3(id,name) values(13,'cc');
insert into t3(id,name) values(14,'dd');
取余分片方式:分片鍵(一個列)與節點數量進行取余,得到余數,將數據寫入對應節點
vim schema.xml
<table name="t4" dataNode="sh1,sh2" rule="mod-long" />
vim rule.xml
<property name="count">2</property>
准備測試環境
創建測試表:
mysql -S /data/3307/mysql.sock -e "use taobao;create table t4 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t4 (id int not null primary key auto_increment,name varchar(20) not null);"
重啟mycat
mycat restart
測試:
mysql -uroot -p123456 -h10.0.0.52 -P8066
use TESTDB
insert into t4(id,name) values(1,'a');
insert into t4(id,name) values(2,'b');
insert into t4(id,name) values(3,'c');
insert into t4(id,name) values(4,'d');
分別登錄後端節點查詢數據
mysql -S /data/3307/mysql.sock
use taobao
select * from t4;
mysql -S /data/3308/mysql.sock
use taobao
select * from t4;
t5 表
id name telnum
1 bj 1212
2 sh 22222
3 bj 3333
4 sh 44444
5 bj 5555
sharding-by-intfile
vim schema.xml
<table name="t5" dataNode="sh1,sh2" rule="sharding-by-intfile" />
vim rule.xml
<tableRule name="sharding-by-intfile">
<rule> <columns>name</columns>
<algorithm>hash-int</algorithm>
</rule>
</tableRule>
<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
<property name="mapFile">partition-hash-int.txt</property>
<property name="type">1</property>
<property name="defaultNode">0</property>
</function>
partition-hash-int.txt 配置:
bj=0
sh=1
DEFAULT_NODE=1
columns 標識將要分片的表欄位,algorithm 分片函數, 其中分片函數配置中,mapFile標識配置文件名稱
准備測試環境
mysql -S /data/3307/mysql.sock -e "use taobao;create table t5 (id int not null primary key auto_increment,name varchar(20) not null);"
mysql -S /data/3308/mysql.sock -e "use taobao;create table t5 (id int not null primary key auto_increment,name varchar(20) not null);"
重啟mycat
mycat restart
mysql -uroot -p123456 -h10.0.0.51 -P8066
use TESTDB
insert into t5(id,name) values(1,'bj');
insert into t5(id,name) values(2,'sh');
insert into t5(id,name) values(3,'bj');
insert into t5(id,name) values(4,'sh');
insert into t5(id,name) values(5,'tj');
a b c d
join
t
select t1.name ,t.x from t1
join t
select t2.name ,t.x from t2
join t
select t3.name ,t.x from t3
join t
使用場景:
如果你的業務中有些數據類似於數據字典,比如配置文件的配置,
常用業務的配置或者數據量不大很少變動的表,這些表往往不是特別大,
而且大部分的業務場景都會用到,那麼這種表適合於Mycat全局表,無須對數據進行切分,
要在所有的分片上保存一份數據即可,Mycat 在Join操作中,業務表與全局表進行Join聚合會優先選擇相同分片內的全局表join,
避免跨庫Join,在進行數據插入操作時,mycat將把數據分發到全局表對應的所有分片執行,在進行數據讀取時候將會隨機獲取一個節點讀取數據。
vim schema.xml
<table name="t_area" primaryKey="id" type="global" dataNode="sh1,sh2" />
後端數據准備
mysql -S /data/3307/mysql.sock
use taobao
create table t_area (id int not null primary key auto_increment,name varchar(20) not null);
mysql -S /data/3308/mysql.sock
use taobao
create table t_area (id int not null primary key auto_increment,name varchar(20) not null);
重啟mycat
mycat restart
測試:
mysql -uroot -p123456 -h10.0.0.52 -P8066
use TESTDB
insert into t_area(id,name) values(1,'a');
insert into t_area(id,name) values(2,'b');
insert into t_area(id,name) values(3,'c');
insert into t_area(id,name) values(4,'d');
A
join
B
為了防止跨分片join,可以使用E-R模式
A join B
on a.xx=b.yy
join C
on A.id=C.id
<table name="A" dataNode="sh1,sh2" rule="mod-long">
<childTable name="B" joinKey="yy" parentKey="xx" />
</table>
D. 想做java開發,都要學什麼
首年的學java基礎,然後是資料庫,現在用的多的資料庫Oracle和Mysql。增刪改查是最基本的,最好sql調優也要會,然後就是前端的東西,html,css,js,jquery等,還有會一些前端框架,BootStrap,Vue,Vue是現在最火的前端框架,最好學一下。最後就是一些比較火的框架,持久層的Mybatis,Spring,SpringMvc等,現在很火的Springboot都要學,微服務治理框架SpringCloud。還有其他的一些技術,redis,Linux操作系統,es等。都學完了差不多就可以找工作了
E. linux操作系統中 cat /proc/devices /*cat,這個裡面的星號是什麼意思,加和不加有什麼區別
cat /proc/devices可以查到該目錄下所有掛在的軟硬體設備吧
/*cat 這個是不是你打錯什麼命令了,我還沒見過這個命令呢
*是所有操作系統中的通配符,就是可以匹配所有的內容。比如有下面四個詞:
中國人
中國
中華人民共和國
中國政府
這四個詞可以使用 中* 就可以全部匹配到!
F. linux下的 資料庫 有哪些
你要的全在下面:資料庫已經有4代了產品很多。
DBA課程更新內容大綱:
序章 DBA職業體系與資料庫產品趨勢
What is DBA?
DBA成長體系與職業方向(0-30W-50W-100W-???)
資料庫發展歷史,產品迭代趨勢與職業學習方向
第一部分 OLTP資料庫-MySQL(約1天)
MySQL基礎入門
MySQL資料庫簡介
什麼是資料庫?什麼是OLTP?
為什麼學習MySQL?MySQL產品迭代
一二線大廠MySQL主流版本功能使用與特性介紹(5.1,5.6,5.7,8.0)**獨家**
MySQL部署與管理體系
5.7,8.0版本企業規范部署,啟動
MySQL管理體系講解
MySQL產品架構分析與基礎管理
MySQL基礎架構解析(一條SQL是如何執行的)
MySQL啟動過程
MySQL連接的生命與使命
MySQL表結構實現原理
MySQL開發應用(約1.5天)
MySQL SQL基礎應用
聲明式式語言與SQL語言
SQL語言應用場景與sqlmode
MySQL開發工具選擇與使用
MySQL字元串類型與字元集
MySQL語句類型介紹(DDL,DCL,DML,DQL)
SQL之查詢基礎
SQL之聚合與排序
SQL之數據更新
SQL之復雜查詢
SQL之集合運算
MySQL SQL高級處理與開發
函數開發與應用
存儲過程,觸發器,事件
表分區管理及企業級應用場景
Online DDL解析與開源生態OPS
窗口函數講解及應用場景
MySQL JSON開發及應用
一二線大廠MySQL企業級開發規范詳解**獨家**
MySQL核心技術
MySQL InnoDB索引實現原理及執行計劃分析(約0.5天)
索引介紹
1. 索引的由來
2. 表和索引結構
3. 表聚簇與索引行
4. 錶行與索引組織表
MySQL索引介紹
InnoDB索引B+ tree的索引設計
聚簇索引與二級索引
InnDB索引插入過程
數據類型對索引應用的使用影響
執行計劃介紹及結果剖析
索引優化基礎實戰演練
企業級索引優化實戰案例(億萬級QPS的索引優化與索引上線)**獨家**
MySQL InnoDB存儲引擎技術內幕與深入講解(約1天)
Mysql存儲引擎介紹與功能特性
InnoDB引擎源代碼目錄結構與存儲引擎文件組織
InnoDB存儲引擎核心架構介紹及解析
InnoDB數據存儲結構
InnoDB事務詳解及ACID特性解析
InnoDB 日誌管理機制Undo與Redo
InnoDB事務與隔離級別
InnoDB MVCC及鎖機制
MySQL日誌管理與實戰(0.5)
General log詳解
Error log詳解
企業級Binary log with Data pipeline **獨家**
企業級Slowlog場景應用**獨家**
MySQL備份恢復與遷移(0.5)
備份工具介紹與使用場景解析
一二線大廠過萬數據節點備份策略**獨家**
一二線大廠Mysqlmp核心原理與企業級實戰演練**獨家**
一二線大廠Xtrabackup核心原理與企業級實戰演練**獨家**
Enterprise Backup企業級生態工具介紹與應用
MySQL主從復制深入(約1天)
主從復制簡介與簡單搭建
主從復制工作原理解析
主從數據一致性方案講解(半同步,全同步)
MySQL主從復制實戰
1. 延時復制
2. 過濾復制
3. 多源復制
MySQL GTID復制
企業級主從復制故障分析與處理方案
億級QPS MySQL節點故障轉移實戰案例**獨家**
MySQL高可用架構(1天)
一二線大廠過萬集群規模高可用架構MHA+BLB企業級實戰**獨家**
Mycat,DBLE企業級實戰
MySQL企業級優化與實戰(約1天)
打造高性能MySQL
企業級MySQL參數優化實戰**獨家**
企業級T0級別故障案例解析**獨家**
阿里雲資料庫產品(RDS與PolarDB)(選修二選一) (1天)
企業級RDS介紹,使用與故障案例(網路雲RDS 運維DBA分享或交流)**獨家**
企業級PolarDB業務場景解析(阿里團隊PolarDB P7交付架構師分享或交流)**獨家**
第二部分 NoSQL
Redis核心技術(2天)
Redis產品介紹與應用場景簡析
Redis安裝,部署,使用
Redis數據類型詳解與應用
Redis集群架構講解與實戰(哨兵,cluster)
千億級Redis集群參數優化實戰**獨家**
千億級企業級Redis核心案例講解與業務場景解析**獨家**
MongoDB核心技術(2天)
MongoDB產品介紹與應用場景簡析
MongoDB安裝,部署及架構解析
MongoDB數據類型與運維管理
MongoDB集群架構講解與實戰
企業級MongoDB參數優化實戰**獨家**
BAT千萬元級別故障案例分享**獨家**
ES核心技術(2天)
ES產品介紹與應用場景簡析
ES安裝,部署及架構解析
ES日常運維管理
第三部分 NewSQL(4天)
NewSQL-TiDB(僅學此一個+MySQL至少20K起步) TUG核心成員-PingCAP官方認證講師 **獨家**
TiDB產品介紹與分布式資料庫技術應用講解
TiDB集群部署與日常管理
TiDB集群監控詳解與指標應用
TiDB核心架構深入講解與Raft協議深入淺出**獨家*
企業級TiDB-DM理解與應用**獨家*
1. 58同城億級流量Mysql熱遷移TiDB**獨家**
2. DM集群多源同步復制場景最佳實踐(官方認證,業界唯二)**獨家**
TiDB企業級業務開發最佳實踐**獨家**
TiFllash核心架構講解與實戰**獨家**
TiDB打造HTAP實時數倉平台架構設計**獨家**
Cloud TiDB(K8S上雲實戰)**獨家**
TiDB4.0熱升級5.0集群(簡介:我司與Pingcap官方{開發30人,交付專家7人,項目經理4人}封閉測試與在線升級全案例解析6.23日項目完結,官方認證業界目前第一的業務場景與投入)
NewSQL-TDengine(1天 選修)
TDengine產品介紹
TDengine單機版與集群部署與管理
TDengine架構體系詳解
TDengine企業級參數優化與實戰
TDengine業務開發規范與業務場景實戰
第四部分 企業級大規模資料庫集群運維開發實戰(35W+年薪提升)**獨家**
數據運維產品架構設計思路(0.5天)
什麼是數據運維平台
企業級數據運維平台架構解析
數據運維平台企業級原型設計實戰(0.5天)
資料庫運維自動化工具開發(Shell,Python)(2天5選2,下期輪換)
MySQL億萬級流量運維平台開發
Redis億萬級流量運維平台開發
ES億萬級流量運維平台開發
MongoDB億萬級流量運維平台開發
TiDB億萬級流量運維平台開發
G. Mycat集群部署(高可用)
MyCat 官方推薦使用 HAProxy 做 MyCat 的高可用負載均衡代理。
HAProxy 是一款提供高可用性、負載均衡以及基於 TCP(第四層)和 HTTP(第七層)應用的代理軟體,支持虛擬主機,它是免費、快速並且可靠的一種解決方案。
MyCat 服務主機上需要開放檢測埠用來檢測 mycat 服務的狀態,提供給 HAProxy 對 MyCat 的服務狀態進行檢測判斷。
檢測 mycat 服務狀態以通過xinetd 來實現, 使得HAProxy 可以用 httpchk 來檢測 MyCat 的存活狀態。
1、安裝xinetd:
2、修改配置
檢查是否有includedir /etc/xinetd.d,如果沒有該配置需要加上:
3、檢查 /etc/xinetd.d 目錄
檢查是否有 /etc/xinetd.d 目錄,如果沒有該目錄需要加上:
4、配置存活狀態檢測
增加 MyCat 存活狀態檢測服務配置:
5、配置服務腳本
添加服務腳本/usr/local/bin/mycat_status:
6、添加可執行許可權
7、配置啟動服務
在 /etc/services 中加入 mycat_status 服務:
保存後重啟:
9、開放埠
MyCat 服務主機的防火牆上打開 48700 埠:
設置開機啟動:
[:[port]] 指定將客戶端連接請求發往此伺服器時的目標埠,此為可選項
[param*] 為此 server 設定的一系列參數,均為可選項,參數比較多,下面僅說明幾個常用的參數:
weight: 權重,默認為 1,最大值為 256, 0 表示不參與負載均衡
backup: 設定為備用伺服器,僅在負載均衡場景中的其他 server 均不可以啟用此 server;
check: 啟動對此 server 執行監控狀態檢查,其可以藉助於額外的其他參數完成更精細的設定;
inter: 設定監控狀態檢查的時間間隔,單位為毫秒,默認為 2000,
也可以使用 fastinter 和 downinter 來根據伺服器端專題優化此事件延遲
rise: 設置 server 從離線狀態轉換至正常狀態需要檢查的次數(不設置的情況下,默認值為 2);
fall: 設置 server 從正常狀態轉換至離線狀態需要檢查的次數(不設置的情況下,默認值為 3);
cookie: 為指定 server 設定 cookie 值,此處指定的值將會在請求入站時被檢查,第一次為此值挑選的 server 將會被後續的請求所選中,其目的在於實現持久連接的功能;
maxconn: 指定此伺服器接受的最大並發連接數,如果發往此伺服器的連接數目高於此處指定的值,其將被放置於請求隊列,以等待其他連接被釋放。
默認情況下 haproxy 是沒有日誌的,如果有需要則配置系統的 syslog, 也就是 linux 系統中的 rsyslog 服務。
修改配置
增加haproxy日誌配置文件
修改配置:
配置生效: