kkbida消息通知系统
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;评论
