大数据量下的高并发分布式访问控制(ACL)优化方案(一)-创新互联

  1. 目前的设计方案

    创新互联主要企业基础官网建设,电商平台建设,移动手机平台,重庆小程序开发等一系列专为中小企业按需搭建网站产品体系;应对中小企业在互联网运营的各种问题,为中小企业在互联网的运营中保驾护航。

    1.1.控制计数:

    在目前的项目中,有很多接口需要对访问方进行权限访问控制。目前设计方案是:利用redis集群来存储每个访问控制点的访问计数信息。Key值为=PlatformId(接入平台方)+InterfaceId(系统接口)+dayTime(日期时间),value值为当天每个时段的访问次数统计列表。

    1.2.控制规则:

    通过页面配置并制定控制规则、业务系统在启动时加载控制规则,并访问redis获取控制次数,然后在业务系统中做逻辑判断完成,ACL控制做请求拦截处理。

  2. 目前的痛点:

    2.1.在大数据量高并发时,由于业务系统是集的并且是并发处理,会出现瞬间redis单点的qps峰值达到13w/s。出现这种情况的原因是Platform+InterfaceId+Day作为key的设计,会造成一个接入方的请QPS过大时直接映射到后端的redis的单点请求上,没有利用到redis的集群效应。

    2.2.当前的访问控制功能和业务代码紧密耦合在一起,无法做到单独对访问控制功能进行水平扩展,造成管理与优化不便。

  3. 结构图:

    大数据量下的高并发分布式访问控制(ACL)优化方案(一)

  4. 初步解决思路:

    4.1. 减少redis的访问量、并将redis的key值做细分使其能均匀分布到所在redis集群上.

    4.2. 对ACL访问控制功能进行服务化处理,做成无状态支持水平扩展。

    4.3. 引入异步处理逻辑、将ACL服务与业务方分离。后续ACL服务的变动对业务系统无感知。

    4.4.实现预先计算功能,在做redis汇总统计时现在ACL系统中做分组预计算,减少更新redis的频率。

    4.5.延迟检测控制,ACL访问控制目的主要是对一些过量请求进行拦截处理,非一定要保证实时性和一致性。通过延迟统计策略实现高吞吐量的处理能力。

    4.6.通知拦截机制,业务方不需要做任何拦截控制统计和分析,只需要接受ACL系统通知并执行通知动作即可。

  5. 具体实施细则:

    5.1. 所有配置信息统一由配置中心管理,ACL和Service(服务系统)都到zk上注册和订阅服务。

    5.2. Service方发送统计消息到MQ上,ACL去订阅该TOPIC来消费

    5.3. ACL在自身内存中做初步预处理计算,并定时刷新到redis集群做聚合运算。

    5.4. 启动定时服务扫描所有控制规则,检测到需要拦截的规则后,创建广播消息,发送到MQ上。

    5.5. Service方订阅广播消息,发现消息后,解析并在内存中对满足规则的访问进行拦截控制。

    5.6. 配置中心信息变更时,通过广播推送给所有订阅方,订阅方获取消息后到服务提供方来拉取信息并更新自身内存信息。

  6. 结构图如下:

    大数据量下的高并发分布式访问控制(ACL)优化方案(一)

  7. 目前该项目的重构方案正在实施,后续实施效果待更新第二版。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网页标题:大数据量下的高并发分布式访问控制(ACL)优化方案(一)-创新互联
网站链接:https://www.cdcxhl.com/article24/ehdje.html

成都网站建设公司_创新互联,为您提供搜索引擎优化全网营销推广品牌网站制作外贸网站建设营销型网站建设企业网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设