历史建模的局限性与阅读方法
历史建模的局限性
历史建模虽具有自主性、可扩展性和冲突解决等诸多优势,但也存在一定的局限性,使其不适用于某些类型的系统。在这些情况下,静态建模或结合静态与历史建模的方式更为合适。
1. 缺乏中央权威
历史模型允许自主决策,每个决策记录在本地历史中并最终共享给系统其他部分。因此,系统不能基于决策的时间或当前状态拒绝事实。过去做出的决策在本地获得批准,无需咨询系统的远程部分,且事后不能被拒绝。
这使得历史建模不适用于需要中央权威的系统部分。例如,会议室预订系统需要确切知道某个房间在特定时间是否可用。当预订被批准时,批准者需要知道同一房间在同一时间没有其他预订被批准,这一决策必须由中央权威做出。
为解决此问题,系统应包含一个使用静态模型的中央权威。历史模型记录预订请求和批准,而静态模型确定可用性。中央权威可以是一组机器,只要它们能访问相同的静态模型,就可以作为一个整体行动。共享的静态模型需要一个锁定机制来协调集群的行动,关系型数据库的事务功能能很好地满足这一需求。中央权威将记录请求的批准或拒绝作为后续事实,并将其反馈给请求发起的客户端。
graph LR
A[用户请求] --> B[历史模型记录请求]
B --> C[中央权威(静态模型)]
C --> D{是否可用}
D -- 可用 --> E[历史模型记录批准]
D -- 不可用 --> F[历史模型记录拒绝]
E --> G[反馈给用户]
F --> G
超级会员免费看
订阅专栏 解锁全文
3314

被折叠的 条评论
为什么被折叠?



