您好,登錄后才能下訂單哦!
這篇文章給大家介紹小微企業(yè)springboot集群方案之plan,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
互聯(lián)網(wǎng)的小微企業(yè),往高大上說就是新銳企業(yè),往低里說呢就是窮B企業(yè),不管怎么樣,反正特點(diǎn)都是一樣的:
沒有多少開發(fā)人員,能少一個是一個
沒有專職的崗位,DBA,運(yùn)維,測試,這都是啥,反正都是開發(fā)人員一肩挑(如果老板很討厭的話,會加一句,全棧)
沒有自己的硬件,反正能不自己建就不自己建(如果老板打聽過的話,會說一句,上云)
要快(如果老板很煩人的話,會加一句,要敏捷)
在這種條件下,有能力的程序員表示很有挑戰(zhàn)性,紛紛用腳投票去了騰訊、阿里這些大廠。而那些沒有能力的碼農(nóng)(比如我),則不畏懼挑戰(zhàn),決意在這種惡劣的環(huán)境下艱難求生(主要是大廠不要)。
其實(shí)在企業(yè)的很長的一個發(fā)展階段,單機(jī)的性能是可以扛著性能壓力的,所以我們的第一個方案就簡單了。
在云服務(wù)商購買一個公司需要的域名,并配置域名指向購買的服務(wù)器IP
在云服務(wù)商購買一臺云服務(wù)器,安裝好nginx和java環(huán)境,nginx配置域名的指向,配置程序指向的云數(shù)據(jù)庫地址
在云服務(wù)商購買云數(shù)據(jù)庫服務(wù),比如用的最多的mysql
上面三種商品在一家云服務(wù)商就能完成,全程只需要買買買就好了。而且價格都還算好,一臺普通的云服務(wù)器在5000左右(1年費(fèi)用),數(shù)據(jù)庫在6000多(一年費(fèi)用),域名便宜,只要幾十塊而已,而運(yùn)行起來也很簡單,只要把程序打包上去就可以跑起來了。
如果還需要省錢,當(dāng)然可以在云服務(wù)器上自建mysql,那么云數(shù)據(jù)庫的錢就省了,但考慮到以下幾點(diǎn),我還是認(rèn)為開始就要分開服務(wù)器和數(shù)據(jù)庫:
企業(yè)的開發(fā)人員用人成本是很高的,如果在云服務(wù)器上自建數(shù)據(jù)庫,那么就需要對數(shù)據(jù)庫比較熟。但大部分開發(fā)人員用數(shù)據(jù)庫比較多,建就一般般了,而且就算建的話,對調(diào)參和分配權(quán)限也很難精通,為了節(jié)約人工成本,能花錢買服務(wù)的就花錢買了
互聯(lián)網(wǎng)企業(yè)往往數(shù)據(jù)的價值大過應(yīng)用程序的價值,所以為了數(shù)據(jù)的安全,還是和應(yīng)用服務(wù)器拆開來比較保險
云服務(wù)的價值很大方面體現(xiàn)在性能伸縮的靈活性上,而數(shù)據(jù)庫是最常見的性能瓶頸,如果應(yīng)用服務(wù)器和數(shù)據(jù)庫在同一臺機(jī),很可能即使提升了服務(wù)器配置,由于資源分配不到數(shù)據(jù)庫上面(這個對數(shù)據(jù)庫配置人員要求比較高),所以不能在最短時間解決問題,如果分開的話,一旦定位到是數(shù)據(jù)庫性能瓶頸,花錢可以直接針對數(shù)據(jù)庫做性能提升
其實(shí)這個架構(gòu)雖然很low,但其實(shí)很多的微小企業(yè)用起來一點(diǎn)問題都沒有,性能瓶頸直接靠花錢就能實(shí)時提升,壓力可以說是很小的。我了解的很多企業(yè)在倒下前都還沒有把應(yīng)用服務(wù)器的性能用滿,可見應(yīng)用服務(wù)器性能絕對不是微小企業(yè)的短板。但缺點(diǎn)也很明顯,那就是單點(diǎn)問題,全公司技術(shù)體系于一臺服務(wù)器,萬一有個好歹,企業(yè)就要無技術(shù)裸奔了。
這就是一個最簡單的集群,加了一臺服務(wù)器,再把一些服務(wù)甩給了云服務(wù)商,具體的情況如下:
多購買一臺服務(wù)器,其實(shí)集群很重要的一個判斷,就是是否能快速方便的橫向擴(kuò)展,在服務(wù)器出現(xiàn)性能瓶頸的時候,可以通過快速的增加服務(wù)器的方式解決問題。小微企業(yè)的業(yè)務(wù)發(fā)展是抽風(fēng)式,不知道什么時候就突然上量了,所以能直接靠加服務(wù)器橫向擴(kuò)展解決性能問題是最幸福的。
多臺服務(wù)器就會有負(fù)載輪詢的問題,如果很窮,那么當(dāng)然可以自己搭建nginx的集群,但考慮到大多數(shù)程序員對于nginx也是用的多,配置的少,這活也可以直接甩給云服務(wù)商提供的負(fù)載均衡服務(wù),而且一般都還提供界面分配負(fù)載的權(quán)重,比自建還是要方便很多,后面做灰度上線也會用到。
云服務(wù)商提供的負(fù)載均衡一般會有一個虛擬IP,把域名指向這個虛擬IP就完事了,如果在云服務(wù)器上還有多個應(yīng)用起不同的端口,那么在服務(wù)器上還要起一個自己的nginx作為本地代理。
在單臺服務(wù)器上,session和緩存都不是問題,但在集群的環(huán)境下這都是事啊,雖然spring boot在這方面簡化了很多工作,但該改的還得改,該配的還得配,這里通過redis搞定session和緩存,如果很窮,redis也可以自己集群,但同樣大部分人redis也是用的多,配的少,這活也扔給云服務(wù)商了。
除了緩存,還有個需要多機(jī)共享的是文件,不能服務(wù)器1上傳的文件,服務(wù)器2看不到。如果很窮,自己搭建分布式文件系統(tǒng)(比如TFS,FastDFS)也是可以的,不過還是那句話,何必呢,使用云服務(wù)商提供的分布式文件服務(wù)就好了。
其實(shí)還有一個集群會遇到的問題就是定時任務(wù),但這個沒辦法通過買買買來解決,不過spring quartz有解決方案,這個是程序員分內(nèi)之事,就不麻煩云服務(wù)商了。
雖然看起來不像是給微小企業(yè)的集群方案,里面全是買買買,但和人工成本比起來,這種一年只要幾千塊的服務(wù)(負(fù)載均衡、redis和分布式文件系統(tǒng)可以按量來付費(fèi)),其實(shí)是很便宜的,而且按量付費(fèi)的話,可以保證企業(yè)在業(yè)務(wù)量起來的情況下才會有費(fèi)用的增長。而業(yè)務(wù)量如果起來了,錢還是問題嗎?
關(guān)于小微企業(yè)springboot集群方案之plan就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。