亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

應(yīng)用維護之后臺進程

IT那活兒 / 3010人閱讀
應(yīng)用維護之后臺進程
[
一、后臺進程介紹
]


應(yīng)用后臺進程的意義不同于系統(tǒng)后臺進程,系統(tǒng)后臺進程指的是系統(tǒng)守護進程等,應(yīng)用后臺進程指的是應(yīng)用系統(tǒng)中獨立部署的一種進程,一般此類進程大多按功能點劃分部署,一個進程實現(xiàn)一個功能點。


使用后臺進程的優(yōu)缺點:

優(yōu)點:通過后臺進程實現(xiàn)功能的解耦,當(dāng)業(yè)務(wù)需求變更時,只需要找到對應(yīng)功能的進程進行代碼更新即可,且便于版本上線發(fā)布;


缺點:業(yè)務(wù)復(fù)雜且變更頻繁的系統(tǒng),會產(chǎn)生大量的后臺進程,不便于后期維護管理;


[
二、后臺進程的管理
]


以某運營商為例,筆者剛接手生產(chǎn)系統(tǒng)維護時,維護范圍包括2000多的后臺進程維護,但沒有任何的資料,進程的功能用途全都在前輩的腦海里。


1、梳理后臺進程信息

該項工作前期花費筆者大量時間,前期跟局方多次討論后確定可能涉及的項目后,花費數(shù)月的時間將分布在40余臺小機上的進程進程信息并整理入庫。


1 )主要梳理方法通過ps取到所有進程的運行目錄,然后根據(jù)目錄類啟動腳本進行匹配,得到進程目錄、腳本、進程數(shù)量、開發(fā)語言、資源類等部分所需信息形成初步進程列表。


2 )將初步進程列表反饋給局方以及開發(fā)商,協(xié)調(diào)其補充進程信息、業(yè)務(wù)、項目經(jīng)理、網(wǎng)絡(luò)等信息,形成一個較為完備的進程信息并寫入到性能基線庫的process進程信息表,如下;

這是個排雷踩坑的過程,期間發(fā)現(xiàn)各式問題(分享2個常見問題):

1 )期間發(fā)現(xiàn)大量無人認(rèn)領(lǐng)的進程,對于該部分進程只能以現(xiàn)有信息入庫作為存量待補全進程,在后期版本更新中慢慢補充;

2 )同一目錄多個進程多個啟動腳本且腳本之間相互有交集,對于該部分只能仔細(xì)區(qū)分同時協(xié)調(diào)開發(fā)商測試環(huán)境進行確認(rèn);


2、梳理完善進程監(jiān)控

在前期進程信息梳理基本完成后,開發(fā)工具對主機進程進行管理,主要兩個方面:


1 )常駐進程監(jiān)控,同步process表至主機比對主機實際運行進程情況,主要比對進程數(shù)量、生產(chǎn)用戶以及資源使用等情況


2 )定時任務(wù)監(jiān)控,主要與process表數(shù)據(jù)對比,是否存在未經(jīng)授權(quán)或登記的任務(wù);


3、梳理進程用途及責(zé)任人

在初步完成主機進程整理以及監(jiān)控后,由于局點每月有多次上線任務(wù)且均伴有進程上線或更新工作,經(jīng)與局方討論我們開始對進程涉及業(yè)務(wù)、涉及資源(數(shù)據(jù)庫、中間件、網(wǎng)絡(luò)、文件系統(tǒng)等)進行登記及新增進程審核等工作。

存量進程:基于監(jiān)控項梳理責(zé)任人后,分別跟進責(zé)任人確認(rèn)進程功能用途;


新增進程:版本上線前要求開發(fā)側(cè)提交進程信息,介入進程評審管控,上線完成后對實際進程進行檢查;

對于進程管理經(jīng)與局方討論,目前已明確所有進程變更(新增、修改、下線)均要求走進程變更流程,按下圖excel表格提供進程信息提交維護團隊進行評審管理。


評審?fù)ㄟ^后將進程信息更新入庫。


[
三、進程故障診斷及處理
]


在維護后臺進程過程中,筆者發(fā)現(xiàn)進程故障主要有以下三種情況:


1、進程異常掉線

對于進程異常掉線情況,目前已做bomc監(jiān)控以及異常進程信息入庫等


2、進程僵死

在進程維護中,經(jīng)常會發(fā)現(xiàn)進程狀態(tài)或者日志等均顯示正常,但是進程數(shù)據(jù)未得到處理,這種情況我們將其定義為僵死。該種情況目前處理辦法主要是通過添加業(yè)務(wù)監(jiān)控,發(fā)現(xiàn)數(shù)據(jù)積壓或規(guī)定時間未處理及時告警。目前該種情況筆者及同事未有較為有效的辦法進行處理,歡迎提供意見。


3、處理效率不足

特殊情況下處理效率問題主要是月頭月末關(guān)鍵進程比如各渠道的繳費、停開機等數(shù)據(jù)量監(jiān)控,發(fā)現(xiàn)處理效率不夠時及時擴容進程個數(shù)等。


[
四、進程高可用改造及性能優(yōu)化
]


進程信息梳理完后,標(biāo)志后臺進程已經(jīng)納入維護管理范圍,但并非針對進程的維護到此為止,專業(yè)的維護工程師還可以進一步對后臺進程進行高可用改造及性能優(yōu)化;


1、進程高可用

1 )對進程進行分級,時效性要求沒有那么高,我們目前采用冷備的方式實現(xiàn)進程高可用;

2 ) 對關(guān)鍵、實時性要求較高進程,我們采用分布式部署;

