基于 Spark 的实时攻击检测系统,最大的亮点就是数据又快又稳。Spark Streaming搭配Kafka或者Flume,实时数据流一点不吃力,响应也快,适合安全系统这种对延迟要求高的场景。嗯,还有一点,Spark 的内存计算机制也香,省去了频繁读写 HDFS 的麻烦。

HDFS 的分布式存储用起来也比较安心,哪怕节点挂了也不怕,数据不会丢。是日志这种大批量堆积的玩意儿,扔进 HDFS 就对了。再加上MLlib,你还能搞些攻击行为的模式识别,比如识别 SQL 注入或异常登录行为。

缓存的话我一般用Redis,存点会话信息、黑名单啥的,查得快,而且支持的数据结构也多,比如hashzset都挺好用。后台数据落地用MySQL也挺稳,查询方便,写报警日志、用户操作记录都蛮合适。

如果你想深入折腾,可以去看看这几个资料:

如果你正在做安全相关的项目,或者正愁着怎么实时检测异常数据,这套方案可以考虑试试。