首页 > 其他分享 >自定义开发限流组件 之 场景需求分析

自定义开发限流组件 之 场景需求分析

时间:2022-11-17 21:45:08浏览次数:72  
标签:... 自定义 维度 客户 消息 组件 限流

限流,通常讲就是限制流量,也有很多其他的说法,比如:限频、疲劳度控制等。

原文链接:自定义开发限流组件 之 场景需求分析-一只小Coder

最近遇到一个需求,系统A作为一个专门推送消息给客户的消息中心系统,对于每个客户是否能接受消息,能接受多少消息,接收消息的速度,能接受哪些消息等都要进行控制,这也就引入了需要做消息限流的需求了,而且是多维度的。

分析

对于限流的维度来讲,上面提到需求中可以提炼出有:客户维度,消息类型维度;从限流的本身来讲,有频率控制,数量控制。详细说一下:

  • 客户维度:客户的适当性,该客户是否可以接受消息(客户状态);
  • 消息类型:订单类消息和推广类消息不一致,订单类要及时一些,推广类不及时也行;
  • 消息频率:消息的频率有快有慢(动态时间窗);
  • 数量控制:固定时间段内能接收的消息数量(固定时间窗),不同客户能接受消息的数量等等。。。

通过以上分析可得每个能成为影响客户接受消息的频率因素,在将这几个维度组合起来,频率控制的组合,策略,就有很多了。
市面上的限流组件有很多,我之前用过的就是Sentinel,该框架只需要对需要做限流的接口做一些简单的配置,加几个注解(埋点),即可通过Sentinel自身的限流规则加上接口的一些参数做到限流。不过,对于非技术人员来讲就不太友好,对此,还是自己设计一个限流的组件,或者模块比较合适,后续的文章会对该需求慢慢实现。

目前大致的想法就是从不同维度分析,设计客户,消息类型,限流记录等几个表,用来记录限流的策略;通过Redis实时记录、更新发送消息的频率数据... ... ... ... ...

标签:...,自定义,维度,客户,消息,组件,限流
From: https://www.cnblogs.com/onecoder/p/16901091.html

相关文章

  • Vue组件之间的通信方式
     父→子子→父 props✖✔查看详情自定义事件 ✖✔ 方式三   ......
  • 自定义数据类型
    枚举枚举故名思义就是一一列举把可能的取值一一列举1定义enumDay//星期{//枚举的可能取值Mon,Tus,...};enumSex//星期{//枚举的可能取值——常量......
  • C语言自定义数据类型
    结构体参考视频:https://www.bilibili.com/video/BV1oi4y1g7CF?p=58大纲:结构体的声明结构体的自引用结构体内存对齐结构体传参结构体实现位段(位段的填充&可移植性)charshor......
  • 自定义的Qt IP地址编辑控件
    模仿WIndows系统的IP地址编辑框创建的控件。在VS2015和Qt5.9上测试通过。效果图如下:上代码,头文件:classQLineEdit;classMIpAddressEditor:publicQWidget{Q......
  • 【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办
    问题描述当AzureWebApp进行安全扫描后,发现依旧支持很多弱TLS加密套件(WeakTLSCiphersSuite),那么是否有办法来关闭这些弱的加密套件呢?在WindowsIIS环境中,可以通过......
  • 类组件的使用
    exportdefaultclassAppextendsComponent{//状态:constructor(){super()//父级构造函数调用this.state={title:'zhaoxi......
  • 从组件化角度聊聊设计工程化
    近几年围绕业务中台化的场景,涌现出了许多低代码平台。面对多组件、多页面、跨平台的复杂场景,如何保证整体的用户体验一致性,减少用户认知和负担,提升用户使用效率,便成为业务......
  • style标签上添加scoped后父组件影响了子组件样式
    style标签上添加scoped之后,只会作用于当前组件,组件之间样式不相互影响,父子组件之间也不影响,但子组件根元素样式会受到父组件样式影响;解决VueLoader里面有一句使用scop......
  • ReactNote-函数组件和类组件
    组件:可以编写react元素虚拟DOM:react元素真实的DOM:可以展示React里很重要的:组件组件目的:复用组件作用:代码分隔组件在React里有两种定义的方式:第一种:......
  • 直播平台源代码,自定义播放器的清晰度切换
    直播平台源代码,自定义播放器的清晰度切换 <!DOCTYPEhtml><html><head>  <metacharset="utf-8">  <metahttp-equiv="x-ua-compatible"content="IE=edge"> ......