springboot
spring-cloud
eureka-服務註冊和發現
feign(資料通訊)
hystrix
gateway(閘道器) 路由 斷言 過濾器
spring-oauth2
服務鑑權
mybatis
mysql
redis 快取
kafka 訊息佇列
服務異常導致服務不可用,進行熔斷,降級緩解壓力
一定請求進行熔斷判定,判定超過則進行熔斷,隔一段時間後,進行熔斷判定
型別位元組占用
位byte18
char216
int4
32short216
long864
double864
float432
資料交換用exchanger
執行緒執行順序用join
共享資料
通過現場之間交換資料
wait/notify/notifyall await/signal/signalall 喚起等待
sleep 和 wait sleep睡眠時保持物件鎖,其他物件無法訪問,wait 睡眠時釋放物件鎖
volatile
保證記憶體可見性
保證內科的有序性
synchronized
修飾**塊 當執行緒訪問時其他執行緒訪問會被阻塞 作用物件是使用呼叫**塊的物件
修飾方法
修飾靜態方法
修飾乙個類
介面定義時不可以使用synchronized
執行緒池降低系統資源的消耗,通過重用已存在的執行緒,降低執行緒建立和銷毀造成的消耗
提高響應速度,
方便執行緒併發的管控
提供更強大的功能,延時定時執行緒池
執行緒池種類
cachedtreadpool: 無限擴大的執行緒池,適用於負載較輕的場景,執行短期非同步任務
fixedtreadpool: 固定大小的執行緒池,適用於負載較中的場景,執行任務時不會因為需要維持大量的執行緒導致負載加重
singletreadpool: 單執行緒的執行緒池,適用於保持順序執行業務的場景
scheduledtreadpool: 執行延時任務和週期性任務
主要引數:
corepoolsize 基本執行緒池大小
maxmumpoolsize 執行緒池的最大執行緒數
keepalivetime 執行緒存活保持時間
timeuint 執行緒存活的時間單位
workqueue 任務佇列: 用於傳輸和儲存等待執行任務的阻塞佇列
threadfactory 執行緒工廠: 用於建立新執行緒
handler 執行緒飽和策略
反應式流: 用於處理非同步程式設計時的困難
超時 異常處理困難
難以重構
多個非同步任務協同處理
主要目標
管理跨非同步邊界的流資料交換
確保接收方不會輕質緩衝任意數量的資料
索引結構
普通索引:無限制
唯一索引:索引值必須唯一,不能有空值
主鍵索引:特殊的唯一索引
組合索引:
和redis的區別
mysql 關係型資料庫 redis 非關係行資料庫
mysql 持久化儲存到資料到硬碟上, 速度慢 redis 將使用頻繁的資料儲存到快取中,
mysql 作為持久化的資料庫,每次請求資料庫的時候都會產生i/o操作,會在反覆連線資料庫時候花費大量時間,另外反覆訪問資料庫會導致負載太高
msyql的引擎
innodb(主要引擎,支援事務,支援行鎖定,外來鍵
非關係型資料庫
為啥快完全基於記憶體,絕大部分請求都是純粹的記憶體操作.資料儲存在記憶體中,都是型別hashmap,優勢就是查詢和操作的時間複雜度都是o(1)
資料機構簡單,資料操作也簡單
採用單執行緒,不會擔心上下切換和競爭,也不會存在多執行緒或者多執行緒導致的消耗,不用擔心各種鎖的問題.不存在加鎖和釋放的問題
持久化rdb
將資料以快照的方式儲存到磁碟上
優勢:檔案緊湊,全量備份
恢復大資料的時候比aof快
不需要i/o操作,主線程會fork()乙個子執行緒來處理儲存工作
劣勢: 一次全量備份,備份期間的新資料不會儲存
aof將redis每個收到的寫命令都write函式追加到檔案中
優勢:可以很好的保護資料不丟失
寫入效能高,檔案不容易被破壞
檔案過大時,後台重寫,不會影響客戶端讀取
適合災備,
劣勢: 同等資料aof比rdb 大,
redis的使用場景
熱點資料的快取
限時任務的應用(手機簡訊驗證碼)
計數器相關的業務(介面訪問頻次)
redis和mysql之間怎麼保證資料一致性
實時更新:寫入db的時候刪除快取資料,直到訪問redis時候再重新整理
canal對binlog的解析,在通過發布--訂閱模式消費canal服務的資料
ttl 設定過期策略
儲存結構:
預設16個庫(redisdb)
每個db內部儲存這dict資料結構 包含著儲存資料和過期事件
每個dict內部又包含著2個dictht的陣列,主要使用者hash的擴充套件
dictht內部又包含著和dictentry陣列,就是hash的桶,如果衝突,使用掛鏈法解決
資料結構
list
string
sethash
zset
求職面試的一些記錄
簡歷中自我評價 自我評價撰寫技巧 社會簡歷 詳細羅列出您所擁有的特長 技能和經驗,以及您在以前的工作中累積了的優勢。您可以根據招聘方的招聘資訊,有針對性地羅列,讓人事經理更好地了解到您與所申請職位的符合程度。用盡可能簡要且平實的語句概括描述出您的特長 技能 經驗及優勢。語言不可過於口語化,內容須實事...
準備寫一些關於pygame的學習記錄
大致思路如下 1 先練乙個最簡單的pingpong 彈球遊戲,了解 pygame的基礎的遊戲機制,比如 screen,文字顯示 等等。2 練乙個人物的上下左右的移動,主要是聯絡精靈的使用,包括對png轉化為動畫人物。3 人物的走動,結合背景的移動,用來深化對pygame中精靈的理解。4 遊戲狀態機制...
python web 的一些準備
pip可以通過以下命令來判斷是否已安裝 pip version如果你還未安裝,則可以使用以下方法來安裝 sudo python get pip.py 執行安裝指令碼 flask是乙個使用 python 編寫的輕量級 web 應用框架。安裝flask 使用pip命令安裝flask包,pip insta...