原创 記錄一次線上服務CPU飆高問題

2023.07.20 20:01:38線上一個服務發生了CPU過高的告警, 看告警信息當前的CPU使用率已經達到了82.65%,問題已經很嚴重,趕緊開始排查起來。來複盤下如何排查這類問題, 一、排查方法 1、找到cpu過高的進程ID

原创 因爲一條DDL,差點搞掛整個系統,這次真的長了教訓

有一次在線上提了一個sql變更,就是下面這條, -- 修改字段的數據類型由varchar(500)變更爲text ALTER TABLE t MODIFY COLUMN name text; 提完之後,上級審批人給我打來了電話,說不允許進行

原创 一次性掌握innodb引擎如何解決幻讀和不可重複讀

瞭解mysql的都知道,在mysql的RR(可重複)隔離級別下解決了幻讀和不可重複。你知道RR下是怎麼解決的嗎,很多人會回答是通過MVCC和next-key解決的,具體是怎麼解決的,今天來重點分析下。 mysql的隔離級別都不陌生了,簡單回

原创 花了一週時間,總算把mysql的加鎖搞清楚了,再也不怕間隙鎖和next-key了

接觸mysql都知道在mysql中有很多鎖,共享鎖(S)、排他鎖(X)、間隙鎖(gap)、next-key,當然還有意向鎖、表鎖等。今天不講別的,專門來看下innodb引擎下的鎖是什麼樣子的。 現在有這樣一條sql語句,你知道是什麼鎖嗎?

原创 花了半天時間,使用spring-boot實現動態數據源,切換自如

  在一個項目中使用多個數據源的情況很多,所以動態切換數據源是項目中標配的功能,當然網上有相關的依賴可以使用,比如動態數據源,其依賴爲, <dependency> <groupId>com.baomidou</groupId> <a

原创 mybatis-plus是什麼框架,使用起來簡單嗎?文末有彩蛋

mybatis框架我們都熟悉了,是用來操作數據庫的屬於ORM框架。mybatis-plus是什麼框架,看名稱和手機似的,帶有plus一定是加強版,其官網是:MyBatis-Plus (baomidou.com) 開始mybatis-plu

原创 spring-boot集成mybatis真的很簡單嗎?

在日常的後端開發中,使用mybatis作爲DAO層的持久框架已經是慣例。但很多時候都是在別人搭好的框架中進行開發,對怎麼搭建環境是一知半解,今天就來實踐下。 一、集成分哪些步驟 來看下集成mybatis需要哪些步驟, 1、確定環境及依賴 2

原创 搭建一個屬於自己的springboot項目

一、確定環境 最近公司要上個新系統,指定由我來帶兩個人進行開發,既然是新項目,那麼項目搭建的事就落到我的頭上了。現在都是使用springboot進行開發,爲此我搭環境使用的是springboot,具體java環境如下, 使用springb

原创 僅僅是調用第三方接口那麼簡單嗎?

最近有個項目需要本地處理之後,然後調用第三方接口,本來開始覺得很簡單得事情,不就是調用第三方接口嗎?但是卻一波三折。 初版 首先有了下面的第一版的設計。 這個設計很簡單,也是最容易想到的。主要有下面幾步 1、本地處理; 2、調用第三方接口

原创 我的十年程序員生涯--無錫之旅,開啓崗前培訓

2012年的那個春天,考研初試結果出來了,很不理想。面臨着二戰及工作兩種選擇,最終選擇了工作。當時的理由是“研究生之後,仍舊要工作,不如現在去工作,而且還可以積累三年的工作經驗”。現在來看這個理由很不成立,工作的頭兩年感覺不到學歷的重要,越

原创 我的十年程序員生涯--二戰在左,工作在右,很難的選擇嗎?

2012屆考研失敗後,面臨兩個選擇:二戰和工作。說實話當時面臨這兩個選擇挺猶豫的,和周圍一起考研的小夥伴聊他們的想法,很大一部分人給出的答案都是選擇就業,只有很少幾個人要選擇二戰。現在想來選擇就業的人在考研之初就沒有想清楚,爲什麼這樣說,假

原创 我的十年程序員生涯--考研失利,倒也還好

作爲08屆的本科生,我參加了12年的考研。 在參加考研的那一年,也就是2011年,曾經有過猶豫是選擇考研還是選擇直接就業,說實話當時沒有經過認真的思考,沒有考慮多久,就加入了考研大軍,有跟大流的情況,因爲周圍人考研的太多。我記得當時我所在的

原创 我的十年程序員生涯--開篇

                                                                                                                    --以此

原创 爲了安裝alien,我更新了yum源,結果還是沒裝上

前幾天把自己的thinkpad E430C從win7系統裝成了centos7,看過《週末折騰了兩天,踩了無數個坑,終於把win7裝成了centos7》的小夥伴都知道,爲了把win7裝成centos7我花費了整個週末2天的時間,着實費了勁。但

原创 週末折騰了兩天,踩了無數個坑,終於把win7裝成了centos7

上週五的時候,突發奇想,想把自己的Thinkpad E430C的操作系統裝成linux。 熟悉電腦的都知道Thinkpad E430C很古老了,現在算來從2012年買來,到現在已經經歷了10個年頭了。原廠是4G內存,買了兩年後自己買了一個4