消息通知系统 kkbida

Apache
Java
跨平台
2019-03-14
凯京技术团队

kkbida(必达) 消息通知

使用场景

解决异构系统间消息通知时保证消息必达,常见于系统回调,消息异步通知等场景,提供了失败重试,错误通知,最终手动补偿,web端管理等功能。

系统架构

项目采用spring boot构建,使用spring session redis分布式session,支持分布式多机部署。通过阻塞队列来抗并发,通过延迟队列来处理失败的消息,并辅以控制台手动处理消息来保证消息最终送达。在使用方面,考虑到最小化改造和易用性,提供dubbo和http的sdk客户端。当消息重试最大次数失败后,可设置webhook通知到钉钉等通讯平台上及时处理。

架构拓扑

Image text

SDK使用方法

maven引入sdk

        <dependency>
            <groupId>cn.keking.callcenter</groupId>
            <artifactId>kk-callcenter-sdk</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

获取CallBackService对象

dubbo方式

    @Reference(version = "1.0")
    private CallBackService callBackService;
    

http方式

推荐获取方式如下(也可以直接new) ps:如果通过http客户端sdk调用,需要先申请配置白名单

    @Value("${callBack.BaseUrl}")
    private String callBackBaseUrl; //回调中心http调用url
    @Value("${callBack.UserName}") 
    private String callBackUserName; //回调中心帐号
    @Value("${callBack.PassWord}")
    private String callBackPassWord; //回调中心密码
    
    @Bean
    public CallBackService callBackService(){
        CallBackServiceHttpImpl callBackServiceHttp = new CallBackServiceHttpImpl(callBackBaseUrl,callBackUserName,callBackPassWord);
        return callBackServiceHttp;
    }
    
    @Autowired
    private CallBackService callBackService;
的码云指数为
超过 的项目
加载中

评论(5)

陈精华
陈精华

引用来自“chuanshi88”的评论

这个图是用啥画的。。。
visio
chuanshi88
chuanshi88
这个图是用啥画的。。。
陈精华
陈精华

引用来自“tkggusraqk”的评论

既然都用队列了,还阻塞,用来抗高并发,不如去掉阻塞
阻塞队列是指队列为空时取数据阻塞和队列满的时候添加数据阻塞,redis默认队列长度为4294967295,只要redis实例内存容量够,添加数据就不会阻塞,和抗迸发不冲突
王念博客
王念博客
开源必点赞
tkggusraqk
tkggusraqk
既然都用队列了,还阻塞,用来抗高并发,不如去掉阻塞

暂无资讯

暂无问答

kkbida - 开源消息投递中间件详细解析

kkbida - 开源消息投递中间件详细解析 项目简介 kkbida为凯京科技开源的消息投递中间件,谐音必达,旨在保证异构系统间消息通知时消息投递必达,详情见 https://gitee.com/kekingcn/kkbida ...

03/15 13:46
96
5

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部
0088足球分析预测版权所有,转载请说明出处