生產事故-記一次特殊的OOM排查
入職多(duo)年,面對生產環境,盡管都(dou)是(shi)小心翼(yi)翼(yi),慎之又(you)慎,還是(shi)難免(mian)捅(tong)出簍子(zi)。輕(qing)則滿(man)頭大汗,面紅耳(er)赤。重則系統停擺,損失資金。每一個生產事(shi)故的背后,都(dou)是(shi)寶(bao)貴的經驗和教訓,都(dou)是(shi)項目成員的血淚史。為(wei)了更好地防范和遏制今后的各類事(shi)故,特開此專題,長期更新和記錄大大小小的各類事(shi)故。有些是(shi)親身經歷,有些是(shi)經人耳(er)傳口授 ...
RabbitMQ真實生產故障問題還原與分析
RabbitMQ生(sheng)產故障(zhang)問(wen)(wen)題(ti)分析(xi) 由某(mou)一次真(zhen)實生(sheng)產環境rabbitMQ故障(zhang)引發血案(an),下面(mian)復(fu)盤(pan)問(wen)(wen)題(ti)發生(sheng)原因以及問(wen)(wen)題(ti)解決方(fang)法。 1、 問(wen)(wen)題(ti)引發 由某(mou)個(ge)服務BI-collector-xx隊(dui)列出現(xian)阻塞,影響(xiang)很整個(ge)rabbitMQ集(ji)群服務不可(ke)用,多個(ge)應(ying)用MQ生(sheng)產者服務出現(xian)假死狀態(tai),系統影響(xiang)面(mian)較廣,業務影響(xiang)很大 ...
.NET AsyncLocal 避坑指南
AsyncLocal 用(yong)法簡介 通(tong)過 AsyncLocal 我們(men)可(ke)以在一個邏(luo)輯上(shang)下文(wen)(wen)中(zhong)維護一份私有(you)數(shu)據,該上(shang)下文(wen)(wen)后續代(dai)碼中(zhong)都可(ke)以訪問(wen)和修改這份數(shu)據,但另一個無關的上(shang)下文(wen)(wen)是無法訪問(wen)的。 無論是在新創建的 Task 中(zhong)還是 await 關鍵詞之(zhi)后,我們(men)都能夠訪問(wen)前面設置的 AsyncLocal 的數(shu)據。 ...
我已經受夠了“系統異常”!
你有沒有這樣的經驗:用個(ge)(ge)軟件,隔三(san)岔五彈個(ge)(ge)框:系統異(yi)常!無論作為用戶還(huan)是程序員,一見到“系統異(yi)常”四個(ge)(ge)大字,我(wo)整個(ge)(ge)人都(dou)不好了。 ...
分布式事務 | 使用DTM 的Saga 模式
DTM 首創的(de)(de)子(zi)事務(wu)屏障(zhang)技術,使得開發者基于DTM 提(ti)供的(de)(de)SDK能夠(gou)輕松開發出更可靠的(de)(de)分布(bu)式應用(yong),徹底將開發人(ren)員從(cong)網絡異常的(de)(de)處理中解放出來,再(zai)也不(bu)用(yong)擔心(xin)空補償、防懸掛、冪等等分布(bu)式問題。如(ru)果要進行分布(bu)式事務(wu)框架(jia)的(de)(de)選(xuan)型,DTM 將是不(bu)二之(zhi)選(xuan)。 ...
聊聊我與流式計算的故事
聊(liao)(liao)聊(liao)(liao)流(liu)式(shi)計(ji)(ji)算吧 , 那一(yi)段經歷于我(wo)(wo)而言(yan)很精彩,很有趣(qu),想把這段經歷分(fen)享(xiang)給大(da)家。 1 背(bei)景介紹 2014年,我(wo)(wo)在藝龍(long)旅行網促銷團隊負責紅包系統(tong)。 彼時(shi),促銷大(da)戰如火如荼,優(you)惠(hui)券計(ji)(ji)算服務(wu)(wu)也(ye)成為藝龍(long)促銷業(ye)務(wu)(wu)中最重要的(de)服務(wu)(wu)之一(yi)。 而優(you)惠(hui)券計(ji)(ji)算服務(wu)(wu)正是(shi)采用當時(shi)大(da)名鼎(ding)鼎(ding)的(de)流(liu)式(shi)計(ji)(ji)算框架(jia) Storm。 流(liu)式(shi)計(ji)(ji)算是(shi)利(li) ...
.NET 7 AOT 的使用以及 .NET 與 Go 互相調用
背景 其實,規劃這篇(pian)文章(zhang)有一段時(shi)間了(le),但是比(bi)較(jiao)懶,所(suo)以一直拖著沒寫。 最近時(shi)總更新太(tai)(tai)快了(le),太(tai)(tai)卷(juan)了(le),所(suo)以借著 .NET 7 正式(shi)版發(fa)布,熬夜寫完(wan)這篇(pian)文章(zhang),希(xi)望能夠追上時(shi)總的(de)一點距離。 本文主(zhu)要介(jie)紹如何在 .NET 和(he) Go 語言(yan)中如何生成系統(Windows)動(dong)態鏈接庫,又(you)如何從代碼(ma)中引用這些庫中的(de)函 ...
是什么讓.NET7的Min和Max方法性能暴增了45倍?
簡介 在之前的(de)(de)一篇文章(zhang).NET性(xing)(xing)能系列文章(zhang)一:.NET7的(de)(de)性(xing)(xing)能改(gai)進中我們聊到Linq中的(de)(de)Min()和Max()方法.NET7比.NET6有高達(da)45倍(bei)的(de)(de)性(xing)(xing)能提升,當時Benchmark代碼和結果如(ru)下所示: [Params(1000)] public int Length { get; set; } p ...
一次服務器被入侵的處理過程分享
下(xia)文(wen)(wen)(wen)中的,給(gei)文(wen)(wen)(wen)件(jian)(jian)和(he)目錄加(jia)鎖,是指給(gei)文(wen)(wen)(wen)件(jian)(jian)和(he)目錄增加(jia)了(le)(le)一些屬(shu)性,只(zhi)讀等。 chattr +ia ## 一、服務器(qi)入(ru)侵現(xian)(xian)象 近期(qi)有一個朋(peng)友的服務器(qi)(自(zi)己(ji)做了(le)(le)網站)好像(xiang)遭遇了(le)(le)入(ru)侵,具(ju)體現(xian)(xian)象是: 服務器(qi) CPU 資源(yuan)長期(qi) 100%,負載(zai)較高。 服務器(qi)上面的服務不能正常提供(gong)服務。 朋(peng)友處理了(le)(le)一會(hui)沒(mei)有解(jie)決,我開始 ...
重新理解微服務之終究繞不過這4個坎?(觀點探討)
系列文章 .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)技術選型篇 .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)技術架(jia)構分層篇 .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)DevOps篇 .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)負載(zai)(zai)均衡(上) .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)CI/CD .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)Kubernetes的搭建與使用 .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)負載(zai)(zai)均衡(下) .Net微服(fu)(fu)務(wu)(wu)(wu)實(shi)戰(zhan)(zhan)(zhan)之(zhi)(zhi)(zhi)必須得面 ...
十年技術進階路,讓我明白了三件要事(8000字長文)
前言 【本文于2022-5-10日首發(fa)于ITPUB微(wei)信(xin)公眾號平臺】 該(gai)篇文章是我第一(yi)次跟DTCC合作編(bian)寫(xie)的,整篇文章大概8000字(zi),可能花您15分鐘(zhong)閱讀。我和(he)DTCC的韓楠老師,共花7了天時間,每(mei)天把該(gai)文章打磨到晚上12點(dian),在這非常感謝(xie)編(bian)輯(ji)老師的負責與付出(chu)。 這篇也(ye)是我分享里為數(shu)不(bu)多“進階”與“成長 ...
【大話云原生】微服務篇-五星級酒店的服務方式
文(wen)章開(kai)始之前(qian),我(wo)給大家推(tui)薦一個(ge)人工智能(neng)(neng)學(xue)習(xi)網站,首先(xian)說(shuo)我(wo)之前(qian)是(shi)完全不涉及(ji)人工智能(neng)(neng)領(ling)域的,但是(shi)我(wo)盡然看懂了,以后老哥(ge)我(wo)就要參與(yu)人工智能(neng)(neng)了。如果你也想學(xue)習(xi),點(dian)擊跳轉(zhuan)到網站 《大話云原生(sheng)》系(xi)(xi)列(lie)文(wen)章期望用(yong)最(zui)通俗、簡單的語言說(shuo)明云原生(sheng)生(sheng)態系(xi)(xi)統內的組成及(ji)應(ying)用(yong)關系(xi)(xi)。此專欄的前(qian)兩(liang)篇文(wen)章 《【大話云原生(sheng)】煮餃子(zi)與(yu)do ...
【大話云原生】負載均衡篇-小飯館客流量變大了
文(wen)章(zhang)開始之(zhi)前(qian),我給大家推(tui)薦一(yi)個人(ren)工智能學習網(wang)站,首先說(shuo)我之(zhi)前(qian)是(shi)完全不涉及人(ren)工智能領域的(de)(de),但是(shi)我盡然看(kan)懂了,以后(hou)老哥我就(jiu)要參與(yu)人(ren)工智能了。如(ru)果你也想學習,點擊跳轉到(dao)網(wang)站 一(yi)、前(qian)言 這是(shi)《大話云原生(sheng)》系列(lie)的(de)(de)第二篇(pian),第一(yi)篇(pian)《煮餃子與(yu)docker、kubernetes之(zhi)間的(de)(de)關系》推(tui)出之(zhi)后(hou)受到(dao)大家的(de)(de)歡(huan)迎(ying),很多(duo) ...
【大話云原生】煮餃子與docker、kubernetes之間的關系
文章開始之前,我(wo)給大家推薦一個人(ren)工(gong)智能學習(xi)網站,首先說我(wo)之前是(shi)完全不涉(she)及人(ren)工(gong)智能領(ling)域的(de),但是(shi)我(wo)盡然看(kan)懂了,以后(hou)老哥(ge)我(wo)就要參與人(ren)工(gong)智能了。如果你也想學習(xi),點擊跳轉(zhuan)到網站 云(yun)原(yuan)生的(de)概念(nian)最近非常火爆,企業落地云(yun)原(yuan)生的(de)愿望也越發強烈(lie)。看(kan)過很(hen)多關于云(yun)原(yuan)生的(de)文章,要么云(yun)山霧罩,要么曲高和寡。 所(suo)以筆者就有了寫《 ...
一個故事看懂CPU的SIMD技術
好(hao)久不見,我(wo)叫(jiao)阿Q,是CPU一(yi)號車(che)(che)間(jian)的員工(gong)(gong)。我(wo)所(suo)在(zai)(zai)的CPU有(you)8個(ge)車(che)(che)間(jian),也就是8個(ge)核(he)心,咱們(men)每個(ge)核(he)心都可以同時執行(xing)兩(liang)個(ge)線程(cheng),就是8核(he)16線程(cheng),那速(su)度杠杠滴(di)。 我(wo)所(suo)在(zai)(zai)的一(yi)號車(che)(che)間(jian),除了負(fu)責(ze)執行(xing)指令的我(wo),還有(you)負(fu)責(ze)讀取指令的小A,負(fu)責(ze)指令譯碼的小胖和(he)負(fu)責(ze)結(jie)果回寫的老K,我(wo)們(men)幾個(ge)各司(si)其職,一(yi)起(qi)完成執行(xing)程(cheng)序的工(gong)(gong)作(zuo) ...
Dapr 知多少 | 分布式應用運行時
Dapr 是一(yi)個可移植的、事件驅動的運(yun)行時,它使任何開發人員能夠(gou)輕松構建(jian)出彈性的、無狀態和(he)有狀態的應用程序,并可運(yun)行在云平臺或邊緣計算(suan)中,它同(tong)時也支持多種開發語言(yan)和(he)開發框架。 ...
解讀容器的 2020:尋找云原生的下一站
作(zuo)者 | 張磊 來源|阿里巴巴云原生公眾號 2020 年注定是(shi)不凡(fan)的(de)。它在陰霾中(zhong)開(kai)始,在驚(jing)嘆中(zhong)結束,也讓未來變(bian)得更加撲朔迷離。那么,容器(qi)與云原生的(de) 2020 年呢?你是(shi)否記(ji)得它是(shi)怎(zen)樣開(kai)始的(de)?它又將走向何(he)方? Kubernetes:企業(ye)基礎設施的(de)標準(zhun)抽象 在 2020 年,沒有人再會去質疑一個平臺團隊 ...
圖解 | 原來這就是網絡
你(ni)(ni)(ni)是一(yi)臺(tai)電(dian)(dian)腦,你(ni)(ni)(ni)的名字叫 A 很(hen)(hen)久(jiu)很(hen)(hen)久(jiu)之(zhi)前(qian),你(ni)(ni)(ni)不與(yu)任何其他電(dian)(dian)腦相(xiang)連(lian)(lian)接,孤(gu)苦伶仃(ding)。 直到有(you)一(yi)天(tian),你(ni)(ni)(ni)希望與(yu)另(ling)一(yi)臺(tai)電(dian)(dian)腦 B 建立通信,于是你(ni)(ni)(ni)們各開了一(yi)個網口,用(yong)一(yi)根網線連(lian)(lian)接了起(qi)(qi)來。 用(yong)一(yi)根網線連(lian)(lian)接起(qi)(qi)來怎么就能"通信"了呢?我可以(yi)給(gei)你(ni)(ni)(ni)講 IO、講中斷、講緩沖區(qu),但這不是研(yan)究網絡時該關心的問(wen)題。 如果你(ni)(ni)(ni)糾結, ...
《Machine Learning in Action》—— 淺談線性回歸的那些事
tags:機器學習 《Machine Learning in Action》—— 淺談(tan)線性回(hui)歸的那些事 手(shou)撕機器學習算(suan)法系列文章已經(jing)肝了不少,自我感覺質量都(dou)挺不錯的。目前已經(jing)更新了支持向(xiang)量機SVM、決策樹、K-近鄰(KNN)、貝葉斯分類,讀者可根(gen)據以下內容自行“充電(dian)”(持續更新中): 《Machin ...
寫給程序員的機器學習入門 (九) - 對象識別 RCNN 與 Fast-RCNN
因為這幾個月飯店(dian)生(sheng)意(yi)恢復,加上研究(jiu) Faster-RCNN 用掉了很多時(shi)間,就沒有(you)更(geng)新博客了。這篇(pian)開始會(hui)介(jie)(jie)紹(shao)對(dui)象(xiang)識別的模(mo)型(xing)與實現方法,首先(xian)會(hui)介(jie)(jie)紹(shao)最簡單的 RCNN 與 Fast-RCNN 模(mo)型(xing),下(xia)一篇(pian)會(hui)介(jie)(jie)紹(shao) Faster-RCNN 模(mo)型(xing),再(zai)下(xia)一篇(pian)會(hui)介(jie)(jie)紹(shao) YOLO 模(mo)型(xing)。 圖片(pian)分類(lei)與對(dui)象(xiang)識別 在(zai)前 ...
