成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

怎么實現(xiàn)微服務(wù)的實時性能分析?

開發(fā) 架構(gòu)
當(dāng)開發(fā)者從微服務(wù)架構(gòu)獲得敏捷時,觀測整個系統(tǒng)的運行情況成為最大的痛點。

[[171672]]

 

當(dāng)開發(fā)者從微服務(wù)架構(gòu)獲得敏捷時,觀測整個系統(tǒng)的運行情況成為***的痛點。在本文,IBM Research 展示了如何用 Spark 對微服務(wù)性能進行分析和統(tǒng)計,由 Cloudinsight 工程師編譯整理。

引言

作為一種靈活性極強的構(gòu)架風(fēng)格,時下微服務(wù)在各種開發(fā)項目中日益普及。在這種架構(gòu)中,應(yīng)用程序被按照功能分解成一組松耦合的服務(wù),它們通過 REST APIs 相互協(xié)作。

通過這個設(shè)計原則,開發(fā)團隊可以快速地不斷迭代各個獨立的微服務(wù)。同時,基于這些特性,很多機構(gòu)可以數(shù)倍地提升自己的部署能力。

然而凡事都有兩面性,當(dāng)開發(fā)者從微服務(wù)架構(gòu)獲得敏捷時,觀測整個系統(tǒng)的運行情況成為***的痛點。

內(nèi)容概要

多個服務(wù)工作聯(lián)合對用戶請求產(chǎn)生響應(yīng)。在生產(chǎn)環(huán)境中,應(yīng)用程序執(zhí)行過程中端到端的視圖對快速診斷并解決性能退化問題至關(guān)重要的,而應(yīng)用中多達(dá)數(shù)十的微服務(wù)(每個還對應(yīng)數(shù)百個實例)使得理解這點變得非常困難。

信息是如何在服務(wù)中穿梭流動的?

哪里是瓶頸點?

如何確定用戶體驗的延遲是由網(wǎng)絡(luò)還是調(diào)用鏈中的微服務(wù)引起?

 

 

與此同時,在云環(huán)境下,企業(yè)對基于微服務(wù)應(yīng)用的性能分析工具的需求與日俱增,因此我們正在嘗試構(gòu)建基于平臺的實時的性能分析工具,它的性質(zhì)類似于自動縮放和負(fù)載平衡等服務(wù)。

通過捕獲和分析應(yīng)用中微服務(wù)的網(wǎng)絡(luò)通信,服務(wù)按非侵入式的方式進行。

在云環(huán)境中,服務(wù)分析需要處理海量來自實時租戶應(yīng)用的通信追蹤,進一步發(fā)現(xiàn)應(yīng)用程序拓?fù)浣Y(jié)構(gòu),跟蹤當(dāng)服務(wù)通過網(wǎng)絡(luò)微服務(wù)時的單個請求等。由于需要運行批處理和實時分析應(yīng)用,所以 Spark 被采用。

Spark 操作分析

 

圖2所示,這里設(shè)置了一個簡單實驗來描述如何利用 Spark 進行操作分析。

 

整體的環(huán)境是一個 OpenStack 云,一組基于微服務(wù)的應(yīng)用程序運行在不同租戶的網(wǎng)絡(luò)中,還有一個小型Spark集群。

在每個 Nova 計算主機上安裝的軟件網(wǎng)絡(luò) tap 來捕獲通過租戶網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)包。從租戶網(wǎng)絡(luò)中捕獲的 Wire-data 被投入 Kafka bus。

同時,在 Spark 應(yīng)用中編寫連接器,獲取 Kafka 的包并對其進行實時分析。

因此,Spark 應(yīng)用被編寫試圖來回答下列問題:

  • 對終端用戶的請求響應(yīng)時,信息流是如何通過服務(wù)的?在 IT Operational Analytics領(lǐng)域,這種分析操作通常被稱為“事務(wù)跟蹤”。
  • 在給定時間窗中,應(yīng)用中各種微服務(wù)之間的調(diào)用/被調(diào)用關(guān)系是什么?
  • 在給定時間口中,應(yīng)用中各種微服務(wù)的響應(yīng)時間是多少?

