策略管理架构
两个收发策略接口,分别是RESTFUL API、CLI。
收到策略解析,使用文件型、轻量级sqlite数据库存储,存于表A。(查了一下sqlite可以批量写入、删除、查询)。
黑名单策略存于表B。
把新增策略ID写入数据库C表,并加时间戳,向引擎发送signal通知引擎,引擎从表C读取新增策略,并更新时间戳。
引擎旁路部署,有攻击流量来时,根据目的IP来加载策略,按需加载,开始无需加载全部策略。
集群同步策略,首先选出主节NODE1点,并保证主节点正常运行,利用Zookeeper同步策略文件。
数据库文件同步后,如果C表有更新发送信号通知引擎,引擎根据时间戳对比,读取C表中的策略。
如果集群主节点切换,保证其通信IP不变,用VRRP,或者fake来实现IP不变。