原创 三木之springcloud之Feign、ribbon設置超時時間和重試機制的總結

轉載:https://blog.csdn.net/east123321/article/details/82385816  一、 Feign設置超時時間  使用Feign調用接口分兩層,ribbon的調用和hystrix的調用,所以rib

原创 三木之注意事項基礎--併發、多線程問題

volatile volatile的作用:volatile變量進行讀時,會有一個主內存到工作內存到拷貝動作,進行寫後,會有一個工作內存刷新主內存到動作。 (即:即時刷新變量的值,主內存<==>私有內存,保證線程之間可見,但不保證原子性)

原创 三木之消息中間件ActiveMQ

JMS消息可靠機制 即爲消息簽收確認(自動簽收,手動簽收)和消息事務   點對點queue(P2P) ActiveMQ實例(生產者): public class MsgProducer { /** * mq通訊地址 */

原创 三木之Rabbit解決分佈式事務數據一致性

生產者------到--------消息中間件Rabbit 1.生產者數據保存失敗,則進行補償機制。 2.生產者可以保存數據,但是保存後執行代碼報錯,事務進行回滾,消息已提交到消息中間件,解決辦法: (1)生產者保存的數據存放到日誌或re

原创 三木之SpringIOC原理實現

原理:使用反射機制+XML技術   手寫SpringiocXML 思想: 1.讀取XML(spring.xml) 2.獲取元素,並且循環查出元素的id是否等於所需的beanid,查出相等的,則獲取該改元素的class地址並創建一個實例 代

原创 三木之純手寫HashMap

HashMap(基於JDK1.8版本實現) 底層實現方式:JDK1.8的hashmap  數組+鏈表+紅黑樹 當衝突同一index個數大於8時,纔會使用紅黑樹     HashMap(基於JDK1.7版本實現) 注意,存在死循環情況: j

原创 三木之Spring事務註解實現

AOP底層實現原理 動態代理 ( 什麼是動態代理 1.代理對象,不需要實現接口 2.代理對象的生成,是利用JDK的API,動態的在內存中構建代理對象(需要我們指定創建代理對象/目標對象實現的接口的類型) 3.動態代理也叫做:JDK代理,接

原创 三木之常見冪等性問題

  定時任務冪等性問題: 1.使用xxl-job 分佈式任務調度平臺(推薦) 2.使用redis分佈式鎖,哪個任務取到鎖,便定時任務類加載spring容器; 3.根據配置文件啓動定時任務,將定時任務類加載spring容器; 4.將定時任務