1

我已经设置了一个不错的日志记录系统,它可以写入 Azure 表存储,并且它运行良好很长时间。但是,在我的代码中的某些地方,我现在需要将大量消息写入日志(50-60 条消息),而不仅仅是几条。同样重要的是,在我知道日志成功之前,我无法启动一个新线程来完成对日志的写入并返回 MVC 操作,因为理论上该线程可能会死掉。在将数据返回给网络用户之前,我必须写入日志。

根据 Azure 仪表板,表存储事务提交端到端 (E2E) 大约需要 37 毫秒,而队列只需要大约 6 毫秒 E2E 提交。

在此处输入图像描述

我现在正在考虑不直接登录到表存储,而是登录到 Azure 队列,然后运行批处理作业,读取队列,然后将它们放在表存储中的适当位置。这样我仍然可以通过它们的分区和行键正确索引它们。我也可以只写一条包含所有日志条目的队列消息。所以它应该只需要 6 毫秒而不是 (37 * 50) 毫秒。

我知道有表存储批处理操作。但是,每个日志条目通常会转到不同的分区,并且批处理操作需要保留在单个分区中。

我知道队列消息只存在 7 天,所以如果队列消息超过一天,我会确保将它们存储在新机制中(如果前 50 次都不起作用,那就不是去上班)。

那么我的问题是:我没有在想什么?这怎么能让我在 4 个月后彻底崩溃?

4

0 回答 0