根據(jù)以上問題,這里開發(fā)了2個 Spark應(yīng)用程序:

  • 實時事務(wù)跟蹤的應(yīng)用程序
  • 批量分析應(yīng)用來生成應(yīng)用的通信圖和延遲統(tǒng)計
  • 前者基于 Spark 流抽象,后者則是一組由 Spark 作業(yè)服務(wù)器管理的批處理作業(yè)。

實時事務(wù)跟蹤的應(yīng)用程序

跟蹤不同微服務(wù)之間的事務(wù)(或請求流)需要根據(jù)應(yīng)用程序中不同微服務(wù)之間的請求-響應(yīng)對創(chuàng)建因果關(guān)系。為了完全不受限應(yīng)用程序,這里將該應(yīng)用當(dāng)作一個黑盒。

因此不妨認(rèn)為應(yīng)用程序中沒有利用任何全局唯一請求標(biāo)識符來跟蹤跨微服務(wù)的用戶請求。

為了追蹤上文所提的因果關(guān)系,這里采用了 Aguilera 等人在 2003 SOSP 論文中提出的一種對黑盒分布式系統(tǒng)進行性能分析的方法,并做細(xì)微的修改。

對于同步的網(wǎng)絡(luò)服務(wù),論文提出了一種 nesting algorithm,將分布式應(yīng)用程序表示為一個圖,各條邊代表節(jié)點之間的相互作用。

這個 nesting algorithm 會檢查服務(wù)之間的調(diào)用時間戳,進一步推斷其因果關(guān)系。

簡單地說,如果服務(wù) A 調(diào)用服務(wù) B,而 A 在返回響應(yīng)之前會和服務(wù) C 通信,那么服務(wù) B 呼叫 C 被認(rèn)為是由 A 調(diào)用 B 引起的。

通過分析一大組消息,這里可以得到服務(wù)間有統(tǒng)計性置信度的調(diào)用鏈,并消除可能性較小的選項。論文發(fā)表的原始算法旨在離線方式下操作大型的跟蹤集。

這個用例會修改該算法來操作數(shù)據(jù)包流的移動窗口,并慢慢逐步完善的拓?fù)浣Y(jié)構(gòu)推斷。

圖3顯示了事務(wù)跟蹤應(yīng)用中作業(yè)的部分工作流程。圖4顯示了在一個租戶應(yīng)用中的事務(wù)跟蹤,由 Spark 應(yīng)用推導(dǎo)。

  • Packet 流到達(dá)塊中,以 PCAP 格式封裝。
  • 個體流從Packet流中提取并按滑動窗口分組,即 dstreams。
  • 在給定的時間窗口內(nèi),HTTP請求和請求響應(yīng)通過對比標(biāo)準(zhǔn)的5個 tuple 提取

srcip

srcport

destip

destport

protocol組成下一個 DStream,然后到nesting algorithm中實現(xiàn)的其余處理管道(未在圖中顯示)。

事務(wù)跟蹤應(yīng)用輸出結(jié)果會存儲到時間序列數(shù)據(jù)存儲區(qū)中(InfluxDB)。

 

 

標(biāo)準(zhǔn)批量分析應(yīng)用程序

第二個 Spark 應(yīng)用是一個標(biāo)準(zhǔn)批量分析應(yīng)用程序,在給定的時間窗口產(chǎn)生服務(wù)調(diào)用圖以及調(diào)用延遲統(tǒng)計。應(yīng)用作為標(biāo)準(zhǔn)批處理作業(yè)被提交到 Spark 作業(yè)服務(wù)器。

如圖5所示,批量分析應(yīng)用從 InfluxDB 分離出獨立事務(wù)跟蹤,并將每個獨立事務(wù)跟蹤轉(zhuǎn)換為對的列表。

