成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

云智慧透視寶前端架構那些事兒

2016-04-12 09:46:10來源:威易網作者:

當移動互聯網與云計算出現后,用戶不必再和企業的服務人員打交道,而是通過移動APP來直接獲取服務,這就造成用戶體驗前置。傳統的ITOM產品由于缺少有效的移動端和云端監管手段,難以發現用戶體驗前置帶來的性能瓶頸……

當移動互聯網與云計算出現后,用戶不必再和企業的服務人員打交道,而是通過移動APP來直接獲取服務,這就造成用戶體驗前置。傳統的ITOM產品由于缺少有效的移動端和云端監管手段,難以發現用戶體驗前置帶來的性能瓶頸,云智慧面向業務的端到端性能管理平臺透視寶以業務的視角,對整個用戶體驗交付鏈條的每一個環節進行數據采集和分析,準確發現和定位影響用戶體驗的任何性能問題。

目前透視寶前端應用包含以下幾個,關系圖如下所示

\

透視寶通過主站與用戶進行直接交互,為用戶提供網站、移動App、主機、服務等應用的性能數據。用戶認證、數據中心、文檔中心應用都是直接或間接為主站提供服務,本次說明只針對透視寶主站,以下使用的前端均指主站前端服務。

服務布局

透視寶前端涉及到以下幾個服務:

\

DataSource為后端數據系統,通常情況下的請求流程如下:用戶發出請求后首先訪問到Tengine,Tengine作為反向代理把請求轉發到Apache,Apache調用PHP首先從Redis獲取信息,若無數據則從Mysql中補充,如果請求含有主機、服務、應用等數據則會從Elasticsearch中獲取。

前端應用架構

云智慧透視寶前端使用PHP作為開發語言,使用了Seaslog的日志擴展,Cwop的用戶管理擴展,Redis擴展,yaf擴展(CwopServer端依賴),其作用如下:

  • Seaslog:PHP日志模塊,為開發人員提供線上線下日志情況的分析材料
  • Curl:PHP Rest服務基礎,為PHP調用后端Api接口提供支持
  • Yaf:Cwop的Server為yaf框架開發,依賴PHP的yaf框架
  • Cwop:Cwop的php客戶端

PHP使用目前流行的Laravel框架進行開發,前端運行流程如下所示:

\

Laravel提供了多語言,數據庫,緩存,郵件,依賴包管理等功能,極大提高了透視寶的開發效率,以下是透視寶前端兩個比較重要的功能:

  • 1.UnitTest - Laravel集成并強化了PHP的單元測試功能,結合谷歌插件,使開發人員可以完成端到端的調試工作;
  • 2.Artisan命令行工具 - 結合Linux的Crontab,完成了郵件發送,SmartAgent插件管理、心跳管理,告警交互等功能,單獨使用時可以執行腳本完成數據庫的自動化修改;

從PHP處理數據到前端頁面展現我們使用了目前流行的:

  • 3.BootstrapCss框架,使前端頁面美觀自適
  • 4.Seajs為透視寶使用的JS模塊選擇加載框架
  • 5.Echarts作為透視寶使用的繪圖工具,其適應性,可操作性都是非常良好的,透視寶所有版面的圖片基本都是Echarts生成的。

數據采集流程

透視寶數據采集分為三個來源:

  • 1.用戶安裝SmartAgent,插件采集,通過SendProxy發送的數據。
  • 2.用戶安裝SmartAgent插件后注入JS,或手動注入JS,JS采集的數據。
  • 3.移動端嵌入SDK,采集移動APP數據。

如下圖所示:

\

 
數據采集使用Sendproxy為SmartAgent的調度器,所有SmartAgent的數據都經過Sendproxy進行統一調度發送。

其主要優勢在于:

  • 發送隊列,保證各插件數據發送的穩定性
  • 可以作為代理,部署都可聯外網的主機,可以保證局域網非聯網環境的數據發送

端到端實現原理

端到端是透視寶的重要功能特色,其實現原理簡單地說,把請求流程中所有途經節點都記錄下來,通過code堆棧和服務采集的數據還原請求所遍歷的過程。

\

 
上圖是一個請求拓撲,是典型的Nginx Proxy,Apache Server,PHP解析,Mysql DB的架構,請求經過了Nginx->Apache->PHP->Mysql&Api,在各節點上點擊可以查看:

  • 請求當時各服務的運行狀態
  • 請求的代碼堆棧,SQL連接,異常信息,連接狀態

實現原理如下(默認各節點已經安裝了我們的SmartAgent):

請求到Nginx時,Nginx在請求中添加唯一id標志,然后轉發到Apache,Apache在請求中收到我們的id標志,則會延用此id,請求交到PHP,同理PHP,Mysql等也會在請求中延用此id標志。

PHP獲取數據處理完成后請求結束,開始響應過程,PHP在響應信息中添加相同的id標志,交還給Apache,Apache返回Nginx時會在響應信息中延用此id,Nginx把內容發送到瀏覽器靜態頁面時,連同id與我們的JS文件發送到用戶端,用戶端JS捕獲瀏覽器數據后發送到我們的后端DataSource處理。

透視寶獲取到PHP應用帶有此id的請求數據時,可以查到Nginx,Apache的請求信息,也可以獲取Mysql,Api的請求信息,端到端的拓撲圖也就形成了,通過id可心獲取終端用戶的信息。如果終點的Api也使用了我們的CodeAgent,則會轉化成應用,與前面的PHP一樣繼續向后延伸,否則只顯示請求的Api信息,獲取不到Code詳情。

在上述過程中,Nginx Agent,Apache Agent,Mysql Agent一直持續發送數據,所以當點擊Nginx時就可以根據請求時間獲取Nginx的即時狀態,為用戶端到端的分析提供強有力的支持。

下面提供一個前后端數據交互的完整點的簡圖,其中DataSource對Mysql的操作是通過透視寶應用的接口實現的

\

關鍵詞:云智慧透視寶
主站蜘蛛池模板: 嵊州市| 富川| 锡林浩特市| 白城市| 玛纳斯县| 满洲里市| 龙江县| 吉安县| 平果县| 罗平县| 张家川| 台江县| 江门市| 勃利县| 濮阳县| 清河县| 贵德县| 梁山县| 彭水| 舒兰市| 汽车| 南安市| 高州市| 玉林市| 肃南| 朝阳市| 巴林右旗| 光泽县| 新民市| 余姚市| 华坪县| 万盛区| 荔浦县| 睢宁县| 二手房| 龙游县| 凌云县| 开平市| 大新县| 吐鲁番市| 铁力市|