最新版的微服务框架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
评论