原创 Spring Cloud源碼研讀(二):openFeign

Feign的工作原理 openFeign爲了實現高度的靈活和舒適的使用體驗,使用了大量的設計模式。簡直是設計模式學習的最佳範本。 初始化過程 @EnableFeignClients註解將類FeignClientsRegistra

原创 spring cloud實戰(二)open feign

Feign是一種聲明式、模板化的REST客戶端。在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠程服務時能與調用本地方法一樣的編碼體驗,開發者完全感知不到這是遠程方法,省略了大量的http請求代碼。 開

原创 Spring Cloud源碼研讀(一):啓動與Bean加載

SpringBoot啓動核心邏輯 通常最簡單的springboot項目的總入口是如下寫法。類上加註解@SpringBootApplication,然後直接調用靜態方法SpringApplication#run(Class<?> p

原创 《Spring響應式微服務》讀書筆記

Spring響應式微服務: Spring Boot 2 + Spring 5+Spring Cloud 實戰 鄭天民 著 2019.6出版 雲原生基礎理論 雲原生所需要的能力和特徵 The Twelve Factors 12

原创 《持續演進的Cloud Native》讀書筆記

《持續演進的Cloud Native: 原原生架構下的微服務最佳實踐》 王啓軍/著 (公衆號:奔跑中的蝸牛) 電子工業出版社 2018.10出版 Cloud Native的組成 Cloud Native需要從架構、研發流程和

原创 spring boot 最佳實踐(十一)--使用RabbitMQ

Quick Start RabbitMQ是AMQP協議的一個實現,spring boot提供了快速的接入方案.參考 配置build.gradle dependencies { implementation 'org.spring

原创 @ConditionalOnClass(A.class)爲什麼不報錯

問題說明 條件加載是springboot自動配置的剛需,其中有兩個條件@ConditionalOnClass和@ConditionalOnMissingClass非常特別,它是基於class類是否存在判斷的。場景的使用場景如下:

原创 《領域專用語言實戰》讀書筆記

領域專用語言實戰 Debasish Ghosh[美] 2013.11出版 元編程:編寫“編寫代碼”的代碼。元編程可以通過編寫程序來產生新的程序,也能改變已有程序的行爲。 常用的DSL DSL 用途 SQL 關

原创 java後端響應式編程從理論到實踐

堵塞與非堵塞原理 傳統硬件的堵塞(IO)如下,從內存中讀取數據,然後寫到磁盤,而CPU一直等到磁盤寫完成,磁盤的寫操作是慢的,這段時間CPU被堵塞不能發揮效率。 使用非堵塞(NIO)的DMA如下圖:CPU只是發出寫操作這樣的指令

原创 自建線程池優雅下線

自建線程池優雅下線什麼場景下使用線程池什麼場景下不要使用線程池常見線程池阿里線程開發規約多線程優雅下線線程池關閉創建線程池參數參考文獻 什麼場景下使用線程池 同步改異步 提高併發吞吐量 多步任務串行改並行 什麼場景下不要使用線

原创 事務(二)、強一致性事務

前文講到程序員面對事務ACID特性如何實現一籌莫展,於是本文進入程序員窮開心的表演時間。 衆所周知,關係型數據庫天生就是解決具有複雜事務場景的問題,關係型數據庫完全滿足ACID的特性。數據庫是怎樣實現ACID的呢? ** 數據庫實

原创 事務(一)、事務概念入門

事務(Transaction) 是由一系列對系統中數據進行訪問與更新的操作所組成的一個程序執行線邏輯單元;是指作爲單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成

原创 sonar掃描處理lombok問題

問題分析 Sonar是一個靜態代碼掃描工具,默認根據源代碼分析代碼質量和潛在的問題。lombok是一個字節碼增強工具,通過在編譯期修改java class字節碼實現簡化代碼的目的。所以默認情況sonar會將使用lombok @Da

原创 優雅停機方案

springboot優雅停機概述線上重啓面臨的問題常見問題解決方案思路優雅停機相關知識Linux中斷ShutdownHookSpringCloud對優雅停機的處理機制SpringBoot ApplicationContext生命週

原创 spring cloud實戰(五)UAA

我們以spring cloud security OAuth2.0+JWT爲案例分析如何搭建自己的用戶認證中心(UAA: User Account and Authentication)。spring cloud security