使用专有日志记录库时的异步记录

时间:2018-10-31 14:41:29

标签: c# .net wcf asynchronous parallel-processing

我的团队正在开发一个大型中间件应用程序,该应用程序旨在访问数据库并将一定数量的数据公开给另一个应用程序,该应用程序将经常以Web服务的形式进行访问,因此将发送大量对我们的应用程序的请求。

当前,我们处于计划阶段,正在考虑如何实现日志记录。我们与我们工作的组织制定的“专有”(在某种意义上说,我们无法更改)日志框架联系在一起,该组织本身并不支持异步性。我们的日志库允许我们同时登录到数据库和跟踪文件,并且对于每个用户请求,我们都必须多次登录到两者。

我们的基本思想是,我们将创建一个单例类,该类创建一个带有队列的单个线程,并且每当我们要记录某些内容时,我们只需将消息发送到队列中,然后记录线程便会处理该问题。这样可确保按照接收消息的顺序将消息写入数据库和跟踪日志。同样可能在这里出现的一个问题是,我们也希望异步调用我们的Web服务,以便最大化Web服务的响应能力,然后它们可能会将消息无序地写入队列。但是我只是在这里集思广益,而且我对并行性没有经验,所以我想知道我的思维方式是否合理,在这种情况下最明智的做法是什么。

0 个答案:

没有答案