日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个分布式服务器集群架构方案

發(fā)布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个分布式服务器集群架构方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?


?

0x01.大型網(wǎng)站演化

簡單說,分布式是以縮短單個任務(wù)的執(zhí)行時間來提升效率的,而集群則是通過提高單位時間內(nèi)執(zhí)行的任務(wù)數(shù)來提升效率。

集群主要分為:高可用集群(High Availability Cluster),負載均衡集群(Load Balance Cluster,nginx即可實現(xiàn)),科學(xué)計算集群(High Performance Computing Cluster)。

分布式是指將不同的業(yè)務(wù)分布在不同的地方;而集群指的是將幾臺服務(wù)器集中在一起,實現(xiàn)同一業(yè)務(wù)。分布式中的每一個節(jié)點,都可以做集群。 而集群并不一定就是分布式的。

之前在網(wǎng)上看到一篇關(guān)于大型網(wǎng)站演化的博客。http://www.cnblogs.com/leefreeman/p/3993449.html

每個大型網(wǎng)站都會有不同的架構(gòu)模式,而架構(gòu)內(nèi)容也就是在處理均衡負載,緩存,數(shù)據(jù)庫,文件系統(tǒng)等,只是在不同的環(huán)境下,不同的條件下,架構(gòu)的模型不一樣,目的旨在提高網(wǎng)站的性能。

最初的架構(gòu)只有應(yīng)用程序,數(shù)據(jù)庫,文件服務(wù)。

?

到后來,分布式服務(wù)、集群架設(shè)。

?


?

0x02.關(guān)于均衡負載方案

在上一篇,《Nginx反向代理實現(xiàn)均衡負載》討論過過的nginx現(xiàn)實均衡負載方案,這里選擇另一種HAProxy+Keepalived雙機高可用均衡負載方案。

HAProxy是免費、極速且可靠的用于為TCP和基于HTTP應(yīng)用程序提供高可用、負載均衡和代理服務(wù)的解決方案,尤其適用于高負載且需要持久連接或7層處理機制的web站點。

不論是Haproxy還是Keepalived甚至是上游服務(wù)器均提高生產(chǎn)力并增強可用性,也就是如下架構(gòu)中Haproxy,Keepalived,Httpd服務(wù)器任意宕機一臺服務(wù)還是可以正常運行的。

HAProxy的優(yōu)點:

1、HAProxy是支持虛擬主機的,可以工作在4、7層(支持多網(wǎng)段);

2、能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導(dǎo)等工作;

3、支持url檢測后端的服務(wù)器;

4、本身僅僅就只是一款負載均衡軟件;單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的;

5、HAProxy可以對Mysql讀進行負載均衡,對后端的MySQL節(jié)點進行檢測和負載均衡;

?


?

0x03.關(guān)于Redis緩存方案

緩存分為服務(wù)器緩存和應(yīng)用程序緩存。

關(guān)于應(yīng)用程序內(nèi)緩存,已經(jīng)在Jue后臺框架里面做了模塊處理了。

關(guān)于服務(wù)器緩存,主要緩存服務(wù)器文件,減少服務(wù)器和php交互,減少均衡負載服務(wù)器和應(yīng)用程序服務(wù)器交互。

緩存里面有一種典型的memcached,現(xiàn)在用的多的是redis輕量級緩存方案。

關(guān)于memcached與redis,看這篇?《Memcached vs Redis?》

Redis主要將數(shù)據(jù)存儲在各種格式:列表,數(shù)組,集合和排序集,一次能接受多個命令,阻塞讀寫,等待直到另一個進程將數(shù)據(jù)寫入高速緩存。

?

一篇關(guān)于Reids緩存方案?!陡呖捎谩㈤_源的Redis緩存集群方案》

?


?

0x04.關(guān)于搜索引擎Sphinx方案

(第一期不做,后期需求時候考慮)

Sphinx是俄羅斯人開發(fā)的,號稱是很吊啦,千萬級數(shù)據(jù)檢索,每秒10MB/s,搭過環(huán)境。

Sphinx和MySQL是基于數(shù)據(jù)庫的全文引擎,創(chuàng)建索引是B+樹和hash key-value的方式。

原理類似于用底層C檢索MySQL,然后弄出一個sphinx.conf配置文件,索引與搜索均以這個文件為依據(jù)進行,要進行全文檢索,首先就要配置好sphinx.conf,告訴sphinx哪些字段需要進行索引,哪些字段需要在where,orderby,groupby中用到。

Sphinx中文

?


?

0x05.關(guān)于NoSQL快速存儲方案

NoSQL在這里的使用價值是處理一些瑣事,比如用戶個人網(wǎng)站的一些css值,height,width,color等等的小而繁多的數(shù)據(jù),采用NoSQL旨在提升數(shù)據(jù)庫速度,減少對MySQL的SELECT請求。

關(guān)于NoSQL的方案很多了,選一個簡單的MongDB好了。

?


?

0x06.關(guān)于分布式MySQL方案

(做分布式MySQL還沒嘗試過,初期也不清楚mysql所需要的壓力,所以第一期不打算做分布式MySQL)

《標(biāo)準(zhǔn)MySQL數(shù)據(jù)庫外的5個開源兼容方案》

?


?

0x07.分布式集群方案

綜合起來,大致就是如下模型,初探分布式架構(gòu),很多模塊將就形勢做調(diào)整,時時更新中,待續(xù)。。。

?


?

本文出自?夏日小草,轉(zhuǎn)載請注明出處:http://homeway.me/2014/12/10/think-about-distributed-clusters/

?

轉(zhuǎn)載于:https://www.cnblogs.com/AmilyWilly/p/4670848.html

總結(jié)

以上是生活随笔為你收集整理的一个分布式服务器集群架构方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。