自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單幾步帶你看懂高可用的服務(wù)端架構(gòu)方案

開發(fā) 架構(gòu)
對(duì)于高可用、可擴(kuò)展、負(fù)載均衡的概念還是停留在概念的層面,沒有實(shí)際的理解。因此本文用以下幾步帶你快速看懂高可用的服務(wù)端架構(gòu)方案。

一、背景

很多公司都會(huì)有自己的一套高可用的服務(wù)端架構(gòu)方案,但作為測(cè)試人員,雖然測(cè)試了系統(tǒng)的很多功能,但是很多同學(xué)并不是很清楚服務(wù)端的整體架構(gòu)設(shè)計(jì)。對(duì)于高可用、可擴(kuò)展、負(fù)載均衡的概念還是停留在概念的層面,沒有實(shí)際的理解。因此本文用以下幾步帶你快速看懂高可用的服務(wù)端架構(gòu)方案。

二、服務(wù)端架構(gòu)方案

2.1 單機(jī)方案

1)瀏覽器通過(guò)DNS-server,域名解析到ip

2)瀏覽器通過(guò)ip訪問(wèn)web-server

缺點(diǎn):

1)非高可用,web-server掛了整個(gè)系統(tǒng)就掛了

2)擴(kuò)展性差,當(dāng)吞吐量達(dá)到web-server上限時(shí),無(wú)法擴(kuò)容

2.2 DNS輪詢方案

DNS輪詢:通過(guò)在DNS-server上對(duì)一個(gè)域名設(shè)置多個(gè)ip解析,來(lái)擴(kuò)充web-server性能及實(shí)施負(fù)載均衡的技術(shù)

1)多部署幾份web-server,1個(gè)tomcat抗1000,部署3個(gè)tomcat就能抗3000

2)在DNS-server層面,域名每次解析到不同的ip

優(yōu)點(diǎn):

1)零成本:在DNS-server上多配幾個(gè)ip即可,功能也不收費(fèi)

2)部署簡(jiǎn)單:多部署幾個(gè)web-server即可,原系統(tǒng)架構(gòu)不需要做任何改造

3)負(fù)載均衡:變成了多機(jī),但負(fù)載基本是均衡的

缺點(diǎn):

1)非高可用:DNS-server只負(fù)責(zé)域名解析ip,這個(gè)ip對(duì)應(yīng)的服務(wù)是否可用,DNS-server是不保證的,假設(shè)有一個(gè)web-server掛了,部分服務(wù)會(huì)受到影響

2)擴(kuò)容非實(shí)時(shí):DNS解析有一個(gè)生效周期

3)暴露了太多的外網(wǎng)ip

2.3 nginx方案

nginx:一個(gè)高性能的web-server和實(shí)施反向代理的軟件

1)站點(diǎn)層與瀏覽器層之間加入了一個(gè)反向代理層,利用高性能的nginx來(lái)做反向代理

2)nginx將http請(qǐng)求分發(fā)給后端多個(gè)web-server

優(yōu)點(diǎn):

1)DNS-server不需要?jiǎng)?/p>

2)負(fù)載均衡:通過(guò)nginx來(lái)保證

3)只暴露一個(gè)外網(wǎng)ip,nginx->tomcat之間使用內(nèi)網(wǎng)訪問(wèn)

4)擴(kuò)容實(shí)時(shí):nginx內(nèi)部可控,隨時(shí)增加web-server隨時(shí)實(shí)時(shí)擴(kuò)容

5)能夠保證站點(diǎn)層的可用性:任何一臺(tái)tomcat掛了,nginx可以將流量遷移到其他tomcat

缺點(diǎn):

1)時(shí)延增加+架構(gòu)更復(fù)雜了:中間多加了一個(gè)反向代理層

2)反向代理層成了單點(diǎn),非高可用

2.4 keepalived方案

keepalived:一款用來(lái)檢測(cè)服務(wù)狀態(tài)存活性的軟件,常用來(lái)做高可用

1)做兩臺(tái)nginx組成一個(gè)集群,分別部署上keepalived,設(shè)置成相同的虛IP,保證nginx的高可用

2)當(dāng)一臺(tái)nginx掛了,keepalived能夠探測(cè)到,并將流量自動(dòng)遷移到另一臺(tái)nginx上,整個(gè)過(guò)程對(duì)調(diào)用方透明

優(yōu)點(diǎn):

1)解決了高可用的問(wèn)題

缺點(diǎn):

1)資源利用率只有50%

2)nginx仍然是接入單點(diǎn)

2.5 LVS/F5方案

LVS:Linux Virtual Server,使用集群技術(shù),實(shí)現(xiàn)在linux操作系統(tǒng)層面的一個(gè)高性能、高可用、負(fù)載均衡服務(wù)器

F5:一個(gè)高性能、高可用、負(fù)載均衡的硬件設(shè)備

1)可以通過(guò)lvs來(lái)擴(kuò)展多個(gè)nginx

2)通過(guò)keepalived+VIP的方案可以保證可用性

優(yōu)點(diǎn):

1)解決了nginx是單點(diǎn)接入的問(wèn)題

缺點(diǎn):

1)LVS依然是單點(diǎn)接入

2.6 終極方案

水平擴(kuò)展,才是解決性能問(wèn)題的根本方案,能夠通過(guò)加機(jī)器擴(kuò)充性能的方案才具備最好的擴(kuò)展性

1)通過(guò)DNS輪詢來(lái)線性擴(kuò)展入口lvs層的性能

2)通過(guò)keepalived來(lái)保證高可用

3)通過(guò)lvs來(lái)擴(kuò)展多個(gè)nginx

4)通過(guò)nginx來(lái)做負(fù)載均衡


責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2019-09-25 09:01:53

高并發(fā)架構(gòu)分布式

2019-12-17 11:18:37

高并發(fā)分布式架構(gòu)

2020-02-10 19:16:52

服務(wù)端高并發(fā)架構(gòu)

2017-09-13 13:42:09

微服務(wù)緩存架構(gòu)

2012-10-19 10:06:04

Ubuntu Twea

2024-03-06 14:58:52

客戶端微服務(wù)架構(gòu)

2023-01-05 07:52:36

高可用架構(gòu)消息隊(duì)列

2024-05-17 10:00:52

系統(tǒng)監(jiān)控日志記錄性能指標(biāo)

2020-07-24 08:50:17

Redis數(shù)據(jù)庫(kù)

2016-03-18 09:04:42

swift服務(wù)端

2024-06-14 15:21:15

2022-09-29 15:24:15

MySQL數(shù)據(jù)庫(kù)高可用

2022-02-18 11:13:53

監(jiān)控架構(gòu)系統(tǒng)

2021-04-28 08:05:30

SpringCloudEureka服務(wù)注冊(cè)

2021-03-09 20:52:01

架構(gòu)無(wú)狀態(tài)服務(wù)

2019-10-31 09:03:12

Java集群微服務(wù)

2019-09-03 10:19:58

Kubernetes本地負(fù)載命令

2020-12-09 09:21:41

微服務(wù)架構(gòu)數(shù)據(jù)

2013-03-25 10:08:44

PHPWeb

2012-03-02 10:38:33

MySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)