原创 分佈式事務

1.數據不一致性產生原因 1.1.數據分散在多處: 多個DB; DB和緩存      案例:二手交易平臺案例:用戶、商品、交易等功能               電商平臺購買商品:下單(訂單庫)-》減庫存(商品庫)-》支付(交易庫) 2.

原创 分佈式鎖設計

1.分佈式鎖定義: 分佈式環境下,鎖定全局唯一資源, 請求處理串行化,實際表現互斥鎖 2.分佈式鎖目的 2.1.交易訂單鎖定 防止重複下單 解決業務層冪等問題   2.2.MQ消息消費冪等性 發送消息重複 消息消費端去重 比如手機提現 

原创 電商秒殺系統

1.電商秒殺系統特點: 1.1.大量併發,在某一時間99%的用戶涌入 1.2.有效請求數很低,可以認爲有效請求數和庫存數一致,可能99%以上的流量都是無效的 1.3.庫存數據的一致性要求嚴格,不能超賣 2.秒殺系統架構思路 2.1.數據分

原创 完整的故障處理恢復機制

一、完整的故障處理恢復機制 服務的發現依賴註冊在zk上的服務節點 一般網關層與業務邏輯層都是使用長連接,一般不使用http協議(原因:IO不高,都包含頭信息,http經常是短連接),一般使用rpc通信 1.故障自動發現 1.1. 一般業務

原创 冪等設計

1.請求的冪等(請求重試) 定義:一個請求執行一次,讀請求不需要做冪等,寫請求需要,因爲寫請求可能對數據發生改變,原則:誰對數據發生改變就需要做冪等。 如:一個寫請求網關層發到業務邏輯層1上進行寫數據,但由於寫操作比較慢,返回網關狀態是寫

原创 高併發服務性能優化

一、性能優化手段 1.空間換時間 特點:系統時間是瓶頸 如:緩存複用計算結果,降低時間開銷,因爲CPU時間較內存容量更加昂貴。 2.時間換空間 特點:數據大小是瓶頸 如:網絡傳輸是瓶頸 使用系統時間換取傳輸的空間,使用http的gzip壓

原创 jvm參數優化

-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC  1.堆的初始值與堆內存最大值一定要保持一致,這樣可以減少垃圾回收次數。  -

原创 Linux系統知識點

1.process:一個獨立運行單位            系統資源:cpu時間,存儲空間 2.OS: VM        CPU:               時間:切片               緩存:緩存當前進程數據      

原创 Hive常用操作命令

show databases; use hive; show tables; create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED

原创 Spark常見問題處理

1.shuffle reduce端緩衝大小以避免OOM map端的task是不斷的輸出數據的,數據量可能是很大的。但是,其實reduce端的task,並不是等到map端task將屬於自己的那份數據全部寫入磁盤文件之後,再去拉取的。map端

原创 Spark數據傾斜解決方案

1.聚合源數據        咱們現在,做一些聚合的操作,groupByKey、reduceByKey;groupByKey,說白了,就是拿到每個key對應的values;reduceByKey,說白了,就是對每個key對應的values

原创 Spark性能優化點(一)

1.分配更多的資源    1.1.增加executor     1.2.增加每個executor的cpu core           增加executor的並行能力,一個cpu core運行一個task     1.3.增加每個exec

原创 Spark性能調優(三) 算子調優

1.Map到MapPartitions的使用 如果是普通的map,比如一個partition中有1萬條數據;ok,那麼你的function要執行和計算1萬次。 但是,使用MapPartitions操作之後,一個task僅僅會執行一次fun

原创 k8s之Deployments

1.利用deployment創建pods 創建deployment_nginx.yml文件 apiVersion: apps/v1 kind: Deployment metadata:   name: nginx-deployment  

原创 使用Replicaset創建pods集羣

1.創建yaml配置文件 apiVersion: apps/v1 kind: ReplicaSet metadata:   name: nginx   labels:     tier: frontend spec:   replicas