消息插件搭配消息集成SDK使用,旨在对SDK基础功能进行扩展,为应用提供多种通用/个性化能力。

提供以下插件:

消息限流(kems-plug-mns-limit)

功能介绍

该插件支持对消息发送频率进行配置,当超出限流配置后,将会拒绝发送。

插件提供以下两种限流类型:

  1. sign:以接收对象标识为主体,设定周期内短信数量阈值。
  2. time:以时间为主体,设定周期内短信数量阈值。

该插件同时支持对短信微信邮件三类通道进行限流配置。

插件使用Redis作为存储层介质,故应用需具备Redis连接能力。

引用说明

maven配置

该示例集成了短信、微信和邮件,业务可按需引用、配置。

<dependency>
    <groupId>com.kingengine.kems.plug</groupId>
    <artifactId>kems-plug-mns-limit</artifactId>
</dependency>

<dependency>
    <groupId>com.kingengine.kems.sdk</groupId>
    <artifactId>kems-sdk-mns-sms</artifactId>
</dependency>

<dependency>
    <groupId>com.kingengine.kems.sdk</groupId>
    <artifactId>kems-sdk-mns-mail</artifactId>
</dependency>

<dependency>
    <groupId>com.kingengine.kems.sdk</groupId>
    <artifactId>kems-sdk-mns-wechat</artifactId>
</dependency>

yml配置

spring:
  redis:
    #Redis配置,参见#第五章功能组件/SDK类/Redis扩展封装
    ......
mns:
  sms:
    #短信集成配置,参见#第五章功能组件/SDK类/消息集成
    ......
    plug:
      limit:
        #一个手机号180秒内只能发送一条短信
        object: sign
        period: 180
        count: 1

  mail:
    #邮件集成配置,参见#第五章功能组件/SDK类/消息集成
    ......
    plug:
      limit:
        #60秒内一共只能发送100条邮件
        object: time
        period: 60
        count: 100

  wechat:
    #微信集成配置,参见#第五章功能组件/SDK类/消息集成
    ......
    plug:
      limit:
        #一个openID在180秒内只能发送1条消息
        object: sign
        period: 180
        count: 1

配置说明参阅kems-plug-mns-limit/src/main/resources/META-INF/spring-configuration-metadata.json

扩展一个新插件?

1、引入消息集成定义模块。

<dependency>
    <groupId>com.kingengine.kems.sdk</groupId>
    <artifactId>kems-sdk-mns-def</artifactId>
</dependency>

2、实现接口

  • 短信插件,实现com.kingengine.kems.sdk.mns.def.service.ISmsPlugService
  • 邮件插件,实现com.kingengine.kems.sdk.mns.def.service.IMailPlugService
  • 微信插件,实现com.kingengine.kems.sdk.mns.def.service.IWeChatPlugService
Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-09-01 14:01:38

results matching ""

    No results matching ""