原创 MySQL運維繫列 之 如何監控大事務

背景大家有沒有遇到這樣的情況 某個SQL執行特別慢,導致整個transaction一直處於running階段某個Session的SQL已經執行完了,但是遲遲沒有commit,一直處於sleep階段某個Session處於lock wait階段

原创 Rava助Java程序員儘快適應Ruby

對於程序員來說,從Java切換到Ruby是一個重大的改變。Rava讓這個遷移的過程舒適一些。 名言 我可以在任何語言中書寫Java。 -- Anon 安裝 使用gem安裝: sudo gem install jimmeirich-rava用

原创 Java高級工程師面試總結

面試技巧1、背熟你的簡歷 原因:面試的第一個問題,一般都是讓你簡單介紹下你自己,或者介紹一下你最近的項目,而一個面試者,如果連自己的簡歷都無法熟知,對裏面提到的項目、技術都無法描述清楚的話,我想沒有哪家公司會接受這樣的,哪怕你是超級人才,你

原创 聊聊MyBatis緩存機制

前言 MyBatis是常見的Java數據庫訪問層框架。在日常工作中,開發人員多數情況下是使用MyBatis的默認緩存配置,但是MyBatis緩存機制有一些不足之處,在使用中容易引起髒數據,形成一些潛在的隱患。個人在業務開發中也處理過一些由於

原创 Nginx支持Socket轉發過程詳解

序言 一網友在羣中問,nginx支持socket轉發嗎? 實話說,我沒做過socket轉發,但是我知道socket跟http一樣都是通過tcp或者udp通信的,我猜測啦一下nginx應該支持吧,然後又在網上查啦一下,網上說支持,也有支持的相

原创 使用Spring Session和Redis解決分佈式Session跨域共享問題

大家可以關注一下公衆號“Java架構師祕籍” 前言 對於分佈式使用Nginx+Tomcat實現負載均衡,最常用的均衡算法有IP_Hash、輪訓、根據權重、隨機等。不管對於哪一種負載均衡算法,由於Nginx對不同的請求分發到某一個Tomca

原创 【Spring】—AOP之AspectJ註解方式實現聲明式事務管理

前言 這回來說下註解方式的聲明式事務管理。 正文 Demo 1、引入相關的jar包這裏寫圖片描述 2、引入AOP約束<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x

原创 依賴注入和控制反轉的理解

大家可以關注一下微信公衆號:Java架構師祕籍學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(依賴注入)這兩個概念,對於初學Spring的人來說,總覺得IoC 、DI這兩個概念是模糊不清的,是很難理解的,今天

原创 SpringBoot-Mybatis框架使用與源碼解析

大家可以關注一下公衆號“Java架構師祕籍” 純乾貨綠色天然無污染 前言: 現在微服務架構基本已經成爲一種架構正確了,而SpringBoot技術也已經被應用在各個項目中。 SpringBoot不僅僅那些傳統的好處,更多是可以與其他組件進行

原创 分佈式之數據庫和緩存雙寫一致性方案解析

引言 爲什麼寫這篇文章?首先,緩存由於其高併發和高性能的特性,已經在項目中被廣泛使用。在讀取緩存方面,大家沒啥疑問,都是按照下圖的流程來進行業務操作。但是在更新緩存方面,對於更新完數據庫,是更新緩存呢,還是刪除緩存。又或者是先刪除緩存,再

原创 分佈式唯一ID的幾種生成方案

前言 在互聯網的業務系統中,涉及到各種各樣的ID,如在支付系統中就會有支付ID、退款ID等。那一般生成ID都有哪些解決方案呢?特別是在複雜的分佈式系統業務場景中,我們應該採用哪種適合自己的解決方案是十分重要的。下面我們一一來列舉一下,不一定

原创 再有人問你分佈式事務,把這篇扔給他

前言 不知道你是否遇到過這樣的情況,去小賣鋪買東西,付了錢,但是店主因爲處理了一些其他事,居然忘記你付了錢,又叫你重新付。又或者在網上購物明明已經扣款,但是卻告訴我沒有發生交易。這一系列情況都是因爲沒有事務導致的。這說明了事務在生活中的一些

原创 SpringBoot使用JdbcTemplate

前言 本文是對SpringBoot使用JdbcTemplate操作數據庫的一個介紹,,提供一個小的Demo供大家參考。操作數據庫的方式有很多,本文介紹使用SpringBoot結合JdbcTemplate。大家可以關注一下公衆號“Java架構

原创 springboot整合Quartz實現動態配置定時任務

大家可以關注一下公衆號“Java架構師祕籍” 純乾貨綠色天然無污染 前言 在我們日常的開發中,很多時候,定時任務都不是寫死的,而是寫到數據庫中,從而實現定時任務的動態配置,下面就通過一個簡單的示例,來實現這個功能。 一、新建一個spring

原创 基於redis分佈式鎖實現“秒殺”

最近在項目中遇到了類似“秒殺”的業務場景,在本篇博客中,我將用一個非常簡單的demo,闡述實現所謂“秒殺”的基本思路。 業務場景 所謂秒殺,從業務角度看,是短時間內多個用戶“爭搶”資源,這裏的資源在大部分秒殺場景裏是商品;將業務抽象,技術角