在spring 框架中開啓某項功能,常常會在Application類中使用@EnableXXX註解,來開啓某個功能。“開啓”其實就是把相關的bean注入spring容器中。 以@EnableAsync為例。在@EnableAsync中使用@import把相關的bean注入容器中,這個bean默認是ProxyAsyncConfiguration。ProxyAsyncConfiguration是個@C
上文已經講過@EnableAsync的bean構建過程,這裏繼續講解@Async執行過程。@Async執行過程是spring的一個AOP調用過程。 代碼 public class ApiGatewayApplication { public static void main(String[] args) { SpringApplication.run(ApiGatewayApplic
引言: spring cloud gateway -- webflux -- reactor-netty -- reactor-core 以上是github上幾個項目的依賴關係。 説明: reactor-core是reactive programming模型的一個具體實現。 本文簡單説明在reactor-core中,flux工作底層到底做了什麼。 先説給一個完整的demo代碼 FluxSt
注:原文 2019.6.26年發佈在medium上 最近,Facebook的加密貨幣項目Libra發佈了白皮書,在Github上開源了測試網代碼。在白皮書中,我們可以看到Libra使用了LibraBFT,一種拜占庭容錯共識協議。因為這個協議來源於Hotstuff協議,因此學習後者可以幫助我們理解LibraBFT。 1、Hotstuff是什麼? Hotstuff是一種基於leader的拜占庭容錯協議