Akka Serverless 是一种平台即服务,它结合了 API 优先、无数据库编程和无服务器运行时。开发人员不必设置和调整数据库、维护和供应服务器、配置或运行计算集群。开发人员唯一负责的是构建无服务器服务。相比之下,Akka Serverless 提供了高级数据访问模式,如CQRS、Event Sourcing和CRDT,开发人员无需学习如何实现这些概念。
Akka Serverless 的特点
- 无数据库
- API优先
- 无服务器
Akka 无服务器编程模型
开发人员创建的服务可以包含无状态和有状态组件。对于有状态的组件,开发者可以选择状态模型,数据管理由 Akka serverless 处理。
- 服务
- Action
- 实体
- 视图Views
- 状态模型
有两种类型的状态模型 - 值实体状态模型和基于事件的实体状态模型。
- 值实体状态模型:值实体状态模型仅将当前状态持久化到持久数据存储中。一旦具有特定 ID 的实体被实例化,其状态将被缓存以更快地对其进行后续请求。价值实体状态模型提供的好处是 - 可扩展 - 长寿命 - 可寻址行为 - 更类似于传统数据库
- 事件源实体状态模型基于事件的实体状态模型捕获数据更改,而不是覆盖现有值。数据更改日志保存在日志中。不同的服务可以在不同的点开始读取日志,从而导致最终的一致性。尽管有些可能需要更长的时间,但所有各方都可以保证在某个时候赶上。事件源实体状态模型提供的好处 - 审计 - 重建历史状态的时间查询
代码参阅此链接中提供的存储库。