【发布时间】:2017-07-06 09:36:20
【问题描述】:
我即将开始一个需要非常快的响应时间和高可用性的项目,我之前做过一些服务结构项目,所以我对此很有信心。
我目前倾向于一种特定的设计,基于有状态的内容服务作为主要数据源,将单个数据持久性服务保存到某种数据库中。
读取操作由 web-api 完成 写入操作由 Azure 服务总线通信完成,Rebus 作为处理程序。
内容服务
内容服务是有状态的服务,它在提交时向持久性服务发送消息,对象保存在可靠字典中,序列化为 json。
如果需要恢复数据,他们自己的内容服务将负责 json 反序列化。
恢复场景可能是整个字典由于某种原因丢失或将重置消息放在总线上。
持久化服务
- 从总线接收消息并将包含的实体存储到数据存储(尚未确定,可能是表存储)。
- 当服务需要重新加载数据时,为整个数据存储库提供服务。
- 只关心存储和检索数据,没有完整性检查
我真的不确定这是否是一种设计系统的可行方式,它也有大量的用户数据。
您对此设计有何看法?
【问题讨论】:
-
你的问题是什么?
-
试试吧,让我们知道!
-
真正的问题是,如果你们中的任何人尝试过类似的东西或对此设计有任何顾虑。我主要担心的是确实没有办法验证可靠字典中的数据。
标签: azure architecture azure-service-fabric