原创 Milo源碼解析(四)

攔截事務方法 Milo框架在執行完初始化工作之後,開始等待事務請求,並且攔截該方法,攔截的方法前面已經提到過就是帶註解@MiloTCC的方法。這其中攔截方法主要是通過spring的AOP方面的內容。回到我們的項目源碼中來,在mil

原创 Milo源碼解析(一)

分佈式事務框架Milo Milo是一個分佈式事務TCC模式的解決方案,目前開源版本已經發布,可以在開源中國上面搜索得到。TCC模式下的分佈式事務是所有分佈式事務解決方案中實時性要求最高的,同時也是對業務開發成本要求最高的。所以TC

原创 Milo源碼解析(三)

Milo的初始化 上一篇文章我們已經介紹了Milo裏面的測試樣例,並且執行了測試樣例,得到了我們想要的結果,訂單服務、庫存服務和賬戶服務數據保持一致。細心的朋友會發現我們項目引入的milo框架會在application.yml配置

原创 Milo源碼解析(二)

引入Milo框架 在樣例工程中保護了三個微服務模塊cloud-order、cloud-account、cloud-stock。這三個模塊模擬了具有分佈式事務場景的下單場景,用戶購買商品下單,生成訂單,接着扣減用戶的賬號金額,最後扣

原创 https單向認證和雙向認證

原文鏈接:https://blog.csdn.net/qq_25406669/article/details/80596664 HTTP  簡介:  HyperText Transfer P

原创 Java中的SPI機制

原文鏈接:https://www.jianshu.com/p/46b42f7f593c 本文通過探析JDK提供的,在開源項目中比較常用的Java SPI機制,希望給大家在實際開發實踐、學習開源項

原创 分佈式事務(3)實現TCC的基礎技術

概述 通過前面的文章介紹,我們已經知道了分佈式事務的幾種常見的解決方案,從我的從業經歷來看,大部分的企業採用TCC或者基於消息隊列中間件的最終一致性這兩種解決方案。本專欄也將重點剖析這兩種方案的具體實現,下面我們先來了解一下分佈式

原创 分佈式事務(2)基礎理論

原文鏈接:https://juejin.im/post/5c0e5bf8e51d45063322fe50 這篇文章將介紹什麼是分佈式事務,分佈式事務解決什麼問題,對分佈式事務實現的難點,解決思路

原创 java多線程之併發框架Disruptor

什麼是Disruptor Disruptor是一個高性能的無鎖線程間通訊框架,作者英國LMAX公司,其用於自己一種新型零售金融交易平臺,它能夠以很低的延遲產生大量交易,這個系統是建立在JVM平臺上,其核心是一個業務邏輯處理器,它能

原创 分佈式事務(1)四種解決方案

原文鏈接:https://hhbbz.github.io/2018/09/06/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E7%9A%84%E5%9

原创 java多線程之wait和notify

1. 使用注意事項 1、永遠在synchronized的函數或對象裏使用wait、notify和notifyAll,不然Java虛擬機會生成IllegalMonitorStateException。 2、永遠在while循環裏而不是if語

原创 HashMap原理

HashMap的工作原理是近年來常見的Java面試題。幾乎每個Java程序員都知道HashMap,都知道哪裏要用HashMap,知道HashTable和HashMap之間的區別,那麼爲何這道面試題如此特殊呢?是因爲這道題考察的深度很深。這

原创 java8特性之lambda表達式

一、概述 只要是只有一個方法的接口就可以使用lambda表達式,這樣的接口被稱爲“函數式接口”。   二、例子 public interface TestInter { void test(); } public int

原创 java設計模式之策略模式

一、定義算法族和實現 public interface IAttack { public void attack(); } public interface IDisplay { public void dis

原创 深入理解SimpleChannelInboundHandler

  因項目需要,需要了解 Netty 這款號稱 "高性能Java網絡編程" 框架。拿起一本《Netty In Action》開始研究,在第2章的例子中,發現 Echo 服務端使用的ChannelHandler是 ChannelInboun