
作者介绍:
张伟,BBD基础架构部经理。曾就职于Oracle,担任Middleware Consultant。曾就职于Alipay,参与过阿里双11核心交易系统的研发。现负责BBD中间件基础设施的建设工作,对企业级中间件、区块链有浓厚的兴趣。当选阿里云最有价值专家。

大数据时代的安全问题
从web1.0到web2.0,再到如今的web3.0,我们已经身处大数据时代,面对海量的数据信息,一方面,我们通过大数据技术来挖掘其潜在的价值,服务于我们的工作和生活,另一方面,我们也在遭受数据被窃取的困境。


BBD Aegis
大数据时代的数据安全已经成为当今的一个热点话题。基于此,BBD研发了分布式反爬虫系统BBD Aegis。
BBD Aegis的关键字:分布式、实时策略、人工智能

分布式框架:基于BDRF分布式开发框架,底层的服务性能可以按需扩展。
实时策略:配置推动到服务端后,无需重启应用,实时生效。
机器学习:引入智能识别模块,通过人工智能的算法来主动识别爬虫IP,并预警这些IP。
整体架构:

核心架构:

应用特性:

应用部分截图:

自由布局:

接入
1. 低耦合接入方式
a. 使用RPC调用
b. 使用http/https调用
2. 无侵入接入方式(Nginx插件)
该方式适合任何web项目,和系统的开发语言无关。并能将非法请求拦截在业务应用更的更上层,推荐使用该方式。
a. TCP方式
b. HTTP方式
性能测试
本次性能测试主要为了比较lua http方式和 c tcp方式的差异
1. 测试前提
• 测试涵盖数据请求环节:访问Nginx页面->插件搜集需要传递的数据->传送到服务器进行校验->服务端解析数据后直接返回(均无策略)->插件根据响应结果跳转页面。
注意:这里服务端并没有策略执行,这里主要对比校验信息收集和解析。和策略本身关系不大,并且策略刷新时,会有一些波动,引起整体的测试结果。
• 压测参数
10线程,每个线程访问10000次。共计10万次测试。
• 测试公平性
因为http方式和tcp方式在服务端存在不同的服务引用,为了保证服务都已经完全加载完毕,减少首次加载引起的波动。所有测试结果都取第二个10万次的结果。
2. 测试结果
•tcp:
请求次数 |
平均耗时 |
90% |
95% |
99% |
100000 |
2ms |
3ms |
3ms |
6ms |
• http:
请求次数 |
平均耗时 |
90% |
95% |
99% |
100000 |
6ms |
10ms |
12ms |
18ms |
3. 测试结果概述
tcp不会频繁创建连接,使用同一个底层连接进行数据传输。性能上优于http的方式。由上面的测试结果来看:tcp性能上比http高三倍。

总结
BBD Aegis接入超过20+线上应用,同时利用链路追踪工具进行了长期的性能追踪,目前单条防护策略的执行时间为3ms左右,对应用的损耗可以忽略不计。


