面對可能出現(xiàn)的網(wǎng)絡(luò)延遲,不可預(yù)估的請求流量等情況,設(shè)計一個分布式系統(tǒng),我們通常圍繞系統(tǒng)高可用,數(shù)據(jù)一致性的目標(biāo)去規(guī)劃和實現(xiàn),想要完全實現(xiàn)這個目標(biāo),卻并非易事。由此,分布式系統(tǒng)...
面對可能出現(xiàn)的網(wǎng)絡(luò)延遲,不可預(yù)估的請求流量等情況,設(shè)計一個分布式系統(tǒng),我們通常圍繞系統(tǒng)高可用,數(shù)據(jù)一致性的目標(biāo)去規(guī)劃和實現(xiàn),想要完全實現(xiàn)這個目標(biāo),卻并非易事。由此,分布式系統(tǒng)...
認識 Spring Cloud Gateway Spring Cloud Gateway 是一款基于 Spring 5,Project Reactor 以及 Spring B...
認識 SOLID 原則 無論是軟件系統(tǒng)設(shè)計,還是代碼實現(xiàn),遵循有效和明確的設(shè)計原則,都利于系統(tǒng)軟件靈活可靠,安全快速的落地,更重要的是能靈活地應(yīng)對需求,簡化系統(tǒng)擴展和維護,避...
前言 最近段時間,接到一個需求:開發(fā)一個聚合支付服務(wù),對其他內(nèi)部項目提供統(tǒng)一的接口來實現(xiàn)不同支付平臺的支付能力發(fā)起,比如支付寶,微信,銀聯(lián)等。為了處理相似的支付操作而各平臺具...
前言 單元測試是軟件開發(fā)中必不可少的一環(huán),但是在平常開發(fā)中往往因為項目周期緊,工作量大而被選擇忽略,這樣往往導(dǎo)致軟件問題層出不窮。線上出現(xiàn)的不少問題其實在有單元測試的情況下就...
前言 ArrayList 作為 Java 集合框架中最常用的類,在一般情況下,用它存儲集合數(shù)據(jù)最適合不過。知其然知其所以然,為了能更好地認識和使用 ArrayList,本文將...
前言 這個周末被幾個技術(shù)博主的同一篇公眾號文章 fastjson又被發(fā)現(xiàn)漏洞,這次危害可導(dǎo)致服務(wù)癱瘓! 刷屏,離之前漏洞事件沒多久,fastjson 又出現(xiàn)嚴重 Bug。目...
前言 在 Java EE 開發(fā)中,我們使用 Maven 構(gòu)建工具主要來管理項目的第三方庫的依賴,以及公司內(nèi)部其他項目服務(wù)的依賴。因此 Maven 私服就是必不可少的一環(huán),本文...
前言 在 Java 開發(fā)中 String (字符串)對象是我們使用最頻繁的對象,也是很重要的對象。正是使用得如此頻繁,String 在實現(xiàn)層面上不斷進行優(yōu)化,從 Java6 ...
前言 在日常的開發(fā)模式里,前端負責(zé)頁面和動態(tài)腳本的處理,服務(wù)端負責(zé)業(yè)務(wù)邏輯和接口的實現(xiàn)。當(dāng)前端需要服務(wù)端提供的接口實現(xiàn)動態(tài)數(shù)據(jù)展示和交互時,服務(wù)端完成接口開發(fā)后會提供一個接口...
前言 當(dāng)應(yīng)用開發(fā)中,我們要為一個對象在原有功能上進行擴展增強時,往往采用繼承的方式,而繼承過多時就會使得功能類更加復(fù)雜,不利于維護,而設(shè)計模式中裝飾者模式可以幫助我們更好對應(yīng)...
前言 隨著線上應(yīng)用逐步采用 SpringBoot 構(gòu)建,SpringBoot應(yīng)用實例越來多,當(dāng)線上某個應(yīng)用需要升級部署時,常常簡單粗暴地使用 kill 命令,這種停止應(yīng)用的方...
前言 從 2017 年底 Java 開發(fā)領(lǐng)域使用最廣的 RPC 框架 Dubbo 開啟重新更新維護之路開始,阿里巴巴為打造 Dubbo 微服務(wù)生態(tài)持續(xù)開源了 Sentinel...
1 前言 本次我們來學(xué)習(xí) Spring 的事件處理,源于實際工作中遇到的項目需求:在一個支付的下單場景中,當(dāng)用戶真正支付成功,服務(wù)器收到回調(diào)后就需要及時更新訂單數(shù)據(jù)狀態(tài)來保證...