我已经设置了一个简单的Nginx服务器,它以JSON格式logging,然后通过Apache Flume传输到S3存储桶。 所有Nginx服务器都会响应Web跟踪像素跟踪并写入日志文件。 一切都很酷。
但是,在这个pipe道级别上处理其他一些处理步骤是很好的:
看来我需要一个自定义的Flume接收器来将查询string参数和后端转换为nginx来设置cookie并更新数据库。 在这里有几个系统似乎效率很低,特别是在优化每秒数百个请求的吞吐量时。
我的第一个想法是使用NodeJS,它可以处理所有这些任务(甚至取代nginx?),但是我不喜欢它是单线程的(可能是派生的童工?)。
然后,我想也许应该在Flume代理级别进行处理,Java程序可以处理所有事情(由于Flume是用Java编写的,所以性能优势在这里)?