最新版的微服務框架Lagom帶來了Akka Management,一組用於支持Akka應用程序的工具,並支持Kubernetes和OpenShift部署。最新版的Lagom 1.5以Play 2.7.0、Alpakka Kafka 1.0和Akka 2.5.22爲基礎,並通過Akka gPRC來支持Couchbase和gPRC。
新的Akka Management工具通過一個特定的HTTP端點實現對Akka Actor系統狀態的遠程檢查。Lagom還默認爲這個端點添加了一些路由,用於健康檢測。
開發人員還可以通過新的工具引入Akka Cluster Bootstrap,用於發現環境中已知的節點,而不是使用靜態的種子節點列表。Akka團隊建議遷移到最新的Cluster Bootstrap,這樣做其實很容易,而且也更健壯。
最新版Lagom移除對Lightbend Orchestration的支持,因爲它們之間存在衝突,而且部署方面的靈活性也降低了。未來不會再自動處理部署,而是建議進行手動部署。如果要部署到OpenShift或Kubernetes環境,可以參考官方團隊提供的Lightbend應用程序部署指南。
對跨服務gPRC通信的支持處在孵化階段(未經完整測試,功能受限),除了現有基於HTTP/JSON的傳輸協議,開發者有了更多選擇。gPRC要求使用HTTP/2,不過Lagom已經支持HTTP/2了。
另一個處於孵化階段的特性是對Couchbase的支持,開發者又多了一個持久化實體選項和實體讀取處理器(Akka Persistence Couchbase模塊)。Lagom之前已經支持Cassandra、PostgreSQL、MySQL、Oracle和H2。
其他的改進包括:
-
框架在開發和測試模式下通過自簽名證書提供對TLS的基本支持。
-
額外的路由器,可以對服務暴露的路由進行擴展。
-
對Java 11的支持處在孵化階段。
官方提供了一個從Lagom 1.4到1.5的升級指南。如果從更早的版本升級,建議先升級到1.4,然後再升級到1.5。
更新版本1.5.1也發佈了,基於Akka的服務發現實現了新的服務定位器。這個定位器用於替換Lightbend Orchestration,該功能在1.5中被移除。
Lagom是一個開源的Java和Scala微服務框架,基於Akka和Play。Lagom專門爲響應式應用程序而設計,支持CQRS和事件溯源。
Lightbend CTO兼Akka作者Jonas Boner在最初發布Lagom時表示,大部分微服務框架把重點放在瞭如何簡化個體微服務的開發上,但這其實是最簡單的部分。Lagom重點關注的是微服務系統,這纔是難點所在,因爲我們需要面對的是分佈式系統的複雜性。
查看英文原文:https://www.infoq.com/news/2019/05/lagom-microservices-framework