奇怪情况的最佳实践

时间:2015-10-20 01:22:37

标签: c++ windows logging asynchronous server

我正在尝试为运行资源密集型服务的Windows服务器实现异步日志记录;我不希望它等待我的SQL数据库中的任何响应(可能会延迟)。我用C ++编写。

我发现的最简单的方法就是在Windows中生成一个新进程。该过程只是一个愚蠢的控制台应用程序,它在启动时接收参数并将数据吐出到我的数据库。基本上,此应用程序打开,执行,然后相当快速地关闭。我已经有了这个工作,实现起来非常简单。问题是,我觉得自己是个白痴。肯定有更好的办法。这不会有很多开销吗?在我的服务器上,我可以有多达20个“端口”监听请求 - 所以理论上我可以有20个我的小日志应用程序实例弹跳,这对我来说似乎很糟糕。我不知道Windows操作系统是否针对此类事情进行了优化,或者是否是一个好主意。

但我已经考虑过我的选择并且看起来不漂亮吗?我正在考虑创建一个侦听请求的日志服务。我可以,而不是产生一个新的进程,使用某种异步管道将数据发送到我的日志服务?这听起来像是一种更好的方法吗?我很担心所涉及的努力;我之前从未做过这样的事情所以我不知道这是不是一个好主意。一般来说,我应该把噪音降低到我的数据库,并尝试将日志记录插入请求分块,尽管这可能有点过分(我不确定我的日志记录最终会如何“嘈杂”)。

我也没有头脑风暴任何更好的想法。如果有人感到慷慨,我想要一些意见或更好的指导。我只是担心什么?

0 个答案:

没有答案