异步写或后写的想法是客户端提交写操作的请求,然后在不等待写操作结束的情况下自行其是。
从我对这个主题的阅读中我不清楚的是,如果发生错误,如何处理它们。一种策略可能是记录并忽略它们。好的,所以我想客户端必须在后续读取操作失败时应对。采用什么策略来处理不可避免的写入失败?它们是否以任何方式暴露给用户?我可以想象一些非常奇怪的应用程序行为。想象一下,如果数据库出现故障,并且执行了几个写操作(从客户端的角度来看),实际上没有任何持久性发生。
异步写或后写的想法是客户端提交写操作的请求,然后在不等待写操作结束的情况下自行其是。
从我对这个主题的阅读中我不清楚的是,如果发生错误,如何处理它们。一种策略可能是记录并忽略它们。好的,所以我想客户端必须在后续读取操作失败时应对。采用什么策略来处理不可避免的写入失败?它们是否以任何方式暴露给用户?我可以想象一些非常奇怪的应用程序行为。想象一下,如果数据库出现故障,并且执行了几个写操作(从客户端的角度来看),实际上没有任何持久性发生。
看看 CQRS。
参见 Greg Young 的解释:
http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/
希望这可以帮助。