1.一种应用灰度发布系统,其特征在于,包括:Redis存储系统、分流服务器、容器构建服务器及Docker应用容器;其中:
所述Redis存储系统,用于以键值对形式存储灰度策略;
所述容器构建服务器,用于监测所述Redis存储系统,若监测到所述Redis存储系统的灰度策略中新增某版本的应用,则在物理服务器上构建Docker应用容器;还用于向所述分流服务器发送触发指令;以及,还用于修改分流服务器中所述新增某版本的应用对应的分流参数,分流参数用于指示所述Docker应用容器的地址;
所述Docker应用容器,用于发布所述某版本的应用;
所述分流服务器,用于接收到触发指令后,从Redis存储系统中读取灰度策略;其中,所述分流参数及所述灰度策略用于将用户请求分流至所述Docker应用容器。
2.根据权利要求1所述的应用灰度发布系统,其特征在于,在监测所述Redis存储系统的方面,所述容器构建服务器具体用于:
以周期性轮询方式监测所述Redis存储系统。
3.根据权利要求1所述的应用灰度发布系统,其特征在于,所述键值对中的键表示用户信息,所述键值对中的值表示应用版本信息,其中,所述用户信息包括位置信息、注册时间、登录时间或访问数据量。
4.一种应用灰度发布方法,其特征在于,包括:
所述容器构建服务器监测Redis存储系统,以监测Redis存储系统存储的灰度策略是否发生变化,其中,所述灰度策略存储为键值对形式;
所述容器构建服务器若监测到所述Redis存储系统的灰度策略中新增某版本的应用,则在物理服务器上构建Docker应用容器,并修改分流服务器中所述新增某版本的应用对应的分流参数,分流参数用于指示所述Docker应用容器的地址;
所述Docker应用容器发布所述某版本的应用;
所述分流服务器从Redis存储系统中读取灰度策略;其中,所述分流参数及所述灰度策略用于将用户请求分流至所述Docker应用容器。
5.根据权利要求4所述的应用灰度发布方法,其特征在于,所述容器构建服务器监测Redis存储系统,包括:
所述以周期性轮询方式监测所述Redis存储系统。
6.根据权利要求4所述的应用灰度发布方法,其特征在于,还包括:
所述容器构建服务器向分流服务器发送触发指令;
所述分流服务器从Redis存储系统中读取灰度策略,包括:
所述分流服务器接收到所述触发指令后,从Redis存储系统中读取灰度策略。
7.根据权利要求4所述的应用灰度发布方法,其特征在于,还包括:
若容器构建服务器并未成功修改分流服务器中该灰度策略对应的分流参数,则注销所构建的Docker应用容器。
8.根据权利要求4所述的应用灰度发布方法,其特征在于,所述键值对中的键表示用户信息,所述键值对中的值表示应用版本信息,其中,所述用户信息包括位置信息、注册时间、登录时间或访问数据量。
9.一种应用访问方法,其特征在于,包括:
接收到用户请求后,从所述用户请求中提取用户信息;
根据灰度策略,确定所述用户信息所对应的目标版本应用;其中,所述灰度策略为键值对形式;
根据分流参数,查找所述目标版本应用的地址,该地址表示目标版本应用发布在哪个Docker应用容器上;
将所述用户请求转发到目标版本应用的地址指示的Docker应用容器上,以使所述用户请求访问所述目标版本应用。
10.一种分流服务器,其特征在于,包括:处理器和存储器,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:
接收到用户请求后,从所述用户请求中提取用户信息;
根据灰度策略,确定所述用户信息所对应的目标版本应用;
根据分流参数,查找所述目标版本应用的地址,该地址表示目标版本应用发布在哪个Docker应用容器上;
将所述用户请求转发到目标版本应用的地址指示的Docker应用容器上,以使所述用户请求访问所述目标版本应用。