CN111740920B - 一种基于用户令牌的灰度发布和限流方法及其*** - Google Patents
一种基于用户令牌的灰度发布和限流方法及其*** Download PDFInfo
- Publication number
- CN111740920B CN111740920B CN202010827856.1A CN202010827856A CN111740920B CN 111740920 B CN111740920 B CN 111740920B CN 202010827856 A CN202010827856 A CN 202010827856A CN 111740920 B CN111740920 B CN 111740920B
- Authority
- CN
- China
- Prior art keywords
- token bucket
- web server
- user account
- server node
- node module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于用户令牌的灰度发布和限流方法及其***,***包括产品客户端、智能调度服务器以及web服务器节点单元:web服务器节点单元包括第一web服务器节点模块、第二web服务器节点模块以及第三web服务器节点模块;智能调度服务器对产品客户端的用户账号进行令牌桶分配,不同令牌桶的用户账号分别访问不同的web服务器节点模块,根据各自web服务器节点模块上更新版本产品服务端的用户使用反馈实现灰度发布。本发明通过灰度发布可以及早的获取部分用户的意见和反馈,完善产品功能,提升产品质量,同时解决在发布计划大的时候,做到很好的限流方法。
Description
技术领域
本发明涉及灰度发布技术领域,特别涉及一种基于用户令牌的灰度发布和限流方法及其***。
背景技术
对IT公司来说,在做产品迭代的时候,最处理的是新一代产品的新功能是否符合以及满足用户的需求。往往在每一次产品在更新上线之后,都会有一大堆的用户投诉,投诉新产品这个功能这不好,那个功能也不好。随着互联网的不断提高和发展,越来越多各种各样的用户,特别是面向多种多样的用户群体的产品,用户对该产品就可能会有不一定的要求和需求,因此,对每一次发布的新产品都需要尽可能地满足大部分用户需求。
同时在做发布计划的时候,用户每一次上传商品,这个工作量是巨大的,频繁操作会拖慢***,导致影响到正常业务访问。
当前大部分的IT公司,都是直接根据产品经理的对产品的认识以及认知,只要功能可以正常使用就直接把功能发布到线上环境,会有一些对产品迭代管理做得较好的,会有各种的开发环境,测试环境,预上线环境来完善功能产品的迭代。
至于遇到巨大发布计划的时候,通常IT公司会用一些限速设备或者对流量进行控制,来减少对正常业务的影响,但这往往需要非常高代价来做这件事情。
发明内容
本发明要解决的技术问题在于,提供一种基于用户令牌的灰度发布和限流方法及其***,解决产品迭代在发布计划时,通过灰度发布可以及早的获取部分用户的意见和反馈,完善产品功能,提升产品质量,让用户参与产品测试,加强与用户互动,降低产品升级所影响的用户范围,同时解决在发布计划大的时候,做到很好的限流方法。
为解决上述技术问题,本发明提供如下技术方案:一种基于用户令牌的灰度发布和限流***,包括若干个产品客户端、智能调度服务器以及web服务器节点单元,所述产品客户端、智能调度服务器以及web服务器节点单元依次连接,所述web服务器节点单元包括第一web服务器节点模块、第二web服务器节点模块以及第三web服务器节点模块,所述智能调度服务器包括redis库模块,所述redis库模块包括用于存储用户账号和令牌的关联表单元;
所述redis库模块用于生成固定速率的令牌桶,具体为:所述redis库模块生成默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
所述第一web服务器节点模块用于存储原始版本产品服务端;
所述第二web服务器节点模块用于存储第一更新版本产品服务端;
所述第三web服务器节点模块用于存储第二更新版本产品服务端;
所述产品客户端用于接收用户账号的登录,并将用户账号发送至所述智能调度服务器;
所述智能调度服务器根据所述关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
所述智能调度服务器还用于:将token1速率令牌桶的用户账号发送至所述第一web服务器节点模块、将token2速率令牌桶的用户账号发送至所述第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至所述第三web服务器节点模块;
所述第一web服务器节点模块用于接收token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
所述第二web服务器节点模块用于接收token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;
所述第三web服务器节点模块用于接收token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;
所述智能调度服务器还用于对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则智能调度服务器停止对这些用户账号发送数据。
本发明另一目的是提供一种基于用户令牌的灰度发布和限流方法,包括以下步骤:
S1、产品客户端接收用户账号的登录,并将用户账号发送至智能调度服务器;
S2、智能调度服务器根据关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
S3、智能调度服务器将token1速率令牌桶的用户账号发送至第一web服务器节点模块、将token2速率令牌桶的用户账号发送至第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至第三web服务器节点模块;
S4、第一web服务器节点模块接收到token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
第二web服务器节点模块接收到token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;
第三web服务器节点模块接收到token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;
S5、智能调度服务器对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则智能调度服务器停止对这些用户账号发送数据。
采用上述技术方案后,本发明至少具有如下有益效果:本发明方法指定用户群体实现A/B测试,为了用户体验,先让小部分人体验后得到反馈才渐渐去大范围影响,技术上降低风险,在放出小范围后去发现问题解决问题;同时根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行;本发明通过了定制令牌桶结合智能调度的方法实现灰度发布,同时利用同样令牌桶的达到降级和限流的方法。
附图说明
图1为本发明一种基于用户令牌的灰度发布和限流***框架图;
图2为本发明一种基于用户令牌的灰度发布和限流方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
实施例1
如图1所示,本实施例公开一种基于用户令牌的灰度发布和限流***,包括若干个产品客户端、智能调度服务器以及web服务器节点单元,所述产品客户端、智能调度服务器以及web服务器节点单元依次连接,所述web服务器节点单元包括第一web服务器节点模块、第二web服务器节点模块以及第三web服务器节点模块,所述智能调度服务器包括redis库模块,所述redis库模块包括用于存储用户账号和令牌的关联表单元;其中,对各个产品客户端进行序列标号,例如产品客户端1、产品客户端2、产品客户端3等;
所述redis库模块用于生成固定速率的令牌桶,具体为:所述redis库模块生成默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
所述第一web服务器节点模块用于存储原始版本产品服务端;
所述第二web服务器节点模块用于存储第一更新版本产品服务端;
所述第三web服务器节点模块用于存储第二更新版本产品服务端;
所述产品客户端用于接收用户账号的登录,并将用户账号发送至所述智能调度服务器;
所述智能调度服务器根据所述关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
根据产品迭代需求,所述智能调度服务器还用于:将token1速率令牌桶的用户账号发送至所述第一web服务器节点模块、将token2速率令牌桶的用户账号发送至所述第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至所述第三web服务器节点模块;
所述第一web服务器节点模块用于接收token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
所述第二web服务器节点模块用于接收token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;智能调度服务器获取用户对第一更新版本产品服务端的新功能产品的使用反馈;
所述第三web服务器节点模块用于接收token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;智能调度服务器获取用户对第二更新版本产品服务端的新功能产品的使用反馈;
上述就可以得到token2速率令牌桶和token3速率令牌桶的用户使用新功能产品的反馈,实现产品灰度发布的效果;其中灰度发布,指的是平滑过渡的一种发布方式;
所述智能调度服务器还用于对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则用户无法正常获取令牌,则智能调度服务器停止对这些用户账号发送数据,达到限流的效果。
实施例2
本实施例是在实施例1灰度发布和限流***的基础上,公开一种基于用户令牌的灰度发布和限流方法,如图2所示,包括以下步骤:
S1、产品客户端接收用户账号的登录,并将用户账号发送至智能调度服务器;
S2、智能调度服务器根据关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
S3、智能调度服务器将token1速率令牌桶的用户账号发送至第一web服务器节点模块、将token2速率令牌桶的用户账号发送至第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至第三web服务器节点模块;
S4、第一web服务器节点模块接收到token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
第二web服务器节点模块接收到token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;智能调度服务器获取用户对第一更新版本产品服务端的新功能产品的使用反馈;
第三web服务器节点模块接收到token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;智能调度服务器获取用户对第二更新版本产品服务端的新功能产品的使用反馈;
上述就可以得到token2速率令牌桶和token3速率令牌桶的用户使用新功能产品的反馈,实现产品灰度发布的效果;
S5、智能调度服务器对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则代表用户无法正常获取令牌,则智能调度服务器停止对这些用户账号发送数据,达到限流的效果。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (2)
1.一种基于用户令牌的灰度发布和限流***,其特征在于,包括若干个产品客户端、智能调度服务器以及web服务器节点单元,所述产品客户端、智能调度服务器以及web服务器节点单元依次连接,所述web服务器节点单元包括第一web服务器节点模块、第二web服务器节点模块以及第三web服务器节点模块,所述智能调度服务器包括redis库模块,所述redis库模块包括用于存储用户账号和令牌的关联表单元;
所述redis库模块用于生成固定速率的令牌桶,具体为:所述redis库模块生成默认速率令牌桶、token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
所述第一web服务器节点模块用于存储原始版本产品服务端;
所述第二web服务器节点模块用于存储第一更新版本产品服务端;
所述第三web服务器节点模块用于存储第二更新版本产品服务端;
所述产品客户端用于接收用户账号的登录,并将用户账号发送至所述智能调度服务器;
所述智能调度服务器根据所述关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
所述智能调度服务器还用于:将token1速率令牌桶的用户账号发送至所述第一web服务器节点模块、将token2速率令牌桶的用户账号发送至所述第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至所述第三web服务器节点模块;
所述第一web服务器节点模块用于接收token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
所述第二web服务器节点模块用于接收token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;
所述第三web服务器节点模块用于接收token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;
所述智能调度服务器还用于对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则智能调度服务器停止对这些用户账号发送数据。
2.一种基于用户令牌的灰度发布和限流方法,其特征在于,包括以下步骤:
S1、产品客户端接收用户账号的登录,并将用户账号发送至智能调度服务器;
S2、智能调度服务器根据关联表单元,对存在于关联表单元中的各个用户账号分配对应的令牌桶,令牌桶包括:token1速率令牌桶、token2速率令牌桶、token3速率令牌桶;
S3、智能调度服务器将token1速率令牌桶的用户账号发送至第一web服务器节点模块、将token2速率令牌桶的用户账号发送至第二web服务器节点模块以及将token3速率令牌桶的用户账号发送至第三web服务器节点模块;
S4、第一web服务器节点模块接收到token1速率令牌桶的用户账号,使得此用户账号对原始版本产品服务端进行访问和使用;
第二web服务器节点模块接收到token2速率令牌桶的用户账号,使得此用户账号对第一更新版本产品服务端进行访问和使用;
第三web服务器节点模块接收到token3速率令牌桶的用户账号,使得此用户账号对第二更新版本产品服务端进行访问和使用;
S5、智能调度服务器对不存在于关联表单元中的用户账号分配默认速率令牌桶,并使得这些用户账号正常获取新的令牌,当默认速率令牌桶的令牌满了,则智能调度服务器停止对这些用户账号发送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010827856.1A CN111740920B (zh) | 2020-08-17 | 2020-08-17 | 一种基于用户令牌的灰度发布和限流方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010827856.1A CN111740920B (zh) | 2020-08-17 | 2020-08-17 | 一种基于用户令牌的灰度发布和限流方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740920A CN111740920A (zh) | 2020-10-02 |
CN111740920B true CN111740920B (zh) | 2020-12-11 |
Family
ID=72658472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010827856.1A Active CN111740920B (zh) | 2020-08-17 | 2020-08-17 | 一种基于用户令牌的灰度发布和限流方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740920B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745334B (zh) * | 2022-03-31 | 2024-06-28 | 广州易星信息科技有限公司 | 一种分布式***限流方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和*** |
CN109800017A (zh) * | 2018-12-14 | 2019-05-24 | 中国平安财产保险股份有限公司 | 灰度发布方法、装置、计算机设备和存储介质 |
CN110995611A (zh) * | 2019-12-20 | 2020-04-10 | 创盛视联数码科技(北京)有限公司 | 一种用于针对高并发请求分布式限流方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010151496A1 (en) * | 2009-06-22 | 2010-12-29 | Citrix Systems, Inc. | Systems and methods for platform rate limiting |
CN110661835B (zh) * | 2018-06-29 | 2023-05-02 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及***和存储装置 |
CN109343880B (zh) * | 2018-09-29 | 2022-05-13 | 武汉斗鱼网络科技有限公司 | 一种rn包更新方法、装置及可读存储介质 |
CN109814896A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 服务器升级方法、装置、计算机***及可读存储*** |
CN109683936B (zh) * | 2018-12-20 | 2023-03-14 | 恒生电子股份有限公司 | 灰度发布方法及装置、存储介质及电子设备 |
CN110532008A (zh) * | 2019-08-29 | 2019-12-03 | 深圳前海环融联易信息科技服务有限公司 | 一种产品灰度发布方法、装置、计算机设备及存储介质 |
CN110958314A (zh) * | 2019-11-28 | 2020-04-03 | 盛业信息科技服务(深圳)有限公司 | 服务的灰度发布方法、装置和计算机设备 |
-
2020
- 2020-08-17 CN CN202010827856.1A patent/CN111740920B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099988A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和*** |
CN109800017A (zh) * | 2018-12-14 | 2019-05-24 | 中国平安财产保险股份有限公司 | 灰度发布方法、装置、计算机设备和存储介质 |
CN110995611A (zh) * | 2019-12-20 | 2020-04-10 | 创盛视联数码科技(北京)有限公司 | 一种用于针对高并发请求分布式限流方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111740920A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7035919B1 (en) | Method for calculating user weights for thin client sizing tool | |
US7543060B2 (en) | Service managing apparatus for keeping service quality by automatically allocating servers of light load to heavy task | |
CN103309946B (zh) | 多媒体文件处理方法、装置及*** | |
US9407572B2 (en) | Multiple cloud marketplace aggregation | |
US20200097391A1 (en) | Agentless distributed monitoring of microservices through a virtual switch | |
Ardagna et al. | SLA based resource allocation policies in autonomic environments | |
US8612615B2 (en) | Systems and methods for identifying usage histories for producing optimized cloud utilization | |
CN104391868B (zh) | 动态页面静态化的装置和方法 | |
CN108282514A (zh) | 一种分布式业务建立方法及装置 | |
CN112256439B (zh) | 一种基于云计算资源池的服务目录动态更新***及方法 | |
CN114924751A (zh) | 一种业务访问请求流量分配的方法和装置 | |
CN111740920B (zh) | 一种基于用户令牌的灰度发布和限流方法及其*** | |
US8032636B2 (en) | Dynamically provisioning clusters of middleware appliances | |
CN104580495B (zh) | 网络请求处理方法和装置 | |
CN113946328A (zh) | 业务处理方法及***、存储介质和电子设备 | |
Sood | Function points‐based resource prediction in cloud computing | |
CN116170502A (zh) | 一种消息服务***、方法及消息服务平台 | |
CN101958928A (zh) | 一种细粒度远程调用在线重构方法 | |
Kotov | On virtual data centers and their operating environments | |
Ruiz-Paz et al. | Model of dynamic orchestration for SaaS | |
CN106130757B (zh) | 信息获取方法和装置 | |
CN110868330A (zh) | 云平台可划分cpu资源的评估方法、装置及评估*** | |
CN111625866A (zh) | 一种权限管理方法、***、设备及存储介质 | |
Wang et al. | Ro-burst: A robust virtualization cost model for workload consolidation over clouds | |
CN112632074A (zh) | 用于数据库的库存分配方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |