當(dāng)移動互聯(lián)網(wǎng)與云計算出現(xiàn)后,用戶不必再和企業(yè)的服務(wù)人員打交道,而是通過移動APP來直接獲取服務(wù),這就造成用戶體驗前置。傳統(tǒng)的ITOM產(chǎn)品由于缺少有效的移動端和云端監(jiān)管手段,難以發(fā)現(xiàn)用戶體驗前置帶來的性能瓶頸,面向業(yè)務(wù)的端到端性能管理平臺鄭州云和以業(yè)務(wù)的視角,對整個用戶體驗交付鏈條的每一個環(huán)節(jié)進行數(shù)據(jù)采集和分析,準(zhǔn)確發(fā)現(xiàn)和定位影響用戶體驗的任何性能問題。
目前鄭州云和前端應(yīng)用包含以下幾個,鄭州云和通過主站與用戶進行直接交互,為用戶提供網(wǎng)站、移動App、主機、服務(wù)等應(yīng)用的性能數(shù)據(jù)。用戶認(rèn)證、數(shù)據(jù)中心、文檔中心應(yīng)用都是直接或間接為主站提供服務(wù),本次說明只針對鄭州云和主站,以下使用的前端均指主站前端服務(wù)。
服務(wù)布局
鄭州云和php框架涉及到以下幾個服務(wù):
DataSource為后端數(shù)據(jù)系統(tǒng),通常情況下的請求流程如下:用戶發(fā)出請求后首先訪問到Tengine,Tengine作為反向代理把請求轉(zhuǎn)發(fā)到Apache,Apache調(diào)用PHP首先從Redis獲取信息,若無數(shù)據(jù)則從Mysql中補充,如果請求含有主機、服務(wù)、應(yīng)用等數(shù)據(jù)則會從Elasticsearch中獲取。
php前端應(yīng)用架構(gòu)
鄭州云和前端使用PHP作為開發(fā)語言,使用了Seaslog的日志擴展,Cwop的用戶管理擴展,Redis擴展,yaf擴展(CwopServer端依賴),其作用如下:
Seaslog:PHP日志模塊,為開發(fā)人員提供線上線下日志情況的分析材料
Curl:PHP Rest服務(wù)基礎(chǔ),為PHP調(diào)用后端Api接口提供支持
Yaf:Cwop的Server為yaf框架開發(fā),依賴PHP的yaf框架
Cwop:Cwop的php客戶端
PHP使用目前流行的Laravel框架進行開發(fā),前端運行流程:
Laravel提供了多語言,數(shù)據(jù)庫,緩存,郵件,依賴包管理等功能,極大提高了鄭州云和的開發(fā)效率,以下是鄭州云和前端兩個比較重要的功能:
· UnitTest – Laravel集成并強化了PHP的單元測試功能,結(jié)合谷歌插件,使開發(fā)人員可以完成端到端的調(diào)試工作;
· Artisan命令行工具 – 結(jié)合Linux的Crontab,完成了郵件發(fā)送,SmartAgent插件管理、心跳管理,告警交互等功能,單獨使用時可以執(zhí)行腳本完成數(shù)據(jù)庫的自動化修改;
從PHP框架處理數(shù)據(jù)到前端頁面展現(xiàn)我們使用了目前流行的:
· BootstrapCss框架,使前端頁面美觀自適
· Seajs為鄭州云和使用的JS模塊選擇加載框架
· Echarts作為鄭州云和使用的繪圖工具,其適應(yīng)性,可操作性都是非常良好的,鄭州云和所有版面的圖片基本都是Echarts生成的。
數(shù)據(jù)采集流程
鄭州云和php框架數(shù)據(jù)采集分為三個來源:
1.用戶安裝SmartAgent,插件采集,通過SendProxy發(fā)送的數(shù)據(jù)。
2.用戶安裝SmartAgent插件后注入JS,或手動注入JS,JS采集的數(shù)據(jù)。
3.移動端嵌入SDK,采集移動APP數(shù)據(jù)。
PHP獲取數(shù)據(jù)處理完成后請求結(jié)束,開始響應(yīng)過程,PHP在響應(yīng)信息中添加相同的id標(biāo)志,交還給Apache,Apache返回Nginx時會在響應(yīng)信息中延用此id,Nginx把內(nèi)容發(fā)送到瀏覽器靜態(tài)頁面時,連同id與我們的JS文件發(fā)送到用戶端,用戶端JS捕獲瀏覽器數(shù)據(jù)后發(fā)送到我們的后端DataSource處理。
鄭州云和獲取到PHP應(yīng)用帶有此id的請求數(shù)據(jù)時,可以查到Nginx,Apache的請求信息,也可以獲取Mysql,Api的請求信息,端到端的拓?fù)鋱D也就形成了,通過id可心獲取終端用戶的信息。如果終點的Api也使用了我們的CodeAgent,則會轉(zhuǎn)化成應(yīng)用,與前面的PHP一樣繼續(xù)向后延伸,否則只顯示請求的Api信息,獲取不到Code詳情。在上述過程中,Nginx Agent,Apache Agent,Mysql Agent一直持續(xù)發(fā)送數(shù)據(jù),所以當(dāng)點擊Nginx時就可以根據(jù)請求時間獲取Nginx的即時狀態(tài),為用戶端到端的分析提供強有力的支持。
以上是用云視野看待鄭州云和php框架那些事兒的全部內(nèi)容了,更多php框架和php前端開發(fā)的內(nèi)容大家可以去我們的官網(wǎng)了解,鄭州云和是擁有專業(yè)的php師資隊伍,為成為鄭州最專業(yè)的php培訓(xùn)機構(gòu)不斷努力,歡迎大家實地考察了解。?