springboot自帶緩存 springboot怎么實現(xiàn)集群?
springboot怎么實現(xiàn)集群?這個問題比較模糊,集群本身就是一個復雜的話題,你想在那一層實現(xiàn)集群(web?services?data?等等),你要達到的目的是什么?(負載均衡?宕機會話復制?性能要
springboot怎么實現(xiàn)集群?
這個問題比較模糊,集群本身就是一個復雜的話題,你想在那一層實現(xiàn)集群(web?services?data?等等),你要達到的目的是什么?(負載均衡?宕機會話復制?性能要求?等等) 那么我只能就一些常見的場景,簡單介紹Spring boot相關的集群技術 你的微服務如果是無狀態(tài)的,你可以將它們部署在多個服務器實例上,在前端使用負載均衡器(例如nginx)。
如果你需要session復制,針對動態(tài)容錯和部署,你可以看看spring-session 如果需要數(shù)據庫集群,請參考數(shù)據庫集群的相關技術,mongoDB,reddis都有自己的方案, 如果是數(shù)據緩存集群,也有很多參考,如memcache,Hazelcast等等, 如果你喜歡更不動腦子的套餐,可以看看spring cloudSpringBoot中如何使用緩存來緩解數(shù)據庫壓力?
Spring boot項目中增加緩存,一般分為本地緩存和分布式緩存。我們開發(fā)的順序一般如下:首先不考慮緩存,將業(yè)務邏輯驗證正確;然后進行壓測,發(fā)現(xiàn)性能瓶頸,考慮是增加緩存還是同步轉異步進行優(yōu)化;(3)如果需要加緩存,則優(yōu)先考慮分布式緩存,最后再考慮增加本地緩存。緩存使用的時候需要注意幾個問題 1. 數(shù)據一致性:什么時候寫入緩存?什么時候緩存失效?先更新DB再失效緩存 2. 緩存穿透問題 3. 大value緩存問題。
我之前寫過一個demo說明如何整合spring boot和redis,可以看看:
https://www.jianshu.com/p/a2ab17707eff