原创 高併發系統設計十八-系統架構:每秒1萬次請求的系統要做成服務化拆分嗎?

系統架構:每秒1萬次請求的系統要做成服務化拆分嗎? DAU(Daily Active User)日活躍用戶數量 1 一體化架構的痛點 項目剛開始的時候,爲了儘快搭建項目,儘快上線,一般都採用一體化架構,即單體應用。 開發簡單直接

原创 高併發系統設計十九-微服務架構:微服務化後系統架構要如何改造?

微服務架構:微服務化後系統架構要如何改造? 隨着業務功能的增加,當前系統依賴資源的擴展出現問題,一體架構在研發正本,部署成本上帶來問題時,考慮將一體架構做微服務化拆分。 在對服務進行拆分的過程中,需要考慮的問題: 服務拆分要遵循

原创 ThreadLocal從入門到放棄

1、ThreadLocal 1.1 定義 用來提供線程內部的局部變量,這種變量在多線程環境下訪問(通過get或者set方法訪問)時能保證各個線程的變量對應相對獨立於其他線程內的變量。 作用是:提供了線程內部的局部變量,不同的線程之

原创 高併發系統設計十七-消息隊列,如何降低消息隊列系統中消息的延遲

消息隊列,如何降低消息隊列系統中消息的延遲 當項目中引入了消息隊列時,增加了系統的複雜度。需要考慮如何保證消息不會丟失、如何避免消息重複帶來的影響、還需要考慮消息延遲情況,即消費性能的問題。 場景:上游服務器產生訂單數據,並將數據

原创 高併發系統設計十六-消息投遞:如何保證消息僅僅被消費一次

消息投遞:如何保證消息僅僅被消費一次 由於系統引入了消息隊列,可能出現 消息在投遞的過程中發生丟失, 1 消息可能在哪裏丟失 消息需要從生產者,到消息隊列,到消費者。在整個鏈路中都有丟失的可能。 消息從消費者寫入到消息隊列的過程

原创 Docke學習記錄

之前對 docker 只是簡單的使用,會操作基本命令。這週末對 docker 進行了複習,這次才真正理解了 docker 的精髓,原來之間的 docker 命令只是簡單的入門。理解數據卷、使用 dockerfile 纔是在實際項目

原创 Flutter目錄結構介紹、入口、自定義widget等

1、 Flutter 目錄結構介紹 文件夾 作用 android android 平臺相關代碼 ios ios 平臺相關代碼 lib flutter 相關代碼,我們主要編寫的代 碼就在這個文件夾 test

原创 Flutter組件學習六-頁面佈局 Stack 層疊組件

Flutter 頁面佈局 Stack 層疊組件使用,Stack 和Align、Stack和Positioned結合使用 1、Stack組件 1.1、屬性 屬性 說明 alignment 配置所有子元素的顯示位置

原创 Flutter組件學習九-BottomNavigationBar(底部導航欄)

1、BottomNavigationBar 是底部導航條,可以讓我們定義底部Tab切換,bottomNavigationBar是Scaffold組件的參數 1.1、屬性 屬性 說明 items List底部導航條按鈕

原创 Flutter組件學習七-Card組件

Flutter Card組件學習 1、Card 1.1、屬性 屬性 說明 margin 外邊距,EdgeInsets.all(10) child 子組件 Shape Card 的陰影效果,默認的陰影效果爲圓角

原创 Flutter組件學習二-圖片組件

Flutter圖片組件 1、Image 中屬性說明 圖片組件是顯示圖像的組件,Image 組件有很多構造函數,常用有 Image.asset 本地圖片 Image.network 遠程圖片 名稱 類型 說明 al

原创 高併發系統設計四-如何讓系統易於擴展

在熱點事件發生時,流量瞬間提升到 2~3倍甚至更高,最快的方式就是堆機器,但需要保證,在擴容了三倍的機器後,相應的系統也能支撐三倍的流量。 1、爲什麼提升擴展性會很複雜 集羣系統中,不同的系統分層上可能存在一些瓶頸點,這些瓶頸點制

原创 Android如何引入.so

Android cpu 架構有: armeabi,armeabi-v7a,arm64-v8a,x86,x86_64等cpu架構 問題1、什麼是.so文件,用來做什麼? 參考帖子:Android SO文件的概念、兼容、適配和可能的錯

原创 Flutter組件學習八-Wrap(實現流佈局)

1、Flutter RaisedButton 定義一個按鈕 Flutter中通過RaisedButton定義一個按鈕 // 自定義按鈕 class MyRaisedButton extends StatelessWidget {

原创 高併發系統設計一-架構分層

隨着業務越來越複雜,大量的代碼糾纏在一起,會出現邏輯不清晰、各模塊相互依賴、代碼擴展性差、改動一處就牽一髮而動全身等問題 1、常見的分層 1.1、MVC 將用戶視圖和業務處理隔離開,並且通過控制器連接起來,很好的實現了表現和邏輯的