苍井优一级毛片免费观看,成年网站在线观看,日本一二三不卡视频,日日天天人人夜夜九九

24小時(shí)論文定制熱線(xiàn)

熱門(mén)畢設:土木工程工程造價(jià)橋梁工程計算機javaasp機械機械手夾具單片機工廠(chǎng)供電采礦工程
您當前的位置:論文定制 > 畢業(yè)設計論文 >
快速導航
畢業(yè)論文定制
關(guān)于我們
我們是一家專(zhuān)業(yè)提供高質(zhì)量代做畢業(yè)設計的網(wǎng)站。2002年成立至今為眾多客戶(hù)提供大量畢業(yè)設計、論文定制等服務(wù),贏(yíng)得眾多客戶(hù)好評,因為專(zhuān)注,所以專(zhuān)業(yè)。寫(xiě)作老師大部分由全國211/958等高校的博士及碩士生設計,執筆,目前已為5000余位客戶(hù)解決了論文寫(xiě)作的難題。 秉承以用戶(hù)為中心,為用戶(hù)創(chuàng )造價(jià)值的理念,我站擁有無(wú)縫對接的售后服務(wù)體系,代做畢業(yè)設計完成后有專(zhuān)業(yè)的老師進(jìn)行一對一修改與完善,對有答辯需求的同學(xué)進(jìn)行一對一的輔導,為你順利畢業(yè)保駕護航
代做畢業(yè)設計
常見(jiàn)問(wèn)題

PHP語(yǔ)言開(kāi)發(fā)百度貼吧架構下中間層

添加時(shí)間:2019/07/30 來(lái)源:哈爾濱工業(yè)大學(xué) 作者:王益靜
本文設計實(shí)現的百度貼吧 PHP 中間層,解決了系統瓶頸問(wèn)題,滿(mǎn)足了性能上的需求,提升了用戶(hù)體驗。經(jīng)過(guò)實(shí)際的測試,以及一期工程下的具體部署,通過(guò)符合預期的結果,證明了架構重構的完美以及具體技術(shù)方案的可行性。
以下為本篇論文正文:

摘要

  貼吧是百度旗下獨立品牌,全球最大的中文社區。百度貼吧歷經(jīng) 10 年沉淀,擁有 6 億注冊用戶(hù),450 萬(wàn)貼吧,日均話(huà)題總量近億,月活躍用戶(hù)數有 2 億,占中國網(wǎng)民總數的 39%。貼吧是基于 LAMP 架構下的解決方案成果,目前支撐了數十個(gè)子系統、十億的流量、千萬(wàn)級提交量以及 T 級數據量。貼吧目前需要的是高性能、高穩定性、高擴展性、更快的響應時(shí)間、更好的用戶(hù)體驗以及快速開(kāi)發(fā)/方便維護的架構/代碼。而作為承載如此重擔的 PHP 中間層卻面臨著(zhù)很多問(wèn)題,無(wú)法很好的解決貼吧高并發(fā)、高負載的需求。

  論文從貼吧產(chǎn)品的需求點(diǎn)出發(fā),以宏觀(guān)架構以及后臺具體處理流程為切入點(diǎn),分析系統 PHP 中間層的問(wèn)題,總結出系統的瓶頸以及流程上的缺陷,并提出具體系統功能需求以及相關(guān)技術(shù)改進(jìn)方案。從技術(shù)角度介紹了改進(jìn)方案的具體實(shí)施細節,比如架構重構、流程優(yōu)化、進(jìn)程同步等,為之后的具體實(shí)現提供理論基礎以及方案參考。

  本文使用 C、PHP 語(yǔ)言開(kāi)發(fā)出了貼吧架構下的中間層,承載高并發(fā)、高負載的需求,在設計上主要分為六大模塊:資源定位、健康檢查、負載均衡、協(xié)議支持、統一接口、本地配置自動(dòng)化。首先通過(guò)對中間層的架構重構,包括資源定位與健康檢查,以及 MySQL 請求架構。再通過(guò)對系統工作進(jìn)程相關(guān)流程的高度抽象,從抽象的流程上分析出系統瓶頸點(diǎn),并針對瓶頸點(diǎn)進(jìn)行深入的調研,從而確定設計方案。在負載均衡上,通過(guò)非主控式的設計方案,并從進(jìn)程交互與進(jìn)程同步等關(guān)鍵點(diǎn)出發(fā),開(kāi)發(fā)出符合貼吧高并發(fā)、高負載的系統,使 T 級請求下的平均響應時(shí)間達到小于 5 秒的要求。在系統的對外接口以及跨系統調用方面,也詳細闡述了關(guān)鍵服務(wù)的配置以及異常定位。最后在系統部署方面,也很好的討論了系統有關(guān)平滑上線(xiàn)以及相關(guān)服務(wù)映射的特性。

  通過(guò)上述的設計,系統解決了瓶頸問(wèn)題,滿(mǎn)足了性能上的需求,提升了用戶(hù)體驗。經(jīng)過(guò)實(shí)際的測試,以及一期工程下的具體部署,通過(guò)符合預期的結果,證明了架構重構的完美以及具體技術(shù)方案的可行性。目前 PHP 中間層的改進(jìn)方案已經(jīng)部署到貼吧后臺的 12 個(gè)服務(wù)器,后續的二期工程會(huì )完全部署并推廣到其他的子系統中。

  關(guān)鍵詞:百度貼吧;中間層;系統架構;高并發(fā);負載均衡

