主要版本发布后Java开发人员应使用的15种工具
新部署的生存工具包:適用于Java開發(fā)人員的工具,這些工具經(jīng)常將代碼部署到生產(chǎn)中!
Takipi會檢測生產(chǎn)中的所有錯誤,并像發(fā)生錯誤時一樣顯示變量值
立即部署并獲得免費的T恤
適用于新部署的終極生存套件
與在僵尸末日場景下玩弄,用砍刀和the彈槍爭論不一樣,Java生產(chǎn)環(huán)境中的麻煩是很真實的,尤其是在新部署之后(但也準(zhǔn)備好接受僵尸是一件好事)。 如果將新的代碼發(fā)布周期縮短到幾周,有時甚至是幾天甚至一天多次,那么比以往任何時候都更容易陷入麻煩。 為避免被僵尸撞倒,這里是生存套件的設(shè)置,您需要充分了解新代碼對系統(tǒng)的影響。 有什么事嗎 它在減慢你的速度嗎? 以及如何解決? 這是一勞永逸地破解它的工具集和體系結(jié)構(gòu)。
記錄中
除了縮短發(fā)布周期外,現(xiàn)代開發(fā)生命周期的另一個特性是不斷擴展日志文件,每天可以達到GB。 假設(shè)新部署后出現(xiàn)了一些問題:如果您想及時做出響應(yīng),那么在沒有適當(dāng)工具的情況下,處理來自多個源和計算機的非結(jié)構(gòu)化數(shù)據(jù)的GB幾乎是不可能的。 在此空間中,我們可以將工具本質(zhì)上劃分為重型企業(yè)本地Splunk及其SaaS競爭對手,例如Sumo Logic,Loggly等。 類似的產(chǎn)品有很多選擇,因此我們編寫了更深入的日志管理分析,您可以在此處閱讀。
要點1:設(shè)置合理的日志管理策略,以幫助您查看裸日志文件之外的內(nèi)容,并在新部署后快速做出反應(yīng)。
開源ELK堆棧是我們發(fā)現(xiàn)的一種在部署新代碼后非常有用的日志記錄體系結(jié)構(gòu)。 值得一提的是它是開源和免費的。
ELK堆棧:ElasticSearch,Logstash和Kibana
那么我們在談?wù)撌裁碋LK? Elasticsearch的搜索和分析功能的組合,Logstash作為日志聚合器,Kibana用于精美的儀表板可視化。 我們使用它已經(jīng)有一段時間了,它通過日志和Redis從Java中獲取它,開發(fā)人員和BI都在使用它。 如今,elasticsearch幾乎是Logstash內(nèi)置的,而Kibana也是elasticsearch的產(chǎn)品,使集成和設(shè)置變得容易。
當(dāng)新的部署推出時,儀表板將遵循我們針對應(yīng)用運行狀況設(shè)置的自定義指標(biāo)。 這些指標(biāo)實時更新,可以在新交付的代碼上載到生產(chǎn)環(huán)境后的第一步時進行密切監(jiān)視。
要點2:搜索,可視化以及從多個來源匯總?cè)罩镜暮啽阈允谴_定日志管理策略的關(guān)鍵因素。
要點3:從開發(fā)人員的角度來看,評估新部署的影響還可以包括BI方面。
檢查工具:
性能監(jiān)控
因此,發(fā)布周期縮短了,日志文件也越來越大,但這還不是全部:用戶請求的數(shù)量呈指數(shù)增長,并且他們都期望達到最佳性能。 除非您努力優(yōu)化它,否則簡單的日志記錄只會帶您到此為止。 話雖如此,專用的應(yīng)用程序性能管理工具已不再被視為一種奢侈,而是Swift成為一種標(biāo)準(zhǔn)。 本質(zhì)上,APM意味著定時執(zhí)行代碼中的不同區(qū)域并完成事務(wù)所需的時間-這可以通過檢測代碼,監(jiān)視日志或包括網(wǎng)絡(luò)/硬件指標(biāo)來實現(xiàn)。 無論是在后端還是在用戶的設(shè)備上。 我想到的頭兩個現(xiàn)代APM工具是最近剛進行首次公開??募股的New Relic和AppDynamics。
左側(cè)為AppDynamics,右側(cè)為New Relic –主儀表板屏幕
傳統(tǒng)上,每個企業(yè)都針對不同類型的開發(fā)人員,從企業(yè)到初創(chuàng)企業(yè)。 但是,隨著兩家公司都開始進行首次公開??募股,并且在經(jīng)歷了巨大的增長之后,兩者之間的界限越來越模糊。 選擇不明確,但您不會出錯–前提是= AppDynamics,否則,這是一個單獨的調(diào)用,具體取決于哪個更適合您的堆棧(以及它們提供的所有功能中的哪些是您實際上想使用的功能) )。 看看這兩個頭部比較頭,我們最近發(fā)布的分析就在這里 。
最近發(fā)布的另外兩個有趣的工具是Ruxit(由Compuware公司提供)和DripStat(由Chronon Systems公司提供),每種工具均來自大型公司,他們試圖解決由New Relic率先開發(fā)的SaaS監(jiān)控市場。 考慮到核心JVM內(nèi)部組件,jClarity和Plumbr也絕對值得一試。
要點4:新部署可能會影響您應(yīng)用程序的性能并降低其性能,APM工具可以提供有關(guān)應(yīng)用程序運行狀況的全面概述。
檢查工具:
新玩家:
生產(chǎn)調(diào)試
發(fā)布周期縮短,日志文件變大,用戶請求爆炸,并且……錯誤的余地根本不存在。 當(dāng)出現(xiàn)錯誤時–您需要立即解決它。 大型生產(chǎn)環(huán)境每天可能在代碼中的數(shù)百個不同位置產(chǎn)生數(shù)百萬個錯誤。 盡管有些錯誤可能是微不足道的,但有些錯誤會破壞關(guān)鍵的應(yīng)用程序功能并在您不知情的情況下影響最終用戶。 傳統(tǒng)上,要識別和解決這些錯誤,您甚至必須依靠日志文件或日志管理工具來知道發(fā)生了錯誤,更不用說如何解決了。
使用Takipi,您可以知道哪些錯誤構(gòu)成最高風(fēng)險,應(yīng)該對其進行優(yōu)先級排序,并獲得有關(guān)如何解決每個錯誤的可行信息。
考慮到新部署后出現(xiàn)的錯誤,Takipi解決了3個主要問題:
要點5:使用Takipi,您可以Swift采取行動解決任何問題,而在新版本發(fā)布后,您將不再處于黑暗之中。
檢查工具:
警報和跟蹤
發(fā)布周期,日志文件,用戶請求,沒有差錯的余地……等等。 您可能會認(rèn)為此類別與其他類別重疊,事實是您可能是對的,但是當(dāng)所有這些工具都有自己的管道來讓您知道發(fā)生了什么時,它就會變得很混亂。 尤其是在新部署后的軟弱環(huán)境中,很容易發(fā)生各種意外的事件(這是更柔和的說法…… 所有地獄都破滅了)。
解決這一問題的領(lǐng)先事件管理工具之一是PagerDuty:從監(jiān)視工具收集警報,創(chuàng)建時間表以協(xié)調(diào)團隊并通過文本,電子郵件,短信或推送通知將每個警報傳遞給合適的人。
要點六:考慮使用事件管理系統(tǒng)來處理信息過載。
我們真正喜歡在這里使用的一種專用工具是Pingdom(它也與Pagerduty集成了)。 它的作用非常簡單并且可以正常工作:24/7跟蹤和提醒我們網(wǎng)站的響應(yīng)時間。 回答一個看似微不足道的關(guān)鍵問題:網(wǎng)站可用嗎? 從全球各地進行探測。
所有系統(tǒng)都去了!
解決信息過載的另一個角度是錯誤跟蹤,它超出了日志分析器的功能:智能儀表板可管理異常和日志錯誤。 通過日志事件或其他來自代碼的插件,將所有服務(wù)器和計算機中的數(shù)據(jù)聚合到一個位置。 要深入了解錯誤跟蹤工具的情況, 請查看這篇涵蓋最流行選項的文章。
要點7:代碼錯誤有各種形式和大小,值得使用錯誤跟蹤工具對其進行一些特殊處理(在我們使用它時,粉碎一些錯誤,穆哈哈)。
檢查工具:
結(jié)論
我們已經(jīng)親身體驗了現(xiàn)代軟件開發(fā)如何影響發(fā)行版生命周期,并深入了解了如何評估新快速部署的影響-在甚至完全了解上次更新的影響之前就可以引入新代碼的時間。 在總體方案中,您考慮使用的任何工具都應(yīng)滿足以下5個特征:
最重要的是,請考慮一下您今天如何處理這些問題,這會占用您太多時間。 很有可能有解決該問題的工具。
Takipi會檢測生產(chǎn)中的所有錯誤,并像發(fā)生錯誤時一樣顯示變量值
立即部署并獲得免費的T恤
翻譯自: https://www.javacodegeeks.com/2014/12/15-tools-java-developers-should-use-after-a-major-release.html
總結(jié)
以上是生活随笔為你收集整理的主要版本发布后Java开发人员应使用的15种工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公斤单位是什么字母 公斤单位怎么表示
- 下一篇: Java EE 7批处理和魔兽世界–第2