The invention provides a gray distribution system, the system includes a Redis server and Nginx server; the Nginx server is used to find Cache if there is a triage strategy logo, if it is not, from the Redis server in the preset position to read the current diversion strategy identification, according to the current distribution strategy in the presence of identity memory search and strategy analysis document the current diversion strategy corresponds to the identifier and user information parsing the file, if it is not, according to the current distribution strategy is identified by way of loading string will exist in the form of a string of strategy parse the file in the Redis server and the user information through the Lua parse the file is loaded into memory, were released according to the shunt strategy parsed file parsing. In this process, you don't need to reload or restart the Nginx server when you need a new split policy. In addition, a grayscale publishing method is also proposed.
【技术实现步骤摘要】
灰度发布方法和系统
本专利技术涉及计算机处理领域,特别是涉及一种灰度发布方法和系统。
技术介绍
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。ABtest就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。ABtest是依据系统中配置的分流策略进行分流工作的,在测试阶段,如果发现问题,往往需要在Redis服务器中新增分流策略,而每个分流策略都会对应一个策略解析文件和用户信息解析文件,由于传统的分流策略对应的策略解析文件和用户信息解析文件是存储在Nginx服务器的内存中的,所以若新增分流策略,则需要将新增分流策略对应的策略解析文件和用户信息解析文件上传到Nginx服务器,这个过程中需要重新加载(reload)或重启Nginx服务器,而重启Nginx服务器不仅耗时而且十分麻烦。
技术实现思路
基于此,有必要针对上述问题,提出一种无需重启Nginx服务器就可以动态新增分流策略的灰度发布方法和装置。一种灰度发布系统,所述系统包括:Redis服务器,用于接收上传的分流策略以及与所述分流策略对应的策略解析文件和用户信息解析文件并进行存储,其中,所述策略解析文件和用户信息解析文件是以字符串的形式进行存储的;Nginx服务器,用于查找Cache里面是否存在分流策略标识,若不存在,则从所述Redis服务器中预设的位置读取当前分流策略标识;所述Nginx服务器还用于根据所述当前分流策略标识查找内存中是 ...
【技术保护点】
一种灰度发布系统,所述系统包括:Redis服务器,用于接收上传的分流策略以及与该分流策略对应的策略解析文件和用户信息解析文件并进行存储,其中,所述策略解析文件和用户信息解析文件是以字符串的形式进行存储的;Nginx服务器,用于查找Cache里面是否存在分流策略标识,若不存在,则从所述Redis服务器中预设的位置读取当前分流策略标识;所述Nginx服务器还用于根据所述当前分流策略标识查找内存中是否存在与所述当前分流策略标识对应的策略解析文件和用户信息解析文件,若不存在,则根据所述当前分流策略标识采用加载字符串的方式将所述Redis服务器中的以字符串形式存在的策略解析文件和用户信息解析文件通过lua加载到内存中;所述Nginx服务器还用于根据所述策略解析文件解析出的分流策略进行发布。
【技术特征摘要】
1.一种灰度发布系统,所述系统包括:Redis服务器,用于接收上传的分流策略以及与该分流策略对应的策略解析文件和用户信息解析文件并进行存储,其中,所述策略解析文件和用户信息解析文件是以字符串的形式进行存储的;Nginx服务器,用于查找Cache里面是否存在分流策略标识,若不存在,则从所述Redis服务器中预设的位置读取当前分流策略标识;所述Nginx服务器还用于根据所述当前分流策略标识查找内存中是否存在与所述当前分流策略标识对应的策略解析文件和用户信息解析文件,若不存在,则根据所述当前分流策略标识采用加载字符串的方式将所述Redis服务器中的以字符串形式存在的策略解析文件和用户信息解析文件通过lua加载到内存中;所述Nginx服务器还用于根据所述策略解析文件解析出的分流策略进行发布。2.根据权利要求1所述的系统,其特征在于,所述Nginx服务器还用于根据所述当前分流策略标识查找与该当前分流策略标识对应的策略解析文件ID和用户信息解析文件ID,根据所述策略解析文件ID和用户信息解析文件ID通过加载字符串的方式将Redis服务器中的以字符串形式存在的策略解析文件和用户信息解析文件通过lua加载到内存中并转换为Table的形式进行存储。3.根据权利要求1所述的系统,其特征在于,所述Nginx服务器还用于采用所述策略解析文件对相应的分流策略进行解析,解析出分流策略中至少一种参数信息与转发路径之间的对应关系,并将所述至少一种参数信息与转发路径之间的对应关系保存到Cache。4.根据权利要求3所述的系统,其特征在于,所述Nginx服务器还用于接收客户端发送的请求,提取所述请求中的用户信息,根据所述用户信息解析文件中预设的提取方式从所述用户信息中提取出至少一个参数信息,将提取出的至少一种参数信息作为用户特征,根据Cache中存储的至少一种参数信息与转发路径之间的对应关系确定出与所述用户特征对应的转发路径,根据所述转发路径进行对应的转发。5.根据权利要求1所述的系统,其特征在于,所述Nginx服务器还用于采用所述策略解析文件对相应的分流策略进行解析,解析出对应的百分比策略,根据所述百分比策略进行对应的发布。6.一种灰度发布方法,所述方法包括:Nginx服务器根据预设的规则定时查找Cache里面是否存在分流策略标识,若不存在,则从所述...
【专利技术属性】
技术研发人员:俞晓鸣,顾钰芬,李金龙,
申请(专利权)人:上海亿账通互联网科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。