Abstract

  Baidu's Post Bar is an independent brand, the world's largest Chinese community. After 10 years of precipitation, Baidu Post Bar has 600 million registered users, 4.5 million of it, the total daily topic of hundred million, the number of monthly active users, 200 million, accounting for 39 % of China's total Internet users. Post Bar is a solution based on the results of LAMP architecture currently supports dozens of sub-systems, billions of traffic, the amount of ten million, and T -stage submission data. Post Bar is needed for a high-performance , high stability, high scalability, faster response time , better user experience and rapid development / easy maintenance architecture / code. As the burden of carrying such a PHP middle layer are facing a lot of problems , not a good solution to paste it high concurrency, high load demand .

  This paper products from the demand point of departure paste it to specific macroeconomic framework and background processing as a starting point, problem analysis system PHP middle layer , summed bottlenecks and defect processes on the system, and to propose specific functional requirements of the system and related technology improvements solution. From a technical perspective on the specific implementation details of the improvement program, such as architecture reconstruction, process optimization, process synchronization, etc., to provide the theoretical basis and reference for the concrete realization of the program after .

  This paper has developed the middle layer for php, using C and PHP Language, carrying high concurrency and high load demand.The design is divided into six modules : Resource Locator, health checks, load balancing, protocol support, unified interface, automated configuration. First, through the reconstruction of the middle layer of the architecture, including resource location and health checks, as well as MySQL request architecture. Then work through the system highly abstract processes related processes, from the abstract process to analyze the system bottlenecks, and conduct in-depth research for bottleneck points, in order to determine design. On load balancing, through non-pilot type design, and interact with the synchronization process from the process critical point of view, developed in line paste it high concurrency, high system load, the average response time T to reach the next level of less than 1 request s requirements. In the external interface system and cross-system calls, it also elaborated on configuration and abnormal localization of critical services. Finally, system deployment, the system is also very good discussion about the smooth lines and related service mapping features.

  Through the above design, the system solves the bottleneck problems and meets the needs of performance, and enhances the user experience. After the actual test , as well as specific projects under the first phase of deployment, the middle layer proves the feasibility of specific technical solutions and perfect architecture reconstruction,through the results in line with expectations. Currently, PHP improvement program has been deployed to the middle layer and paste it back in 12 servers. The subsequent Phase II project will be fully deployed and extended to other sub-systems.

  Keywords: Baidu Post Bar, middle layer, system architecture, high concurrent, load balance

  本課題來(lái)源于百度在線(xiàn)網(wǎng)絡(luò )(北京)有限公司(以下簡(jiǎn)稱(chēng)百度公司)。百度公司是一家綜合性的互聯(lián)網(wǎng)公司,同時(shí)也是全球最大的中文引擎搜索,涉及到網(wǎng)頁(yè)、貼吧、音樂(lè )、圖片等多種產(chǎn)品。貼吧產(chǎn)品運營(yíng)相對獨立,是國內涉足社交平臺最早的重量級產(chǎn)品。貼吧歷經(jīng) 10 年沉淀,擁有 6 億注冊用戶(hù),450 萬(wàn)貼吧,日均話(huà)題總量近億,月活躍用戶(hù)數有 2 億,占中國網(wǎng)民總數的 39%。貼吧是基于 LAMP 架構下的解決方案成果,目前支撐了數十個(gè)子系統、十億的流量、千萬(wàn)級提交量以及 T 級數據量[1]。在現有的環(huán)境與條件下,貼吧目前需要的是高性能、高穩定性、高擴展性、更快的響應時(shí)間、更好的用戶(hù)體驗以及快速開(kāi)發(fā)/方便維護的架構/代碼,在這樣的前提下我們研究的課題應運而生。

  因為互聯(lián)網(wǎng)的普及,用戶(hù)的持續增多,以及用戶(hù)對互聯(lián)網(wǎng)應用的用戶(hù)體驗質(zhì)量越來(lái)越高,尤其是服務(wù)器的響應速度,這些都對 Web 性能提出了較高的要求[2]。大規模服務(wù)器集群的需要越來(lái)越迫切。需要解決的問(wèn)題便是如何低成本的構建高可用、高性能的系統[3]。目前,國內外的各大公司都針對自己的業(yè)務(wù)需求,開(kāi)發(fā)并推廣出了自身的集群架構,也因為他們的努力,多個(gè)開(kāi)源的負載系統孕育而生[4]。只可惜這些開(kāi)源系統只是專(zhuān)注于某一領(lǐng)域下的某一方面的問(wèn)題解決,而沒(méi)有從宏觀(guān)的角度,構建整套的解決方案[5]。

  LAMP(Linux-Apache-MySQL-PHP)網(wǎng)站架構是目前國際流行的 Web 框架[15],該框架由四大部分的首字母組成,四大部分分別是:Linux,Apache,MySQL,Perl、PHP 或者 Python 編程語(yǔ)言。LAMP 的優(yōu)勢是價(jià)格低、性能高、跨平臺以及可通用[16]。

  Apache 是 LAMP 架構的 Web Server,經(jīng)過(guò)時(shí)間的大量考驗,Apache 是一個(gè)開(kāi)源的 Web 服務(wù)器,模塊豐富是其一個(gè)很顯著(zhù)的優(yōu)點(diǎn)[17]。不過(guò),目前輕量級的Web 服務(wù)器程序,例如 Nginx 等逐漸因為其高效的響應處理能力而慢慢的取代了現今愈加臃腫的 Apache。Nginx 不支持 PHP 語(yǔ)言,但是它在負載均衡方面,有很好的作用,所以,可以讓它與 Apache 一起協(xié)作,來(lái)更好的負載 PHP[18]。

  MySQL 作為一個(gè)開(kāi)源的數據庫,其經(jīng)過(guò)多個(gè)大公司,包括阿里巴巴、百度、騰訊等的完善以及高并發(fā)操作的考驗,事實(shí)證明,MySQL 在處理集群、事務(wù)等方面的能力不輸于現今數據庫的老大 Oracle。在處理服務(wù)器的穩定連接數量方面,MySQL 也表現的十分的出色[19]。

  綜上所述,可得知,LAMP 是一個(gè)非常優(yōu)秀的網(wǎng)站架構,其在高訪(fǎng)問(wèn)量的負載方面,絕對是一個(gè)很優(yōu)秀的方案[20]。

  在大規模互聯(lián)網(wǎng)應用中,負載均衡設備是必不可少的一個(gè)節點(diǎn),源于互聯(lián)網(wǎng)應用的高并發(fā)和大流量的沖擊壓力,我們通常會(huì )在服務(wù)端部署多個(gè)無(wú)狀態(tài)的應用服務(wù)器和若干有狀態(tài)的存儲服務(wù)器(數據庫、緩存等等)[21]。

  負載均衡設備的任務(wù)就是作為應用服務(wù)器流量的入口,挑選最合適的一臺服務(wù)器,將客戶(hù)端的請求轉發(fā)給它處理,實(shí)現客戶(hù)端到真實(shí)服務(wù)端的透明轉發(fā)。

  最近幾年很火的云計算以及分布式架構,本質(zhì)上也是將后端服務(wù)器作為計算資源、存儲資源,由某臺管理服務(wù)器封裝成一個(gè)服務(wù)對外提供,客戶(hù)端不需要關(guān)心真正提供服務(wù)的是哪臺機器,在它看來(lái),就好像它面對的是一臺擁有近乎無(wú)限能力的服務(wù)器,而本質(zhì)上,真正提供服務(wù)的,是后端的集群[22]。

