我正在尝试以非阻塞方式编写事件,以免减慢任何现有流程。似乎有两种选择:
还有其他选择吗?有人有这方面的经验吗?
背景:我们计划将事件写入亚马逊的CloudWatch服务,我担心执行PUT请求的延迟。如果这改变了答案,我实际上并不关心失去一些PUT(我们正在为警报目的编写事件,并且无论如何它们都将在一周之后被清除)。
答案 0 :(得分:1)
如果日志记录适合您的应用程序,听起来如此,它应该比使用扭曲更简单。您可以在内存中记录一个线程安全队列,并从中拉出一个单独的线程(或几个)并推送到云端。
那就是说,扭曲可能更快或至少更具可扩展性,但是,尤其是如果你不了解它,学习曲线会更陡峭。
如果线程接近命中限制,您可以随时切换日志处理程序以使用扭曲,而无需更改应用程序的界面,这样我就可以通过简单的方法和基础来开始。
答案 1 :(得分:1)
这对于gevent来说是微不足道的(只需在一个单独的greenlet中进行PUT并修补插槽)。