我正在關注 RockTheJVM (Daniel Cioc?rlan) 的應用程式示例:https ://blog.rockthejvm.com/akka-cassandra-project/
為了實作 API Rest,它使用 Akka Http。要訪問 Cassandra,它使用 Doobie。
當一個請求想要創建一個銀行帳戶時,實作會向 akka 演員發送一條訊息,然后該演員在 Cassandra 中創建帳戶。它是這樣的:
POST 請求 -> Akka Http 端點 -> Actor(詢問/管道模式)-> Doobie -> Cassandra
我的問題是使用演員有什么好處或優勢?是因為 Akka Persistence 嗎?為什么如果我不想要或不需要 Akka Persistence,像這樣的實作:
POST 請求 -> Akka Http 端點 -> Doobie -> Cassandra
在不使用 Akka Persistence 的情況下添加演員有什么好處嗎?
uj5u.com熱心網友回復:
主要原因是關注點分離。基于演員的版本中的每個步驟都有不同的作用。
Akka Http endpoints處理 REST(HTTP) 請求并將其轉換為應用程式操作(Akka 訊息)。
Actor (ask/pipe pattern)實作應用程式操作。這使用一個或多個資料庫操作、內部狀態和來自應用程式其他部分(其他 Actor)的資訊。
該Doobie元素只負責實作資料庫操作。
使用較短的管道,您有一個將 REST API 呼叫直接映射到資料庫訪問的元素,這是不靈活的,并且(相信我,我有傷痕)導致系統設計不佳。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/493063.html
