今天是元宵節,首先祝各位廣大博友在接下來的光陰中技術更上一層,事事如意!(沒能在元宵節發布,今天就補上吧)
昨天簡單介紹了一下本人在近期開發過的一個電商購物平台的架構流程和一些技術說明;今天將詳細總結一下在項目中用到的各個架構技術的環境部署和細節,希望能夠幫到大家,如有瑕疵,請各位大神指正。
一:詳談服務治理的核心框架之Dubbo及注冊中心zookeeper
首先說說Dubbo這個框架吧,接觸這個框架是在去年的年底,當時我們公司的架構師震哥賞了我一點關於架構方面的資料,我看了幾天感覺挺對它們感冒的,所以就想着學學架構,哪天當當架構師,呵呵,這只是個近期目標,好了,還是吹吹主角dubbo吧。
Dubbo它是阿里巴巴出品的開源的分布式框架,它最大的特點是可以用分層的架構,使表現層和業務層實現解耦合。從面向服務的角度來談,dubbo采用一種非常簡單的模型,要么就是給消費者提供服務,要么就是引用提供方發布的服務(這里的名詞解釋就不詳了,大家可以去找度娘),再接着就是說說dubbo的調用關系原理吧,明白了這點可以強化我們對dubbo的感覺,至少我是這么認為的。
但是說到這里,又一個優秀的角色注冊中心zookeeper登場了,他主要是作為Dubbo服務框架的注冊中心(當然也可以使用我們熟悉的redis作為注冊中心,但是這里我采用最優的,任性一把),他主要是負責各種服務的地址查詢和注冊,說白了相當於一個目錄服務,還有它的一個優點就是從來不轉發請求,壓力很小(友情提示:在使用Dubbo2.3以上的版本時,建議使用zookeeper注冊中心)。
最后就跟大家分享一些安裝步驟和在項目中使用的源碼。
1、安裝zookeeper注冊中心
首先上傳壓縮包,進行解壓,然后進入zookeeper解壓目錄,找到conf目錄下文件名為zoo_sample.cfg並將文件名稱修改為zoo.cfg,然后進行編輯配置,截圖如下:
配置過程中主要注意:
主要配置dataDir和clientPort參數,clientPort參數使用默認值2181即可。
注意:datadir目錄中的data目錄如果不存在,也會自動生成,你也可以提前手動創建好。
2、Linux系統上部署Dubbo環境monitor監控中心(監控中心可安裝也可不安裝,建議安裝,方便查看各個服務的調用情況)
首先上傳dubbo-admin-2.5.4.war壓縮包,然后准備一台Tomcat服務器,將上傳好的dubbo-admin-2.5.4.war弄到tomcat/webapps目錄下,啟動服務器解壓war包;找到tomcat/webapps/dubbo-admin-2.5.4/WEB-INF/dubbo.properties文件,進行修改,截圖如下:
部署成功后訪問情況如下:
二:論論Nginx服務器
首先給大家介紹一下我所理解的Nginx以及它在項目中的主要擔當的角色,Nginx是一款高性能的http服務器/反向代理服務器及電子郵件代理服務器,經過官方測試nginx能夠支撐5萬並發鏈接,實際生產環境能到2-3萬並發連接數,這就說明Nginx可以解決項目中的高並發問題,我是有所接觸過,的確很強。並且cpu、內存等資源消耗缺非常低,運行非常穩定,高性能吧,呵呵。
Nginx的應用場景:
說了一點理論廢話,我就分享一下我之前在項目中的搭建和配置Nginx服務器的經驗,都是一些截圖,希望能夠幫到大家,謝謝。
三:Nginx實現負載均衡(這塊我本人比較感興趣,所以就跟大家所聊聊)
Nginx能夠作為負載均衡的理由,這是我感覺非常有用,各位可以在以后的設計結構過程中完全可以考慮:
下面我就拿一個需求來說說吧,也沒多少時間了。
需求:當我們訪問由一台服務器的IP地址映射的域名訪問網站時,后台不僅只有一台服務器在響應數據,而是有多台服務器在輪訓進行響應數據。
最后贈送幾張我們項目的總體架構流程圖及模塊分析圖,可能有點不清晰,大家就將就瞅瞅,莫怪。【其他技術架構的分享后期還會更新,希望大家能夠支持,謝謝】