国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

又一批長事務,P0故障誰來背鍋?

網絡 通信技術
最近幾周,發生過多起因為事務問題引起的服務報錯。現象為數據庫連接池連接占滿,數據庫連接長時間等待,最終導致請求線程hang住,服務大面積報錯。

 最近幾周,發生過多起因為事務問題引起的服務報錯。現象為數據庫連接池連接占滿,數據庫連接長時間等待,最終導致請求線程hang住,服務大面積報錯。這個時候,服務資源、數據庫資源大量空閑,但就是進行不下去,影響是比較惡劣的。

[[321600]]

誰來背鍋?當然是架構師。因為這次所有的服務都活著,沒運維什么事。

面試時,大家可能都會碰到關于事務相關的問題,升級版的可能是分布式事務的問題。在互聯網行業中,一句馬馬虎虎的補償事務就能蒙混過關,畢竟都是些短小精悍的接口。

但在很多企業級應用中,這行不通。我們必須直面慘淡的現實。

為什么要用長事務?

在許多業務非常復雜的后臺系統,經常頻繁操作DB,為了保證數據的一致性,能夠在出錯時回滾數據,通常會使用事務。

就拿最簡單的單機數據庫事務來說。

在事務操作期間,如果持續時間過長,只有等事務結束之后,DB連接才會釋放,此類長時間占用DB連接的事務操作,稱為長事務。一旦外部有大量請求,并發調用此操作,那么將會有大量的DB連接被持有而沒有被釋放掉,直到連接池爆滿。

這個時候,如果有其他請求到來,那十有八九是以失敗告終。

也就是說,連接資源被少數長事務操作占用。在這種情況下,即使是最簡單接口查詢,都不能夠正常進行。

幾粒老鼠屎,壞了一鍋粥。

一些魔幻的反應

當你去排查這種問題的時候,可能會陷入僵局。jstack顯示,多數請求其實是阻塞在tomcat的線程池上,而且是一些訪問速度非常快的請求被阻塞。

比如,tomcat的200個線程,有180個阻塞在耗時不到1ms的/status接口上。

很多人就一臉懵逼。經驗失靈。

jstack此時的輸出結果,欺騙了我們。真正造成阻塞的,是那額外的20多個線程。

有哪些改善?

保證事務的短小是一個基本要求,包括但不限于:

應控制慢查詢的調用頻率,盡量減少慢查詢。很多情況下,這條規則是自欺欺人的,需要業務做一些妥協。

事務內不應包含任何RPC調用,減少事務的粒度。通常,一些RPC調用,包括其他非事務資源的調用,耗時非常不可控。如果把它們也納入事務的范圍之內,勢必會加劇資源的占用。事務內不應包含其他容易超時或者長時間阻塞的服務,如HTTP調用、IO操作。

次優先級服務如消息隊列,不應該放在事務內,避免因為消息隊列不可用引起的服務不可用。給類似消息隊列的組件,設置一個合理的超時時間的非常有必要的,否則它就會一直等在那里。但即使是這樣,也盡量不要把它們納入到事務操作之內。

跨庫、跨類型(如Redis),不應該放在同一事務中,可避免交叉影響。

你可以看到上面的這些描述,有些和我們所追求的數據一致性是相悖的。這不奇怪,依然是CAP原理的權衡。有些業務選擇的是寧可卡死不再響應,也不能進入異常數據;有些則首先讓業務運行下去,臟數據會通過補償事務進行修正。

一切看你的選擇。

設計總有人背鍋,補償總有人做出犧牲。

解決方式

那么如何來快速解決大事務造成的服務不可用問題呢?

除了擴容,其實是無解。重啟大法也不見得好用。因為被阻斷的請求,會以更兇猛的態勢再次來襲。

你可能會想到調大連接池的大小。但在實踐中得知,也不好用,大事務請求會迅速將連接池占滿。

但我們可以提前進行防御。

以Spring為例,事務的使用方式大多數是使用@Transactional注解來控制的,或者是聲明式事務方式。我建議以以下方式進行預防和發現:

1) 重新掃描或者Review業務代碼,排查事務中是否有以上提到的各種情況。然后將除DB操作外的其他操作移動到事務之外。

2) 每個事務操作都給予足夠重視,對于執行復雜度和時間復雜度不確定的事務,添加超時報警,及時發現引起的原因。

同時,還需要加強監控,輔助進行問題排查。

1) 業務可以考慮定時將數據庫連接池的信息進行打印,通過看日志的方式進行初步排查。

