我有一个日历系统在我的网络应用程序。我们需要实施提醒。
是否有任何提醒/警报模式或系统设计,或最佳实践?如果是这样,或者如果不是,有什么办法可以实现这一点?
设计注意事项
到目前为止,我的设计是这样的:
但也许还有比这个更优雅的图案?已经建立起来的东西?或者什么天蓝色的工具等等?
我们的堆栈是.net和azure。
发布于 2018-09-20 02:24:19
为第二天创建一个表。添加一个触发器,以便在插入主表时添加提醒,并添加一个触发器(如果是同一天,则验证作业计划增加10分钟,并将其添加到daily中,用于删除提醒)。
在非高峰时间每天批次作业,为第二天放置提醒,并安排作业在适当的时间运行。如果在批处理运行之前删除了它们,则永远不会添加;如果之后,触发器将删除它们。
按照批处理脚本和触发器的计划,使用现有脚本发送基于小得多的每日表的通知。
这个过程将减少整个执行时间,同时使用最少的更多的数据库空间。
编辑:虽然建议的过程是对原始算法的改进,但如果没有使用数据,就无法确定这是否会转化为Azure平台上的财政节约。
轻量使用:这将通过消除完整的表查询并在不需要时每10分钟消除作业,从而提高性能,而牺牲几MB的额外存储。
大到高比例尺的解决方案:批处理和触发器将通过消除10分钟查询期间的全表扫描来提高效率。
在中间,你提出的解决方案是50/50。
如果没有更多的数据,我就无法说出这些确切的界限。
https://stackoverflow.com/questions/51119913
复制相似问题