藍綠部署的起源
藍綠部署的靈感起源於 “海騰”(海豚),海豚是永遠不睡覺的,這是因爲海豚有兩個腦子,左腦和右腦,平時的時候左腦和右腦都在工作,而在休息的時候右腦是運作的以防止被攻擊。
Kong的藍綠部署簡述
“藍綠“是指藍色環境和綠色環境,業務開始運行在藍色環境,當要上新版本的時候,會把新版本更新在綠色環境並進行測試,確定沒問題後,會把業務切換到綠色環境。依次類推,再有新版本的時候,就更新藍色環境,然後業務切換到藍色環境。
我理解的可能有問題,可以留言或者進羣大家一起討論
操作步驟
假設業務剛開始,我們創建一個藍色環境:
- 創建upstream
upstreams/ POST
{
"name":"xjj.test.com"
}
- 創建target
/upstreams/aab0d933-e0c8-4034-a4f1-4c1954567cff/targets
{
"target":"172.16.0.92:8899"
}
- aab0d933-e0c8-4034-a4f1-4c1954567cff 這個是第一步創建的upstream的id
- 172.16.0.92:8899 這個是我自己寫的一個服務的ip和端口
- 創建service
/services/ POST
{
"name": "xjj.test.com",
"protocol":"http",
"host":"xjj.test.com",
"path":"/",
"read_timeout":6000
}
- 創建路由
/routes/ POST
{
"protocols": ["http"],
"methods": ["GET"],
"paths": ["/"],
"service":{"id":"6a74901b-a7ab-4924-af49-215b73c6c801"}
}
- 6a74901b-a7ab-4924-af49-215b73c6c801這個是上面創建的service的id
目前的流程是:
- 測試一下服務
現在服務要升級了, 我們創建綠色環境
- 創建upstreams
/upstreams/ POST
{
"name":"xjj.v2.test.com"
}
- 創建target
/upstreams/426362c1-e6eb-4542-9a33-931902718249/targets POST
{
"target":"172.16.0.92:8810"
}
- 426362c1-e6eb-4542-9a33-931902718249新創建的upstream的ID
- 172.16.0.92:8810 新版本的服務
- 切換到綠色環境
services/6a74901b-a7ab-4924-af49-215b73c6c801 PATCH
{
"name": "xjj.test.com",
"protocol":"http",
"host":"xjj.v2.test.com",
"path":"/",
"read_timeout":6000
}
- 訪問測試
- 現在的流程是:
先寫到這裏了,有問題進QQ羣630300475