2) 使用jstack查詢執行棧,找出阻塞的點。

3) 排查并聯系下游服務,找出主要原因

xjjdog傾向于使用監控快速發現問題。如圖,通過連接池監控,可以看到數據庫連接池連接數長時間保持在高位不釋放,同時等待的線程數急劇增加。發生此種現象多數可以考慮是否是以上原因引起。

 

發生問題時,應及時(多次)使用jstack定位到線程的阻塞位置,然后排查下游服務是否有問題,或者是否存在慢查詢。

最好的情況是服務已經進行了對代碼的梳理,那么引起的原因大概率只剩下了慢查詢。針對慢查詢,druid數據庫連接池,提供了sql的聚合,能夠查看是每一類查詢語句的具體執行情況。如圖,短時間內SQL請求飆升,最大執行時長上升,連接池占滿:

 

具體是哪一句SQL所引起的,一目了然。

End

長事務問題的危險級別屬于高危型,通常會造成嚴重的后果,可以通過觀察監控,防范于未然。

最優的解決方式,當然是業務模型的改進。但這東西第一涉及到開發成本,第二涉及到跨部門協作。

出錢的老板,無法聽懂你這些夢話。

在一些公司內部,這兩者都是讓人抓狂的事情,還不如痛痛快快背個鍋,來得實在。

責任編輯:武曉燕 來源: 小姐姐味道
相關推薦

2020-05-07 09:43:40

故障代碼密碼

2023-12-05 09:46:30

2018-12-07 14:50:54

內核組件開源Facebook

2021-08-16 15:50:24

輔助駕駛自動駕駛蔚來

2021-08-05 06:46:39

P0故障公司

2024-02-19 13:09:21

代碼數據Copilot

2023-11-30 07:28:29

滴滴技術故障

2025-01-17 12:03:24

2020-02-15 12:14:05

曙光

2022-03-13 22:50:47

P0故障HBase

2019-12-03 13:57:38

CIO背鍋IT

2025-03-10 08:20:53

代碼線程池OOM

2021-04-30 07:09:48

SQLP0事故

2024-01-12 07:07:59

2023-06-07 07:27:32

唯品會冷凍系統故障

2017-09-25 10:52:27

2018-05-08 09:49:15

數據庫運維優化

2021-06-24 17:37:58

機器學習人工智能計算機

2013-02-25 10:48:53

RubyWeb

2019-09-17 10:31:51

崗位產品程序員
點贊
收藏

51CTO技術棧公眾號

