CNSRE / ABTestingGateway

MIT License
2.35k stars 768 forks source link

如何在(四种策略)request中设置用户特征信息- #10

Open yanchaoguo opened 8 years ago

yanchaoguo commented 8 years ago

1.用户city分流,city是作为request参数随着请求下发的吗,还是? 2.iprange 策略模式,需要做额外的配置吗,ip是直接从用户的请求中提取的吧,然后根据策略进行分流的

BG2BKK commented 8 years ago

你好 1 按照city分流是我们有一个业务,想按照城市来分流,分流时, 用户请求为GET请求(也可以自己写cityParser实现处理Post请求),请求参数中有一个是city.
所以说如何在request中设置用户特征呢, 可以在请求参数中,这样lua可以ngx.var.arg_VARIABLE获得信息, 可以在请求头部中,这样可以通过ngx.req.get_headers()[VARIABLE] 可以通过json解析POST数据, 这些都比较灵活.

2 IP信息直接从用户请求中提取, nginx有相应配置和功能. 值得说一下的是, 我们按照ip对用户分流时,并不是根据用户的具体ip来分流, 因为从server角度看, nginx获得用户请求ip是从某个运营商的出口,或者四七层接入设备中的, 只要知道用户请求从哪个运营商出来,这个运营商的ip就是我们的分流依据