kkbida - 消息通知系统


Apache
跨平台
Java

软件简介

kkbida(必达) 消息通知

使用场景

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

系统架构

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

架构拓扑

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;