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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

架构思考

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 架构思考 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

閑來無事,總結(jié)了下架構(gòu)設(shè)計方面的一些思考

????1、穩(wěn)定性

?? ??? ?? ? 。一切以穩(wěn)定為中心

?? ??? ?? ? 。架構(gòu)盡可能簡單、清晰

?? ??? ?? ? 。不過度設(shè)計

? ? 2、解耦/拆分

?? ??? ?? ? 。穩(wěn)定部分與易變部分分離

?? ??? ?? ? 。核心業(yè)務(wù)與非核心業(yè)務(wù)分離

?? ??? ?? ? 。主流程與輔流程分離

?? ??? ?? ? 。應(yīng)用與數(shù)據(jù)分離

?? ??? ?? ? 。服務(wù)與實現(xiàn)細(xì)節(jié)分離

?? ??? ?? ? 。數(shù)據(jù)拆分:讀寫分離、分庫分表、冷熱數(shù)據(jù)分離

? ? 3、抽象化

?? ??? ?? ? 。應(yīng)用抽象化:應(yīng)用只依賴服務(wù)抽象,不依賴服務(wù)實現(xiàn)細(xì)節(jié)、位置

?? ??? ?? ? 。數(shù)據(jù)庫抽象化:應(yīng)用只依賴邏輯數(shù)據(jù)庫,不需要關(guān)心物理庫的位置和分片

? ? 4、松耦合

?? ??? ?? ? 。跨域調(diào)用異步化:不同業(yè)務(wù)域之間盡量異步解耦

?? ??? ?? ? 。非核心業(yè)務(wù)盡量異步化:核心、非核心業(yè)務(wù)之間,盡量異步解耦

?? ??? ?? ? 。必須同步調(diào)用時,需要設(shè)置超時時間和任務(wù)隊列長度

? ? 5、高可用

?? ??? ?? ? 。集群容錯:應(yīng)用系統(tǒng)集群,避免單點

?? ??? ?? ? 。多機房容災(zāi),異地多活

?? ??? ?? ? 。分流:水平可擴展-在線擴容機器

?? ??? ?? ? 。降級:非核心業(yè)務(wù)可根據(jù)情況降級處理(業(yè)務(wù)直接不展示或mock數(shù)據(jù)或直接利用本地緩存)

?? ??? ?? ? 。限流:對流量做過濾,保證部分請求可用

?? ??? ?? ? 。自動化運維

? ? 6、靈活

?? ??? ?? ? 。支持灰度發(fā)布,分步切流量

?? ??? ?? ? 。功能開關(guān),可回退

?? ??? ?? ? 。A/B test,配備相應(yīng)數(shù)據(jù)展示層,及時感知數(shù)據(jù)變化

? ? 7、監(jiān)控

?? ??? ?? ? 。服務(wù)器監(jiān)控:內(nèi)存、cpu、i/o、負(fù)載

?? ??? ?? ? 。應(yīng)用監(jiān)控:qps、rt、gc

?? ??? ?? ? 。異常監(jiān)控報警

?? ??? ?? ? 。分布式鏈路追蹤監(jiān)控:zipkin、pinpoint

?? ??? ?? ? 。業(yè)務(wù)監(jiān)控:核心業(yè)務(wù)生命周期監(jiān)控,比如根據(jù)訂單號獲取所有相關(guān)生命周期和數(shù)據(jù)

? ? 8、領(lǐng)域建設(shè)

?? ??? ?? ? 。厘清業(yè)務(wù)邊界,建設(shè)領(lǐng)域模型

?? ??? ?? ? 。基礎(chǔ)業(yè)務(wù)/服務(wù)下沉,可復(fù)用

?? ??? ?? ? 。平臺/組件化:可搭積木式構(gòu)建新業(yè)務(wù),降低成本

?? ??? ?? ? 。數(shù)據(jù)收斂:只能通過服務(wù)來訪問其他領(lǐng)域的數(shù)據(jù)

? ? 9、依賴原則

?? ??? ?? ? 。禁止循環(huán)依賴

?? ??? ?? ? 。穩(wěn)定部分依賴:穩(wěn)定部分不依賴易變部分、易變部分可以依賴穩(wěn)定部分

?? ??? ?? ? 。核心服務(wù)依賴:核心服務(wù)不依賴非核心服務(wù)、非核心服務(wù)可依賴核心服務(wù),保證核心服務(wù)穩(wěn)定

?? ??? ?? ? 。基礎(chǔ)服務(wù)依賴:基礎(chǔ)服務(wù)不向上依賴流程服務(wù)、流程服務(wù)/組合服務(wù)可向下依賴基礎(chǔ)服務(wù),保證基礎(chǔ)服務(wù)穩(wěn)定

?? ??? ?? ? 。平臺服務(wù)依賴:平臺服務(wù)不依賴上層應(yīng)用、上層應(yīng)用可依賴平臺服務(wù),保證平臺服務(wù)穩(wěn)定

?? ??? ?? ? 。非功能性服務(wù)依賴:非功能性服務(wù)不依賴功能性服務(wù)、功能性服務(wù)可依賴非功能性服務(wù),保證非功能性服務(wù)穩(wěn)定

?? ??? ?? ? 。跨業(yè)務(wù)域調(diào)用時,盡可能異步弱依賴

? ? 10、服務(wù)設(shè)計

?? ??? ?? ? 。無狀態(tài),接口調(diào)用冪等

?? ??? ?? ? 。可復(fù)用,復(fù)用粒度是有業(yè)務(wù)邏輯的抽象服務(wù),不是服務(wù)細(xì)節(jié)

?? ??? ?? ? 。松耦合、高內(nèi)聚

?? ??? ?? ? 。可治理

?? ??? ?? ? 。基礎(chǔ)服務(wù)之間物理隔離,包括數(shù)據(jù)層

寫了這么多,無非就是圍繞穩(wěn)定性、可擴展性、易用性、靈活性展開的,其中重中之重是穩(wěn)定性

失去了穩(wěn)定性,其他一切都是扯淡

另外,架構(gòu)必須緊貼業(yè)務(wù),拋開了業(yè)務(wù),所有技術(shù)也都是扯淡,產(chǎn)生不了價值

轉(zhuǎn)載于:https://my.oschina.net/u/3729258/blog/1810885

總結(jié)

以上是生活随笔為你收集整理的架构思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。