龙空技术网

在Nginx上的一个单页应用程序中组织一个简单的A/B测试

吉祥庄钢铁侠 68

前言:

如今看官们对“nginxab”大概比较注重,姐妹们都需要学习一些“nginxab”的相关资讯。那么小编也在网络上汇集了一些有关“nginxab””的相关知识,希望各位老铁们能喜欢,看官们快快来了解一下吧!

在Nginx上的一个单页应用程序中组织一个简单的A/B测试

为了减少风险,该变化包括为特定的用户组或部分用户进行测试。根据成功的结果,决定是否将该变化全部纳入,或删除该变化。这就是所谓的A/B测试。

测试本身可以分为简单和复杂的测试。

复杂是指有一大组数据被用于映射条件中的情况。通常在这种情况下,条件是由应用程序调用的一个单独的服务来检查。 组织这样的测试超出了本文的范围。

而简单的条件是基于一些简单的东西,例如,50%的用户应该看到第一个选项,其余的应该看到第二个。在我的实践中,简单测试的使用与以下任务有关。

检查新的设计检查技术改进/变化:切换到另一个服务,将部分应用程序移到一个单独的应用程序(小工具)。

为了避免条件检查堵塞应用程序的代码,可以将检查委托给HTTP服务器,在我们的例子中是Nginx。

ngx_http_split_clients_module允许定义分割客户端的条件(每个客户端是一个单独的请求到服务器)。

http {          split_clients "${http_x_forwarded_for}AB" $ab_version {                              50%                .two;                              *                  "";      }            server {                             if ($cookie_ab_version) {                         set $ab_version $cookie_ab_version;                 }                          location / {                     index index${ab_version}.html;       }    }}

在上面的例子中,我把50%的请求发送到更新后的应用程序的第二版本。其余的见主版本。

为了确保正确显示版本二,我增加了在Cookie中指定版本的选项。

标签: #nginxab #单页应用nginx配置