axon框架創始人談微服務與事件驅動
Allard Buijze在最近的阿姆斯特丹事件驅動微服務會議上的演講中指出,Axon Framework的應用正在快速增長,最近下載量達到100萬次,他在會上描述了Axon的基本概念,歷史和未來,這是一個系統框架,基於DDD,事件溯源和CQRS。
Axon Framework是JVM平臺的開源產品,由Allard Buijze於2009年創立。2017年7月,成立了一家獨立公司AxonIQ,專門與Axon產品合作。
Buijze首先指出事件非常特殊; 他們是描述了發生的事情,並且是系統歷史的一部分。我們可以根據事件找到過去的問題,我們可以設定對未來的期望。使用事件推動事件溯源 ,不僅僅把事件用於大資料處理或監控等次要功能,而是作為應用程式中的事實來源(替代資料庫)。
Buijze還指出,服務消費使用事件的模式非常重要 - 這在事件溯源中至關重要。如果您的服務是根據內部資料而不是根據事件做出決策,那麼您就無法實現完整的事件溯源。雖然你有一個事件驅動架構,但卻無法保證事件是服務中發生事情的真實表示。
有許多基於實體服務的微服務架構(一個總服務呼叫許多微服務),他將這種設計技術稱為名詞驅動設計,想法是找到描述新系統的文件中的所有名詞,這些名詞對應一個服務,所有動詞都成為API呼叫。這種技術可能會產生分散式的大泥球,所有服務都相互依賴。如果一個服務發生故障,整個系統將無法使用。
他希望從單體開始而不是從微服務開始新系統,這樣更易於部署和重構,雖然難以擴充套件,他指出我們不應該將一塊好的巨石單體與一大塊泥球混淆,要確保內部有明確定義的結構。隨著時間的推移,當有太多人不得不使用程式碼的相同部分時,則需要提取一些元件,最好不要更改其他部分。隨著時間的推移和需求的增加,越來越多的元件可以搬出。
為了幫助提取元件,位置透明度非常重要,Buijze指出Axon的主要特徵不是CQRS,它是應用程式內部元件之間的位置透明性。如果兩個元件不知道它們各自的位置,則可以更改該位置。這也意味著您不必知道特定操作在哪個服務中 - 您只需傳送訊息並找到其目的地。
元件既不應該知道也不應該對它與之互動的元件的位置做出任何假設
事件很重要,但Buijze指出,元件有理由傳送三類不同訊息,並強調事件與訊息不同:
1. 事件是,當發生了事件,它們被分發給所有處理器,不返回任何結果。
2.命令是指你希望系統執行某些操作的意圖。它們被路由到某個處理器並返回結果。
3.查詢是指你想知道的事情,並返回結果。
為了支援位置透明度的承諾並使用這些不同型別的訊息,AxonHub於2017年在去年的會議上釋出。Buijze將其描述為一種訊息傳遞平臺,它可以瞭解不同訊息的型別,但不是訊息內容,並且能夠將不同型別的訊息路由到正確的目的地。他指出,即使在這種情況下管道知道訊息型別,這些集中式管道的思想也是符合智慧終端和啞管道的微服務通訊定義。
展望未來,Buijze認為微服務將繼續發展下去,他還認為Axon元件工作方式和通訊方式在無伺服器環境中非常有用。他們朝這個方向邁出的第一步將是提供SaaS解決方案,但他也指出他們需要學習更多知識,並且還需要做更多工作才能有效地使用無伺服器環境。
今年早些時候,Axon團隊釋出了AxonDB,這是一個專門建造的事件儲存。該商店被AxonHub用於儲存事件,因此他們決定將這兩種產品合併到會議期間宣佈的Axon Server中。該伺服器既可用作開源,也可用作企業版。
下一版Axon 版本4的工作正在進行中,最近釋出了第一個里程碑。產品釋出計劃於10月18日開始。
Axon Framework是JVM平臺的開源產品,由Allard Buijze於2009年創立。2017年7月,成立了一家獨立公司AxonIQ,專門與Axon產品合作。
Buijze首先指出事件非常特殊; 他們是描述了發生的事情,並且是系統歷史的一部分。我們可以根據事件找到過去的問題,我們可以設定對未來的期望。使用事件推動事件溯源 ,不僅僅把事件用於大資料處理或監控等次要功能,而是作為應用程式中的事實來源(替代資料庫)。
Buijze還指出,服務消費使用事件的模式非常重要 - 這在事件溯源中至關重要。如果您的服務是根據內部資料而不是根據事件做出決策,那麼您就無法實現完整的事件溯源。雖然你有一個事件驅動架構,但卻無法保證事件是服務中發生事情的真實表示。
有許多基於實體服務的微服務架構(一個總服務呼叫許多微服務),他將這種設計技術稱為名詞驅動設計,想法是找到描述新系統的文件中的所有名詞,這些名詞對應一個服務,所有動詞都成為API呼叫。這種技術可能會產生分散式的大泥球,所有服務都相互依賴。如果一個服務發生故障,整個系統將無法使用。
他希望從單體開始而不是從微服務開始新系統,這樣更易於部署和重構,雖然難以擴充套件,他指出我們不應該將一塊好的巨石單體與一大塊泥球混淆,要確保內部有明確定義的結構。隨著時間的推移,當有太多人不得不使用程式碼的相同部分時,則需要提取一些元件,最好不要更改其他部分。隨著時間的推移和需求的增加,越來越多的元件可以搬出。
為了幫助提取元件,位置透明度非常重要,Buijze指出Axon的主要特徵不是CQRS,它是應用程式內部元件之間的位置透明性。如果兩個元件不知道它們各自的位置,則可以更改該位置。這也意味著您不必知道特定操作在哪個服務中 - 您只需傳送訊息並找到其目的地。
元件既不應該知道也不應該對它與之互動的元件的位置做出任何假設
事件很重要,但Buijze指出,元件有理由傳送三類不同訊息,並強調事件與訊息不同:
1. 事件是,當發生了事件,它們被分發給所有處理器,不返回任何結果。
2.命令是指你希望系統執行某些操作的意圖。它們被路由到某個處理器並返回結果。
3.查詢是指你想知道的事情,並返回結果。
為了支援位置透明度的承諾並使用這些不同型別的訊息,AxonHub於2017年在去年的會議上釋出。Buijze將其描述為一種訊息傳遞平臺,它可以瞭解不同訊息的型別,但不是訊息內容,並且能夠將不同型別的訊息路由到正確的目的地。他指出,即使在這種情況下管道知道訊息型別,這些集中式管道的思想也是符合智慧終端和啞管道的微服務通訊定義。
展望未來,Buijze認為微服務將繼續發展下去,他還認為Axon元件工作方式和通訊方式在無伺服器環境中非常有用。他們朝這個方向邁出的第一步將是提供SaaS解決方案,但他也指出他們需要學習更多知識,並且還需要做更多工作才能有效地使用無伺服器環境。
今年早些時候,Axon團隊釋出了AxonDB,這是一個專門建造的事件儲存。該商店被AxonHub用於儲存事件,因此他們決定將這兩種產品合併到會議期間宣佈的Axon Server中。該伺服器既可用作開源,也可用作企業版。
下一版Axon 版本4的工作正在進行中,最近釋出了第一個里程碑。產品釋出計劃於10月18日開始。
相關文章
- 事件驅動的微服務-事件驅動設計事件微服務
- 微服務事件驅動架構演進微服務事件架構
- 基於事件溯源與CDC的事件驅動微服務架構案例原始碼事件微服務架構原始碼
- 為什麼微服務應該是事件驅動?微服務事件
- Wikipedia創始人訪談
- Spring IO 2019大會上Axon+Spring的事件驅動微服務和CQRS原始碼專案Spring事件微服務原始碼
- 事件驅動的微服務-建立第三方庫事件微服務
- 領域驅動設計,中臺與微服務微服務
- 如何在Java中實現事件驅動的微服務架構Java事件微服務架構
- 使用Spring Cloud Stream和RabbitMQ實現事件驅動的微服務SpringCloudMQ事件微服務
- 使用Apache Kafka實現從單體到事件驅動微服務 - swlhApacheKafka事件微服務
- [譯] 微服務從設計到部署(五)事件驅動資料管理微服務事件
- Ndemic Creations創始人談遊戲向服務模式的轉變遊戲模式
- [鬥魚] 沒人比我更懂微服務--Go 微服務框架 Jupiter微服務Go框架
- 多執行緒、事件驅動與推薦引擎框架選型執行緒事件框架
- 微服務領域驅動設計 - semaphoreci微服務
- Facebook創始人祖克伯談團隊管理
- azeroth-event輕量級事件驅動框架事件框架
- 事件驅動的元件框架Flight介紹事件元件框架
- 基於事件驅動的測試框架ETS事件框架
- 使用Spring Cloud Stream和Spring State Machine建立事件驅動的微服務案例SpringCloudMac事件微服務
- 如何設計基於事件驅動架構的銷售庫存微服務?- Jasbir事件架構微服務
- Axon框架指南 - Baeldung框架
- 微服務與領域驅動設計,架構實踐總結微服務架構
- Flexport創始人談電子商務對物流供應鏈的衝擊與數字化轉型FlexExport
- 淺談微服務微服務
- 【原創】Linux PCI驅動框架分析(一)Linux框架
- 【原創】Linux PCI驅動框架分析(二)Linux框架
- 結合領域事件和微服務的實現領域驅動設計 - Alagarsamy事件微服務
- 微服務17:微服務治理之異常驅逐微服務
- 領域框架事件驅動的時序問題框架事件
- 基於.NET CORE微服務框架 -談談surging的服務容錯降級微服務框架
- 基於.NET CORE微服務框架 -談談surging API閘道器微服務框架API
- 使用事件驅動代替定時任務事件
- 從 Spring Cloud 開始談一談微服務架構的實踐之路SpringCloud微服務架構
- DNS創始人談DNS2.0以及與區塊鏈如何結合 - welcometothejungleDNS區塊鏈
- 銀杏谷創始人陳嚮明博士談雲原生的投資策略與思考
- Flexport創始人談美國物流供應鏈的問題FlexExport