PHP語(yǔ)言開(kāi)發(fā)百度貼吧架構下中間層:

同時(shí)啟動(dòng) 1 億個(gè)虛擬用戶(hù)運行時(shí)情況圖
同時(shí)啟動(dòng) 1 億個(gè)虛擬用戶(hù)運行時(shí)情況圖

并發(fā)用戶(hù)運行圖(5 千萬(wàn)個(gè)用戶(hù))
并發(fā)用戶(hù)運行圖(5 千萬(wàn)個(gè)用戶(hù))

響應時(shí)間圖(5 千萬(wàn)個(gè)用戶(hù))
響應時(shí)間圖(5 千萬(wàn)個(gè)用戶(hù))

并發(fā)用戶(hù)運行圖(7 千萬(wàn)個(gè)用戶(hù))
并發(fā)用戶(hù)運行圖(7 千萬(wàn)個(gè)用戶(hù))

響應時(shí)間圖(7 千萬(wàn)個(gè)用戶(hù))
響應時(shí)間圖(7 千萬(wàn)個(gè)用戶(hù))

并發(fā)用戶(hù)運行圖(1 億個(gè)用戶(hù))
并發(fā)用戶(hù)運行圖(1 億個(gè)用戶(hù))

響應時(shí)間圖(1 億個(gè)用戶(hù))
響應時(shí)間圖(1 億個(gè)用戶(hù))

