松花皮蛋的黑板報
  • 分享在京東工作的技術感悟,還有JAVA技術和業內最佳實踐,大部分都是務實的、能看懂的、可復現的

掃一掃
關注公眾號

我在極客時間的首次分享

博客首頁文章列表 松花皮蛋me 2019-09-11 23:15

當時我將自己的文章投稿到InfoQ,然后總編輯郭總郵件邀請我來分享,于是有了這次值得紀念的演講。歡迎朋友們前往極客時間App觀看。

主題為:如何利用有效的資源抗住618大促流量

大概內容如下:

性能測試

硬件優化可包括配置升級比如使用支持NIO的Tomcat版本代替低版本、集群水平擴展、摘取集群短板。

軟件優化包括代碼審查然后優化SQL和低性能代碼。

擴展點

一、開發語言基礎知識

數據結構中各種集合間的區別,包括適用場景、CRUD復雜度、線程安全性、有序性、快速失敗特性。

并發當中的四種設計模式,包括Future模式、Master-Slave模式、保護暫停模式、不可變模式、生產消費者模式等。

IO當中的零拷貝技術、序列化和反序列化。

內存管理中的內存模型、垃圾回收策略。

使用連接池減少管理的開銷。

二、程序設計

SOLID原則,具體為單一職責原則、開閉原則、里氏替換原則、接口隔離原則、依賴倒置原則。

設計模式,常見的有單例模式、工廠模式、策略模式、責任鏈模式。

接口設計,比如借鑒組合模式減少過多的重載。

避免過度設計,不要過早關注安全性、可配置性、可擴展性、可維護性、可繼承性。

三、數據庫

理解好索引和鎖。

四、中間件

利用好緩存,但是要注意緩存和源數據同步的一致性問題。

利用好消息引擎,但是要注意冪等性、有序性、數據冗余復制的問題。

五、分層

理解好領域驅動設計,按業務劃分限界上下文、消除隱匿數據依賴、明確定義依賴方向。

六、高可用

服務降級、服務限流、依賴熔斷、隊列、超時和重試機制、數據一致性。

黑龙江6+1开奖结果查询