iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0

以服務為導向(Service-Oriented)的『架構』和微服務(MicroService)『架構』最近變得非常流行。原因包括以下幾點:

  • 服務似乎彼此強烈解耦
    • 我們將會看到,這只是部分正確
  • 服務似乎支援開發和部署的獨立性
    • 我們將再次看到,這只是部分正確

取自: Clean Architecture (p.199)

CH27: 服務:偉大與微小 (Services: Great and Small)

https://ithelp.ithome.com.tw/upload/images/20211013/20138643zowAJCbesf.png

思考:服務是架構?

系統的架構被定義為通過使用邊界將高層級策略與低層級策略分開,並考慮到依賴規則。但是服務本身僅將系統的行為劃分為不同的部分

解耦的謬誤 (The Decoupling Fallacy)

資料仍然是強烈耦合的...

獨立開發和部署的謬誤 (The Fallacy of Independent Development and Deployment)

DevOps
Scalable
服務並不是唯一選擇

案例思考:計程車隊系統

  • 製圖...
  • 有多少個服務必須修改以實作出這次的 Features 呢? 全部
    • 也就是,這些服務全都是耦合的,無法獨立開發、部署和維護

橫切面關注問題

https://ithelp.ithome.com.tw/upload/images/20211013/20138643owrLw0EJig.png

https://ithelp.ithome.com.tw/upload/images/20211013/20138643QPejnd5vCq.png

太深奧了 理解中QQ...

基於元件的服務


P.S. 本章主要與 SOA, MicroService, AOP 架構有關... 如果沒有多年中大型系統實作經驗的話很難懂... 有興趣深入研究的讀者可以參考 Reference

Reference

Clean Architecture -> PART V: Architecture
MicroservicePrerequisites
Microservices
You Get Microservice Decoupling Wrong!
什麼是AOP?為什麼要AOP?
面向对象困境之:横切关注点
Cross Cutting Concerns
來談談 AOP (Aspect-Oriented Programming) 的精神與各種主流實現模式的差異
Managing Cross Cutting Concerns - The Logger and Logging


上一篇
Day 27: 架構的聲音、整潔的架構 (待改進中... )
下一篇
Day 29: 細節:資料庫、Web、框架 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-14 12:10:32

恭喜即將邁入完賽~/images/emoticon/emoticon08.gif

JC iT邦新手 2 級 ‧ 2021-10-14 21:03:47 檢舉

謝謝大大~~~
我估計還要再花另一個 30 天來補齊這些文章 QAQ

我要留言

立即登入留言