目 錄

  摘 要
  ABSTRACT
  第 1 章 緒論
    1.1 課題來(lái)源及研究意義
    1.2 與課題相關(guān)的國內外研究綜述
      1.2.1 高并發(fā)與高負載的研究
      1.2.2 LAMP 架構
      1.2.3 負載均衡與 LVS
    1.3 本論文的主要工作內容
  第 2 章 PHP 中間層需求與關(guān)鍵技術(shù)分析
    2.1 名詞解釋
    2.2 功能現狀分析
    2.3 總體設計
    2.4 功能性需求
      2.4.1 統一接口
      2.4.2 協(xié)議支持與數據格式轉化
      2.4.3 資源定位
      2.4.4 負載均衡
      2.4.5 服務(wù)運行狀態(tài)檢查
      2.4.6 精細化控制
      2.4.7 本地配置與自動(dòng)化加載
      2.4.8 數據庫的配合
    2.5 非功能性需求
      2.5.1 性能需求
      2.5.2 異常定位
      2.5.3 配置文檔完整性
    2.6 系統關(guān)鍵技術(shù)分析
      2.6.1 系統架構方案
      2.6.2 資源定位與服務(wù)運行狀態(tài)檢查
      2.6.3 負載均衡
    2.7 本章小結
  第 3 章 PHP 中間層的詳細設計及實(shí)現
    3.1 中間層的架構設計
      3.1.1 資源定位與服務(wù)運行狀態(tài)檢查
      3.1.2 MySQL 請求架構
    3.2 Camel PHP Lib 實(shí)現
      3.2.1 設計實(shí)現
      3.2.2 數據庫反饋交互信息
    3.3 Camel.so 實(shí)現
      3.3.1 處理流程
      3.3.2 連接池
      3.3.3 設計實(shí)現
    3.4 超級負載均衡
      3.4.1 設計實(shí)現
      3.4.2 Filter
      3.4.3 重構設計
      3.4.4 多協(xié)議支持
    3.5 服務(wù)信息的熱加載
    3.6 配置示例
      3.6.1 Camel.conf
      3.6.2 Service.conf
      3.6.3 Protocol.conf
    3.7 需要考慮的問(wèn)題
      3.7.1 平滑上線(xiàn)
      3.7.2 關(guān)于服務(wù)映射
    3.8 本章小結
  第 4 章 PHP 中間層配置與異常說(shuō)明
    4.1 配置
      4.1.1 配置簡(jiǎn)介
      4.1.2 系統配置
      4.1.3 CAMEL 進(jìn)程配置
      4.1.4 資源定位伽利略配置
      4.1.5 WORKER 進(jìn)程配置
      4.1.6 伽利略本地備份配置
    4.2 異常日志
      4.2.1 PHP 主進(jìn)程
      4.2.2 CAMEL 進(jìn)程
      4.2.3 PHP 工作進(jìn)程
    4.3 本章小結
  第 5 章 PHP 中間層的測試和結果分析
    5.1 測試工具
    5.2 測試環(huán)境
    5.3 測試流程
      5.3.1 腳本編寫(xiě)
      5.3.2 執行腳本
    5.4 測試數據分析
    5.5 測試結論
    5.6 本章小結
  結 論
  參考文獻
  哈爾濱工業(yè)大學(xué)學(xué)位論文原創(chuàng )性聲明和使用權限
  致 謝
  個(gè)人簡(jiǎn)歷

(如您需要查看本篇畢業(yè)設計全文,請您聯(lián)系客服索取)

相關(guān)內容
相關(guān)標簽:PHP畢業(yè)設計
好優(yōu)論文定制中心主要為您提供代做畢業(yè)設計及各專(zhuān)業(yè)畢業(yè)論文寫(xiě)作輔導服務(wù)。 網(wǎng)站地圖
所有論文、資料均源于網(wǎng)上的共享資源以及一些期刊雜志,所有論文僅免費供網(wǎng)友間相互學(xué)習交流之用,請特別注意勿做其他非法用途。
如有侵犯您的版權或其他有損您利益的行為,請聯(lián)系指出,論文定制中心會(huì )立即進(jìn)行改正或刪除有關(guān)內容!