The embodiment of the present invention provides a flow control configuration method. The method includes: deploying the flow control client in each business system; synchronously obtaining the flow control configuration information from the etcd distributed storage cluster for initialization by the flow control client and the flow control server cluster; monitoring the etcd distributed storage cluster, responding to the update of the flow control configuration information in the etcd distributed storage cluster, obtaining the updated flow control configuration information by the flow control client and the flow control server cluster. Flow control configuration; Flow control client determines the demand quota of business requests in response to the input of business requests of each business system. Flow control client makes flow control decisions through the cluster of flow control servers according to the demand quota, in order to draw quota from the cluster of flow control servers. The embodiment of the invention also provides a flow control configuration system. The embodiment of the present invention improves the real-time ability of system sorting and processing flow control by monitoring the etcd configuration by the flow control server, reduces the task of the flow control server cluster, and ensures the stability of the overall system operation.
【技术实现步骤摘要】
流控配置方法及系统
本专利技术涉及流控领域,尤其涉及一种流控配置方法及系统。
技术介绍
“流控”是“流量控制”的简称。流控技术分为两种:一种是流控作为完整的功能模块加入到业务服务之中,业务服务通过调用模块接口实现流控功能;另一种是流控作为一个单独的服务,业务服务请求流控服务实现流控功能。在实现本专利技术过程中,专利技术人发现相关技术中至少存在如下问题:如果作为完整的流控功能模块,则需要在每个需要流控的业务服务中引入该模块,若需要更新或修复流控功能模块,则需要批量更新,这样较为繁琐。作为单独的流控服务,可以避免作为完整流控模块的缺点;但是,每次请求都需要向流控服务查询,这样显然影响了效率,且流控服务也面临很大压力。由于业务服务之间并不会保证使用相同的业务信息进行流控,就导致了流控的具体实现需要与业务相关,所以:若作为完整的流控模块,对于一个异构系统,无法得到复用。当需要更新修改时会很繁琐。若作为流控服务来部署,则需要业务服务收到请求时,询问流控服务当前业务服务的流量状态完成限流功能。
技术实现思路
为了至少解决现有技术中使用完整的流控模块,需要在每个需要流控的业务服务中引入该模块,使得后期维护较为繁琐,作为单独的流控服务在每次流控请求时,都需要向流控服务查询,影响了效率的问题。第一方面,本专利技术实施例提供一种流控配置方法,包括:在各个业务系统中部署流控客户端;流控客户端以及流控服务端集群同步从etcd分布式存储集群中获取流控配置信息进行初始化;监听所述etcd分布式存储集群,响应于所述etcd分布式存储集群中流控配置信息的更新,所述流控客户端以及流控服务端集群 ...
【技术保护点】
1.一种流控配置方法,包括:在各个业务系统中部署流控客户端;流控客户端以及流控服务端集群同步从etcd分布式存储集群中获取流控配置信息进行初始化;监听所述etcd分布式存储集群,响应于所述etcd分布式存储集群中流控配置信息的更新,所述流控客户端以及流控服务端集群获取更新后的流控配置;所述流控客户端响应于各个业务系统的业务请求的输入,确定所述业务请求的需求配额,所述流控客户端根据所述需求配额通过所述流控服务端集群进行流控决策,以向所述流控服务端集群拉取配额。
【技术特征摘要】
1.一种流控配置方法,包括:在各个业务系统中部署流控客户端;流控客户端以及流控服务端集群同步从etcd分布式存储集群中获取流控配置信息进行初始化;监听所述etcd分布式存储集群,响应于所述etcd分布式存储集群中流控配置信息的更新,所述流控客户端以及流控服务端集群获取更新后的流控配置;所述流控客户端响应于各个业务系统的业务请求的输入,确定所述业务请求的需求配额,所述流控客户端根据所述需求配额通过所述流控服务端集群进行流控决策,以向所述流控服务端集群拉取配额。2.根据权利要求1所述的方法,其中,所述流控客户端响应于各个业务系统业务请求数的输入,确定所述业务请求的需求配额,所述流控客户端根据所述需求配额通过所述流控服务端集群进行流控决策包括:流控客户端检查本地流控配额信息;若所述本地流控配额信息不满足需求配额时,将所述流控客户端本地负载信息以及所述需求配额发送至所述流控服务端集群,以拉取配额。3.根据权利要求2所述的方法,其中,在将所述流控客户端本地负载信息以及所述需求配额发送至所述流控服务端集群,以拉取配额之后,所述方法还包括:验证所述拉取配额是否满足所述业务请求的配额需求;当满足所述业务请求的配额需求时,给予所述业务系统响应;当不满足所述业务请求的配额需求时,拒绝所述业务系统的请求。4.根据权利要求1所述的方法,其中,所述流控客户端响应于各个业务系统业务请求的输入包括:所述业务请求通过websocket连接向所述业务系统输入,响应于所述业务请求的输入,对所述业务系统的引用次数加1,其中,所述业务系统的初始引用次数为0;当断开所述websocket连接时,对所述业务系统的引用次数减1;当所述引用次数为0时,以向所述流控服务端集群归还拉取的配额。5.一种流控配置系统,包括:客户端部署程序模块,用于在各个业务系统中部署流控客户端;初始化程序模块,用于流控客户...
【专利技术属性】
技术研发人员:王迪奇,钟克强,
申请(专利权)人:苏州思必驰信息科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。