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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Unix哲学,Microservices和DDD (2)

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

Microservice是微型-服務(wù)的合成詞,一個近年來很新的buzzword。Buzzword意為每個人都喜歡講的流行術(shù)語(大數(shù)據(jù)是另一個有趣的buzzword)。

像其他工程名詞一樣,微服務(wù)并沒有嚴(yán)格的定義。寫這篇筆記的時候搜到一個定義如下:

微服務(wù)架構(gòu)

微服務(wù)架構(gòu)是一種架構(gòu)模式,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù),服務(wù)之間互相協(xié)調(diào)、互相配合,為用戶提供最終價值。每個服務(wù)運行在其獨立的進程中,服務(wù)與服務(wù)間采用輕量級的通信機制互相溝通(通常是基于HTTP協(xié)議的RESTful API)。每個服務(wù)都圍繞著具體業(yè)務(wù)進行構(gòu)建,并且能夠被獨立的部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。另外,應(yīng)當(dāng)盡量避免統(tǒng)一的、集中式的服務(wù)管理機制,對具體的一個服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語言、工具對其進行構(gòu)建。

單純看這樣的描述并不會有什么感覺,因此還是先介紹下微服務(wù)相關(guān)的一些技術(shù)背景。從上面的定義對進程、協(xié)作的強調(diào)可以看出,微服務(wù)是強調(diào)并行化、可擴展的模式,因此首先從可擴展性角度分析微服務(wù)的價值。

可擴展性(scalability)也是被廣泛討論的話題。為了優(yōu)化軟件的運行速度,可以縱向擴展(升級運行軟件的硬件),也可以橫向擴展(增加更多的硬件)。在橫向擴展的基礎(chǔ)上,又有三種可用的策略:


The Scale Cube

  • X. 在網(wǎng)絡(luò)中部署同一軟件的多個拷貝,并使用負(fù)載均衡手段在軟件的各個副本之間分配任務(wù)

  • Y. 將軟件按照功能模塊拆分,并將不同模塊部署到不同的機器上

  • Z. 數(shù)據(jù)分區(qū),把每一區(qū)的數(shù)據(jù)放在不同的機器上存儲和處理

而應(yīng)用總的可擴展性(圖中表示為長方體的體積)與應(yīng)用在這三個方面的可擴展性相關(guān)。傳統(tǒng)網(wǎng)站應(yīng)用(CRUD/MVC/RDBMS/3-tier/..)較為容易實現(xiàn)第一種擴展方式。如果要在其他坐標(biāo)上擴展,則需要首先解答更多的問題:

  • 如何保證拆分軟件模塊的正確性(Y)?

  • 如何保證數(shù)據(jù)庫的拆分不會降低性能(Z)?

  • 如何對待分布式系統(tǒng)中的一致性等問題?

  • 總結(jié)

    以上是生活随笔為你收集整理的Unix哲学,Microservices和DDD (2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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