跳到主要内容

Phoenix 特性解析

· 阅读需 1 分钟
包子

本文解析phoenix的特性

编程模型

Actor模型

rpc

实体聚合根

rpc

事务聚合根

rpc

单元测试

/**
* 划拨失败
*/
@Test
public void allocate_exceptFail() {
EntityAggregateFixture fixture = new EntityAggregateFixture();
// 向 A0 账户划拨 -1500 元,期待划拨失败
AccountAllocateCmd cmd = new AccountAllocateCmd("A0", -1500);
// 断言
fixture.when(cmd).expectRetFailCode().expectMessage(AccountAllocateFailEvent.class);
}

通讯模型

请求-响应

rpc

非回复

rpc-noreply

主动订阅

subscribes

调用其他服务

subscribes

事件发布

subscribes

查询模型

Query-Model

最终一致性读 基于数据库query subscribes

QueryCommandHandler

线性一致性读 subscribes

运行模型

  • dataSharding
  • 聚合根飘逸