我的 Lagom 服务的架构?
Architecture of my Lagom Service?
我正在使用 Lagom 框架创建服务,在应用程序架构方面需要一些帮助。 Employee 服务包含所有员工的信息。每个员工都有一个地址。模型是这样的,
class Employee {
String firstName;
String lastName;
String email;
Address address;
}
class Address {
String apt;
String street;
String city;
String state;
String pin;
}
现在我正在为员工创建单一服务,并考虑将 Cassandra 用于数据库。我应该为包含自定义用户类型 (UDT) 地址的员工创建单个 table 还是为地址创建单独的服务并在员工服务中使用此服务。
也有人可以向我指出一个 Lagom 框架示例,该示例演示了在 Cassandra 中使用 UDT。
在 Lagom 中持久化数据的推荐方法是使用事件源,如下所述:
https://www.lagomframework.com/documentation/1.3.x/java/PersistentEntity.html
因此,您不会将状态直接存储在表中,而是存储导致该状态的事件。例如,您可能有一个 EmployeeAdded 事件和一个 EmployeeAddressChanged 事件,等等,具体取决于在您的业务用例中建模的意义。这些是持久化的东西,然后当员工被加载时,Lagom 将重播所有持久化的事件以创建您上面的 Employee 类型。
我正在使用 Lagom 框架创建服务,在应用程序架构方面需要一些帮助。 Employee 服务包含所有员工的信息。每个员工都有一个地址。模型是这样的,
class Employee {
String firstName;
String lastName;
String email;
Address address;
}
class Address {
String apt;
String street;
String city;
String state;
String pin;
}
现在我正在为员工创建单一服务,并考虑将 Cassandra 用于数据库。我应该为包含自定义用户类型 (UDT) 地址的员工创建单个 table 还是为地址创建单独的服务并在员工服务中使用此服务。 也有人可以向我指出一个 Lagom 框架示例,该示例演示了在 Cassandra 中使用 UDT。
在 Lagom 中持久化数据的推荐方法是使用事件源,如下所述:
https://www.lagomframework.com/documentation/1.3.x/java/PersistentEntity.html
因此,您不会将状态直接存储在表中,而是存储导致该状态的事件。例如,您可能有一个 EmployeeAdded 事件和一个 EmployeeAddressChanged 事件,等等,具体取决于在您的业务用例中建模的意义。这些是持久化的东西,然后当员工被加载时,Lagom 将重播所有持久化的事件以创建您上面的 Employee 类型。