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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gearman的使用

發布時間:2025/7/25 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gearman的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FROM: http://www.cnblogs.com/cocowool/archive/2011/08/18/2145144.html


對于分布式網絡環境或者有大量任務的應用,我們需要將任務在不同的服務器之間進行分布,這個時候正好是Gearman發揮實力的時候。雖然我們也可以使用MQ隊列再加一些自己實現的調度算法來將任務進行分發,但是既然已經有了成熟的產品,為什么不使用下呢。


Gearman介紹


Gearman提供了一種通用的程序框架來將你的任務分發到不同的機器或者不同的進程當中。它提供了你進行并行工作的能力、負載均衡處理的能力,以及在不同程序語言之間溝通的能力。Gearman能夠應用的領域非常廣泛,從高可用的網站到數據庫的復制任務。總之,Gearman就是負責分發處理的中樞系統,它的優點包括:

? ? ?開源:Gearman免費并且開源而且有一個非常活躍的開源社區,如果你想來做一些貢獻,請點擊 。

? ? ?多語言支持:Gearman支持的語言種類非常豐富。讓我們能夠用一種語言來編寫Worker程序,但是用另外一種語言編寫Client程序。

? ? ?靈活:不必拘泥于固定的形式。您可以采用你希望的任何形式,例如 Map/Reduce。

? ? ?快速:Gearman的協議非常簡單,并且有一個用C語言實現的,經過優化的服務器,保證應用的負載在非常低的水平。

? ? ?可植入:因為Gearman非常小巧、靈活。因此您可以將他置入到現有的任何系統中。

? ? ?沒有單點:Gearman不僅可以幫助擴展系統,同樣可以避免系統的失敗。


Gearman的工作原理


使用Gearman的應用通常有三部分組成:一個Client、一個Worker、一個 任務服務器。 Client的作用是提出一個 Job 任務 交給 Job Server 任務服務器。Job Server 會去尋找一個 合適的 Worker 來完成這項任務。Worker 執行由 Client 發送過來的 Job,并且將結果通過 Job Server 返回給 Client。Gearman 提供了 Client 和 Worker 的 API,利用這些API 應用可以同 Gearman Job Server來進行通信。Gearman 內部 Client 和 Worker 之間的通信都是通過 TCP 連接來進行的。工作的流程如下圖所示:





Gearman的用處


Gearman首先提供了一個多語言通訊的接口,當然還有比這個更簡單有效的辦法。Gearman可以將工作的負載分擔到不同的機器中,如下圖所示:




Job Server 可以開啟多個實例,這樣在其中一個發生故障的時候,可以 Failover 到其他的機器上。同時 Worker 也可以是多個實例進行運行,因為當前的服務器很多都是多核的。










Gearman要依賴于 Boost C++ Libraries 中的 program_options 庫,并且需要的版本大于 1.39。筆者的CentOS 5.2 系統中自帶的 1.33 不能滿足需求,在自己安裝的過程中會遇到一些問題,建議參考 Boost 官方手冊中的 Easy Build and Install 這部分。


安裝Gearman之后,第一次啟用可能會遇到?error while loading shared libraries: libgearman.so.1 這個問題。可以用下面的方法解決:


當運行 /usr/local/sbin/gearmand -d 時出現?error while loading shared libraries: libgearman.so.1

運行一下 /sbin/ldconfig -v ,然后再去運行gearman就可以了


ldconfig命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄 下,搜索出可共享的動態鏈接庫(格式如前介紹,lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認為/etc /ld.so.cache,此文件保存已排好序的動態鏈接庫名字列表.

ldconfig通常在系統啟動時運行,而當用戶安裝了一個新的動態鏈接庫時,就需要手工運行這個命令.



需要小心的一件事情是數據的共享。Gearman 不進行所交換數據的任何轉換或操作。對于這里使用的簡單字符串和整數沒有問題,但是不能共享 PHP 中的數組值并期望能在 Java 語言中被理解。對于這種類型的交互,可以使用很多結構化數據標準中的一種,比如 JavaScript Object Notation (JSON) 或 XML。另外,如果您在處理來自數據庫的信息,只要共享 ID 或者找到需要處理的數據時要用到的信息即可,或者使用 memcached 這樣的透明方法(盡管可能仍然需要 JSON 或等價物)。



參考資料:

1、用 Gearman 分發 PHP 應用程序的工作負載

2、Gearman

3、error while loading shared libraries: libgearman.so.1

4、跨多種環境部署Gearman


總結

以上是生活随笔為你收集整理的Gearman的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产丝袜视频在线观看 | 欧美一区二区久久久 | 天堂精品一区二区三区 | 女同久久另类69精品国产 | 久久久久久久国产 | 日产国产亚洲精品系列 | 97超碰人人爱 | 日本黄色免费 | 青青青在线视频免费观看 | 欧美性天天 | 法国少妇愉情理伦片 | 成人小视频免费 | 亚洲在线一区二区 | 午夜精品av| gv天堂gv无码男同在线观看 | 国产精品久久久久久久久久小说 | 精品美女久久久久 | 亚洲精品一级片 | 国产一区二区三区四区五区六区 | 激情五月在线 | 夜色88v精品国产亚洲 | 久久精品99久久久久久 | 豆花av| 女人高潮特级毛片 | 日本视频网站在线观看 | 极品探花在线观看 | 欧美三级视频 | 青青草原国产在线 | 亚洲色欲色欲www在线观看 | 老司机成人免费视频 | 亚洲蜜臀av乱码久久精品蜜桃 | 91精品久久久久久久久久 | 国产精品色图 | 日韩一区二区视频在线 | 久久久亚洲av波多野结衣 | 开心黄色网 | 日日操夜夜干 | 影音先锋男人资源网站 | www夜片内射视频日韩精品成人 | 亚洲福利午夜 | 天堂av亚洲 | 日韩激情床戏 | 视频一区二区在线播放 | 久久人人草 | 久久久久国产 | 欧美日韩亚洲一区 | 在线看片 | 岛国av一区 | 欧美日韩三级在线 | 二区三区在线观看 | 97超碰中文字幕 | 国产原创一区 | 17c在线视频 | 久久小草| 亚洲自偷自偷偷色无码中文 | 国产成a人亚洲精品 | av黄在线观看 | 欧美怡红院 | 欧美特一级| 少妇av在线播放 | 天海翼av | 在线日韩中文字幕 | 国产精品无码在线 | 午夜寂寞视频 | 五月激情网站 | 美味的客房沙龙服务 | 国产一级黄色 | 一区二区三区中文视频 | 欧亚毛片| 亚洲美女操 | www.日韩 | 国产成人观看 | 福利视频第一页 | 啪啪网站免费 | 国产在线18 | 五月婷激情 | 无码 制服 丝袜 国产 另类 | 午夜亚洲视频 | 在线视频在线观看 | 国产农村妇女精品一区 | 欧美黑人一区二区三区 | av在线一区二区 | 欧美性生活一区二区三区 | 日本熟妇一区二区三区四区 | 国产一区二区在线观看视频 | 激情综合五月婷婷 | 国产午夜伦理 | 黄色一级视频 | zjzjzjzjzj亚洲女人 | 国产成人97精品免费看片 | 亚洲高清毛片一区二区 | 免费看av毛片| 韩国伦理电影免费在线 | 成人爱爱网站 | 无码人妻精品一区二区三区在线 | 91精品国产综合久久久密臀九色 | 亚洲性免费 | 在线小视频 | 无套内谢少妇高潮免费 |