色综合一个色综合亚洲| 日本网站在线观看一区二区三区| 国产校园另类小说区| 欧美亚洲国产免费| 91精品一久久香蕉国产线看观看 | 激情久久中文字幕| 91av视频导航| 女生影院久久| 精品少妇一区二区| 日韩a级作爱片一二三区免费观看| 99re66热这里只有精品3直播| 国产无套精品一区二区| 国产一区二区三区四区五区传媒 | 蜜桃免费网站一区二区三区| 久久久久国产精品免费| 欧美美女福利视频| 在线视频欧美日韩| 超级白嫩亚洲国产第一| 欧美日韩色综合| 在线中文资源天堂| 制服.丝袜.亚洲.中文.综合| 国产高清免费av在线| 99re6这里只有精品| 国产精品久久久久av| 亚洲国产精品嫩草影院久久av| 久久亚洲综合国产精品99麻豆精品福利 | 色妞www精品视频| 福利在线视频导航| 日韩免费特黄一二三区| 欧美亚洲另类在线| 一区二区三区四区电影| 欧美精品欧美精品| 99久久久无码国产精品| 先锋影音成人资源| 午夜精品一区二区三区免费视频| 男人天堂v视频| 欧美精品一区二区三区很污很色的| 亚洲免费视频一区| 欧美hd在线| 日韩毛片在线免费看| 99香蕉久久| 成人性生交大片免费观看嘿嘿视频 | 亚洲春色在线| 日韩精品在线中文字幕| 夜色77av精品影院| 国产精品久久久久久久久搜平片| 男人的天堂在线视频免费观看 | 免费观看久久久久| 国产精品直播网红| 麻豆精品蜜桃视频网站| 小草在线视频在线免费视频 | 美女视频黄免费的亚洲男人天堂| 女人让男人操自己视频在线观看| 国产午夜精品全部视频播放| 性国裸体高清亚洲| 最新91在线视频| 99精品国产高清一区二区麻豆| 久久99精品视频| 国产成人一区二区三区别| 亚洲精品视频在线观看免费 | 国产一区二区三区四区五区入口 | 亚洲乱码av中文一区二区| 日韩电影不卡一区| 亚洲一区二区在线免费观看| 一区二区三区加勒比av| 91九色美女在线视频| 91视频免费网站| 久久久久国产免费免费| av资源在线| 精品日本一区二区三区在线观看| 91社区在线播放| 亚洲wwww| 最新精品视频| 日韩欧美在线网站| 亚洲激情一区二区| 91精品国产高清久久久久久91| 香港欧美日韩三级黄色一级电影网站| 一区二区视频在线播放| 欧美丰满少妇xxxxx高潮对白 | 成人3d精品动漫精品一二三| 中文字幕在线观看一区二区三区| 色天使色偷偷av一区二区| 婷婷精品在线| 丝袜制服一区二区三区| 久久99热精品这里久久精品| 91免费观看视频在线| 在线一区视频观看| 国产91porn| 久久中国妇女中文字幕| 国产色一区二区| 2019中文亚洲字幕| 国产三级免费观看| 国产精品久久久久久久久久久久久| 亚洲人精品午夜| 91综合视频| 成人免费在线| 亚洲五月六月| 色七七影院综合| 夜夜嗨av一区二区三区四季av | 欧美国产一区二区在线观看| 妖精一区二区三区精品视频| 亚洲精品套图| 在线码字幕一区| 欧美另类精品xxxx孕妇| 亚洲免费三区一区二区| 久久国产成人| 91精品导航| 69久久夜色| 激情五月六月婷婷| 性色av一区二区三区红粉影视| 亚洲午夜电影在线| 久久精品国内一区二区三区| 午夜视频在线观看精品中文| 成人在线观看黄色| 亚洲人成无码网站久久99热国产 | 亚洲人成伊人成综合网小说| 日韩国产精品大片| 国产不卡av一区二区| 99久久精品免费看国产小宝寻花 | 搜成人激情视频| 亚洲综合在线一区| 久久亚洲a v| 国产伦精品一区二区三区高清版| 色爱精品视频一区| 51久久夜色精品国产麻豆| 国产欧美一区二区精品婷婷| 久久精品国产网站| 亚洲综合色站| 女优一区二区三区| 日本中文字幕一级片| 国产乱码精品一区二区三区日韩精品| 色婷婷av一区二区三区在线观看 | 欧美大片免费高清观看| 欧美zozo| 调教视频在线观看| 成人羞羞国产免费网站| 亚洲狠狠婷婷综合久久久| 99久久国产免费免费| 国产ts人妖一区二区三区| 欧美国产精品va在线观看| 有码中文亚洲精品| 亚洲男女自偷自拍图片另类| 欧美精品久久天天躁| 天天影视涩香欲综合网| 国产精品大尺度| 国产精品福利电影一区二区三区四区| 久久久国产午夜精品| 丁香婷婷深情五月亚洲| jizz一区二区| 国产欧美日产一区| 亚洲美女视频在线观看| 一区二区三区成人在线视频| 国产在线不卡一区二区三区| 97精品国产99久久久久久免费| 日本欧美韩国| 国产精品tv| 欧美在线免费看视频| 999在线观看精品免费不卡网站| 夜夜夜久久久| 青青草成人在线观看| 成人性视频网站| 亚洲欧美日韩一区| 婷婷综合在线观看| 欧美性大战久久久久久久| 精品久久久久久亚洲综合网| 中文欧美日本在线资源| 欧美中文字幕精品| 日韩欧美99| 日本xxxxxxx免费视频| 一级二级三级在线观看| av片在线观看网站| 综合久久av| 日韩精彩视频在线观看| 91蜜桃视频在线| 在线视频观看一区| 在线视频欧美性高潮| 国产精品视频26uuu| 欧美在线视频二区| 天天噜天天色| 国产私拍福利精品视频二区| 999久久久精品国产| 26uuu色噜噜精品一区二区| 日韩欧美中文字幕在线观看| 中文字幕免费精品一区高清| 精品欧美一区二区三区久久久| 激情视频综合网| 电影一区二区三区| 亚洲欧美日韩国产一区| 亚洲欧洲日韩在线| 中文字幕精品久久久久| 久久国产一区| 91大神在线网站| 欧美电影一二区| 中文字幕在线观看一区二区| 亚洲日本aⅴ片在线观看香蕉| 视频一区视频二区视频三区视频四区国产 | 欧美大成色www永久网站婷| 伊人久久大香线蕉综合75| 国产一区精品| 国内自拍一区|