流程說明:

  1. 進程調(diào)用中間件來驅(qū)動任務(wù)處理。

  2. 中間件調(diào)用zookeeper獲取鎖,如果獲取失敗,則等待一定時間,再次嘗試。

  3. 獲取鎖成功后,查詢數(shù)據(jù),將取出的數(shù)據(jù)狀態(tài)修改為處理中。

  4. 中間件調(diào)用zookeeper釋放鎖。

  5. 邏輯處理。


2、數(shù)據(jù)源高可用

考慮當(dāng)出現(xiàn)數(shù)據(jù)庫單節(jié)點故障時,支持進程failover自動切換,同時采用LDAP實現(xiàn)數(shù)據(jù)源的統(tǒng)一管理。

1 )在所有進程主機上配置優(yōu)先使用ldap獲取tnsname

  1. ) 將tnsname配置為支持failover自動切換


3、進程的分類分機器部署

為了方便進程的管理,我們按進程所屬業(yè)務(wù)分類,將一類業(yè)務(wù)的進程都集中部署到指定的幾臺機器,提升可維護性。

目前共計部署有54臺進程主機,共計分16類業(yè)務(wù)主要包括集團業(yè)務(wù)、工單發(fā)送、后臺批量、短信等


4、后臺進程之守護進程

后臺進程的守護進程是指通過定時任務(wù)的方式定時探測后臺進程狀態(tài)是否存活,如狀態(tài)異常則立即重啟后臺進程。

使用守護進程的優(yōu)點是異常自愈,缺點是異常處理不夠健壯的進程,出現(xiàn)故障時容易反復(fù)掉線。守護進程反復(fù)重啟,可能會掩蓋掉進程的監(jiān)控告警,不便于運維人員及時發(fā)現(xiàn)異常。

因此筆者維護的系統(tǒng)一般在開發(fā)商修復(fù)過程中使用,其他情況不推薦使用守護進程。


[
五、進程自動化
]


1、后臺進程的批量啟停,批量啟停筆者分了兩種場景


1 )按機器全停,該場景適用于大型割接,局點業(yè)務(wù)全停

2 )部分資源割接,涉及指定進程,該部分通過process表配置啟停任務(wù)程序自動處理;


2、數(shù)據(jù)源切換

配置進程failover自動切換,同時采用LDAP實現(xiàn)數(shù)據(jù)源的統(tǒng)一管理


3、平臺查詢功能

目前可以通過自動化平臺查詢各進程相關(guān)信息等


[
五、總結(jié)
]


后臺進程作為應(yīng)用系統(tǒng)中的一種類型,維護思路與中間件等其它應(yīng)用大同小異。由于筆者維護系統(tǒng)的特殊性,后臺進程非常多,且變更頻繁。在初期維護過程中走了不少彎路,特此總結(jié)下經(jīng)驗分享給大家。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/130107.html

相關(guān)文章

  • 構(gòu)建 Web 應(yīng)用 Service Worker 初探

    摘要:誕生之初,是單線程的。當(dāng)接收到服務(wù)端的響應(yīng)之后,便通過回調(diào)函數(shù)執(zhí)行之后的操作。沖鋒基于事件驅(qū)動。擁有攔截請求消息推送靜默更新地理圍欄等服務(wù)??刂茣r處于兩種狀態(tài)之一終止以節(jié)省內(nèi)存監(jiān)聽獲取和消息事件。支持的所有事件五銷毀瀏覽器決定是否銷毀。 這次體驗一種新的博客風(fēng)格,我們長話短說,針針見血。 showImg(https://segmentfault.com/img/remote/14600...

    voidking 評論0 收藏0
  • 干貨|宏巍軟件Java線程監(jiān)控

    摘要:宏巍電商軟件是在阿里體系內(nèi)使用他們的,然后在上用多進程做的集群,端和接口系統(tǒng)都是使用語言實現(xiàn)的。宏巍電商軟件架構(gòu)我們嘗試過很多方法來進行線程狀態(tài)的監(jiān)控,比如開始時使用等工具來讀取的狀態(tài),同時也嘗試用過的,但都不能滿足電商產(chǎn)品性能監(jiān)控需求。 宏巍軟件 許向 大家好,我是上海宏巍信息技術(shù)有限公司(簡稱:宏巍軟件)的許向,宏巍軟件成立于2005年,是一家以電商ERP軟件開發(fā)為主的高新技術(shù)科技...

    entner 評論0 收藏0
  • Docker 筆記(1):介紹、鏡像、容器及其基本操作

    摘要:由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。鏡像實際是由多層文件系統(tǒng)聯(lián)合組成。容器可以被創(chuàng)建啟動停止刪除暫停等。容器的實質(zhì)是進程,但與直接在宿主執(zhí)行的進程不同,容器進程運行于屬于自己的獨立的命名空間。 Docker簡介 Docker 使用 Google 公司推出的 Go 語言 進行開發(fā)實現(xiàn),基于 Linux 內(nèi)核的 cgroup,namespace,以及 AUFS ...

    khs1994 評論0 收藏0
  • ANR詳細(xì)介紹

    摘要:使用或者時,調(diào)用設(shè)置優(yōu)先級,否則仍然會降低程序響應(yīng),因為默認(rèn)的優(yōu)先級和主線程相同。使用處理工作線程結(jié)果,而不是使用或者來阻塞主線程。目錄介紹 1.ANR簡單介紹 2.ANR發(fā)生場景 3.ANR發(fā)生的原理 4.ANR有哪些具體案例 5.ANR具體如何分析 6.解決方案 7.ANR問題解答 好消息 博客筆記大匯總【16年3月到至今】,包括Java基礎(chǔ)及深入知識點,Android技術(shù)博客,P...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<