全链路压测如何防止数据污染?
-
全链路压测的数据防污染主要通过以下四个方面来实现:第一是流量打标,我们会对所有的压测流量进行染色,让中间件能够识别出哪些是压测流量哪些是正式流量,并且在链路处理过程中将标识一路传递下去;第二是存储隔离,当中间件处理压测流量时,会将压测流量存储至影子区域而不是正式区域,如影子库表、影子缓存、影子topic、影子索引,从而实现压测数据的物理隔离;第三是白名单,我们只有白名单中的应用接口才会允许压测流量去调用,如果接口不在白名单中,压测流量则不会去调用这些接口,防止压测数据泄露至未加入压测的应用;第四是挡板,当压测链路里有一些第三方的服务必须要调用,但又无法真实调用时,我们会为这些接口增加挡板,压测流量访问时,挡板会拦截这部分请求并返回提前约定好的结果,既保证压测链路能够继续执行也防止压测数据去真实地调用第三方服务。
3年前