Lagom同时提供Java和Scala API。Java API以Java 8为目标,并假定您熟悉lambdas, default methods和 Optional
等特性。Lagom的大部分都是用Scala实现的。但是,即使使用Java API进行开发,您也不应该关心这个实现细节。
Lagom富有表现力的服务接口声明(expressive service interface declarations)让开发人员能够快速定义接口并立即开始实现它们。
在使用Lagom进行开发时,你会用到的重要APIs包括:
Service API ——提供一种声明和实现服务接口的方法,供客户端使用。对于位置透明性,客户端通过服务定位器发现服务。除了同步请求-响应调用之外,服务API还支持服务之间的异步调用。
Message Broker API ——提供分布式发布-订阅模型,服务可以使用该模型通过主题共享数据。主题可以简单的理解为一个允许服务推送和拉取数据的通道。
Persistence API——为存储数据的服务提供事件溯源的持久实体。还提供了命令查询责任隔离(CQRS)读端支持。Lagom通过集群节点管理持久化实体的分布,支持分片和水平扩展。Cassandra是作为开箱即用的数据库提供的,但也支持其他数据库。