日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P8实战(一):架构概论,从过去到未来

發布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P8实战(一):架构概论,从过去到未来 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

P8架構概論

從過去到未來

緩沖、緩存、復用、分治、親密性、技術選型

回顧一下軟件工程學中的幾個重要詞匯,整個信息化進程中,做調優離不開這些:

  • buffer 緩沖,包括:消息隊列 ;操作系統中的IO方式(積攢一個buffer),解決上下游處理速度不匹配的問題;批量計算;啤酒理論
  • cache 緩存,包括:pagecache頁緩存;緩存熱點數據提升io速度;CPU的多級緩存;數據庫緩存中間件
    緩沖是解決單次大小問題的,緩存是用來復用的
  • pool 復用,池化,包括:連接池、線程池、對象池、字符串常量池、享元,減少三次握手成本、線程創建成本等各種成本
  • sharding 分治,單機多機都使用,包括集群:分片集群,降低復雜度。HashMap也可以。
  • sticky 親密(粘性):某一個線程親密到某一個CPU上;threadlocal;數據路由相同ip或session或商品分配到不同的負載機器上。
    (可以通過配置負載均衡層的策略實現。例如,并發到來的時候,從C1客戶端發來的請求被轉發Server1上,從C2客戶端發來的請求被轉發到Server2上,這樣在單機使用線程池,在線程池中單機加鎖,要優于在多機加分布式鎖,因為分布式鎖要消耗網絡通信的成本)
    再比如,你小區有兩個門,進門需要登記。你這次從北門登記過了,下次再從北門過就不用登記了,你從南門的走話還要再登記。
  • balance/trade-off 權衡:做技術選型,相同的需求有很多方法能夠實現,這時候你需要選擇

QPS、TPS、RT、PV、UV、并發數、線程數


查看cpu核心數:lscpu
一般推薦:線程數量是CPU數量的2倍,是根據上面的公式,以掛起時間、運行時間1:1的比例計算的。

推薦一些書:


服務拆解:ESB企業服務總線、SOA->微服務

單體,全量:

SOA,ESB,微服務:

拆解,分層:

  • 按照流程拆解,是最常見的方法。如,TCP/IP協議
  • 按照服務拆解,如SOA,服務可大可小,偏業務的角度
  • 按照功能拆解,登錄(權限認證),購物,支付,比服務更小,最終功能變成獨立的服務運行起來。偏向于微服務。

你做業務拆分的時候,要考量開發的成本,合理根據業務需求,規劃企業架構,而不是因為技術而技術。
拆分的過細,反而會增加負擔。

AKF劃分

三高:高可用,高性能,可擴展

x軸:數據的復制是全量的,基于主備,可以完成主從的讀寫分離,解決可用性,性能優化。
y軸:基于業務的拆分,業務太大超過了CPU算力或超過了硬件的負載,這時候我們按服務拆分。可以將不同的業務放進不同的Redis當中
z軸:在已經按照業務拆分了的情況下,并發量仍然很大,這時解決傾斜的方式:sharding,例如 0-99,100-199,...一般用代理來實現負載均衡。

總結

以上是生活随笔為你收集整理的P8实战(一):架构概论,从过去到未来的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。