列表被聚集成兩個 RDDS:

一個包含頂點列表

另一個為邊列表

頂點列表根據(jù)頂點名稱進一步解析。***,應(yīng)用程序的調(diào)用圖在有向圖中計算,以及圖中每條邊延遲時間的統(tǒng)計數(shù)據(jù)。

該圖是應(yīng)用程序時間演變圖的一個實例,表示給定時間內(nèi)的狀態(tài)。圖6和7顯示調(diào)用圖和租戶應(yīng)用延遲時間的統(tǒng)計數(shù)據(jù),作為該批次的分析作業(yè)輸出。

 

 

結(jié)束語

通過 Spark 平臺,各種不同類型的分析應(yīng)用可以同時操作,如利用一個統(tǒng)一的大數(shù)據(jù)平臺進行批量處理、流和圖形處理。

下一步則是研究系統(tǒng)的可擴展性方面,如通過增加主機線性提升數(shù)據(jù)提取速度,并同時處理成千上萬租戶的應(yīng)用蹤跡。后續(xù)會繼續(xù)匯報這方面的進展情況。

責(zé)任編輯:趙寧寧 來源: 36大數(shù)據(jù)
相關(guān)推薦

2019-10-31 11:50:19

MySQL數(shù)據(jù)庫Windows

2021-06-30 10:16:54

微服務(wù)架構(gòu)測試

2015-06-25 12:41:53

實時 Node應(yīng)用性能監(jiān)測

2022-03-29 08:59:40

PyroscopeKubernetes云原生

2022-09-07 15:41:01

微服務(wù)開發(fā)容器

2019-07-12 14:41:31

微服務(wù)Kubernetes容器

2015-06-01 10:14:13

微服務(wù)AWS性能彈性計算云

2021-12-27 08:47:44

Go設(shè)計性能

2020-10-24 15:31:10

Linux服務(wù)器工具

2020-09-30 13:29:25

工具代碼開發(fā)

2021-02-24 15:16:45

微服務(wù)架構(gòu)數(shù)據(jù)

2020-12-09 09:21:41

微服務(wù)架構(gòu)數(shù)據(jù)

2020-09-19 17:54:04

Netflix

2021-12-03 10:30:25

WOT技術(shù)峰會技術(shù)

2022-12-31 14:51:48

微服務(wù)Golang

2019-09-18 09:05:58

技術(shù)SQLDevOps

2018-05-04 14:34:06

微服務(wù)SOAAPI

2019-09-24 08:44:09

OpenrestyAPI網(wǎng)關(guān)

2019-09-10 11:34:23

軟件技術(shù)數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品欧美一区二区三区 | 国产一区二区激情视频 | 91精品久久久久久久久 | 精品国产一区二区三区久久 | 亚洲精品区 | 一级毛片视频 | 真人一级毛片 | 久草成人网 | 一区二区不卡 | 成人午夜影院 | 91大神在线资源观看无广告 | 日本久久精 | 国产精品毛片久久久久久久 | 欧美精品成人一区二区三区四区 | 国产乱码精品一品二品 | 精品日韩一区二区三区av动图 | 亚洲精品乱码久久久久久蜜桃91 | 人妖videosex高潮另类 | 福利一区在线观看 | 国产精品一区二区三区在线 | 欧美精品一区三区 | 99久久精品一区二区成人 | 91精品久久久久久久 | 一级视频在线免费观看 | 欧美日韩亚洲在线 | 欧美日韩三级 | 久久久精品一区二区三区 | 久久国产亚洲 | 日本在线免费观看 | 国产精品中文字幕在线 | 色婷婷精品 | 国产精品自产av一区二区三区 | 一区二区三区亚洲 | 亚洲狠狠丁香婷婷综合久久久 | 久久成人av电影 | 小草久久久久久久久爱六 | 日韩一区二区免费视频 | 欧美aⅴ| 欧美日韩亚洲一区 | 欧美日韩综合精品 | 91丨国产|