小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

一個(gè)分布式服務(wù)器集群架構(gòu)方案

 陳永正的圖書館 2017-06-26

http:///





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

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

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

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

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

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

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


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




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

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

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

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

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

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

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

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

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

5、HAProxy可以對(duì)Mysql讀進(jìn)行負(fù)載均衡,對(duì)后端的MySQL節(jié)點(diǎn)進(jìn)行檢測和負(fù)載均衡;




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

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

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

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

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

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

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


一篇關(guān)于Reids緩存方案。《高可用、開源的Redis緩存集群方案》




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

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

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

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

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

Sphinx中文




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

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

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




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

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

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




0x07.分布式集群方案

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




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


-by小草

2014-12-10 23:27:01

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多