现在互联网的系统越来越趋向于复杂,从单体系统到现在的微服务体系演变。公司与公司的分工也越来越明确。

大数据公司提供了大数据服务

人脸识别公司提供了人脸识别服务

OCR 公司提供了专业的OCR 服务

车三百  公司提供了 车辆 评估服务

e签宝/安心签 公司提供了 线上电子签约服务。

公司在做业务系统迭代的时候,我们是离不开与上述专业公司的对接,合作。那么第三方公司提供的对接方式,一般都是 RESTFUL 风格的API.因为简单,通用性强。我们在对接第三方服务的时候,有个最头大的问题: 就是对方通常会叫我们提供一个回调地址,第三方公司通常把自己的服务的处理结果通过我们之前提供的回调地址,把结果,告知我方,如下图所示:

这就产生了一个重要的问题:第三方异步通知过来了,我方的业务接口挂了/我方的服务停了/或者我方接收到了但是消费失败了 怎么办?  问题返过来说: 这部分的容错机制、高可用机制、消费失败预警机制,消费失败补偿机制 怎么处理。

那么 异步 Bitter.NotifyOpenpaltform  异步消息接收调度中心 就是为解决上述问题而生。

如下图:

在上图中,第三方公司的HTTP 回调先回调到我们 异步消息接收中心系统中,由我们异步消息接收系统 在通知业务层服务接口消费。

在上图中 我们发现: 异步消息接收调度中心是不处理逻辑层业务,它负责的就是接收异步消息,然后转给业务层服务接口消费。如果业务层消费失败,那么容错,预警,补偿,全都在异步消息接收调度中心统一可查(失败预警),并通过自动人工 重新发起补偿重试。

当然,这时候,异步消息接收中心就变得更加重要了,从上图可以看出,如果,异步消息接收中心宕了,那么问题是灾难性的。因此异步消息接收中心在部署方式一定是集群高可用性质的方式。当然 Bitter.NotifyOpenpaltform 是支持集群高可用部署。

Bitter.NotifyOpenpaltform:

异步消息通知平台,旨在解决多服务、异构系统,内外部系统之间的异步消息通知一致性消费问题,NotifyPaltform 采用的是消息事务一致性方案中的最大努力通知方案来设计.

NotifyPaltform 解决的问题:

1: 规范异步消息通知

2: 规范问题查找

3: 规异步消息补偿机制

4: 及时发现通知失败的原因以及报警机制

5:结构化查询问题界面以及统一补偿机制界面

一直努力-不思进取 !

望大家主动接入,只要今后涉及到异步消息通知的.努力接入 !

Bitter.NotifyOpenPaltform : HTTP 异步消息接收调度中心—开源贡献 之 一:简介的更多相关文章

  1. Bitter.NotifyOpenPaltform : HTTP 异步消息接收调度中心--开源贡献 之 一:简介

    现在互联网的系统越来越趋向于复杂,从单体系统到现在的微服务体系演变.公司与公司的分工也越来越明确. 大数据公司提供了大数据服务 人脸识别公司提供了人脸识别服务 OCR 公司提供了专业的OCR 服务 车 ...

  2. spring boot / cloud (十五) 分布式调度中心进阶

    spring boot / cloud (十五) 分布式调度中心进阶 在<spring boot / cloud (十) 使用quartz搭建调度中心>这篇文章中介绍了如何在spring ...

  3. #研发中间件介绍#异步消息可靠推送Notify

    郑昀 基于朱传志的设计文档 最后更新于2014/11/11 关键词:异步消息.订阅者集群.可伸缩.Push模式.Pull模式 本文档适用人员:研发   电商系统为什么需要 NotifyServer? ...

  4. Java异步消息平台

    l  JAVA平台异步消息模块 JAVA平台异步消息模块,是一个针对RabbitMQ的消息发送及处理封装,包含消息的配置.发送.接收.失败重试.日志记录等,总共分为4个部分: 1)RabbitMQ访问 ...

  5. 一个异步任务接收两个url下载两个图片

    有两个url,一个是下载用户头像的url,一个是下载用户上传图片的url,想要用一个异步任务同时下载这两个图片. 程序的下载任务是这么执行的,先接受url参数,然后调用 imgUrls = infoP ...

  6. 三.RabbitMQ之异步消息队列(Work Queue)

    上一篇文章简要介绍了RabbitMQ的基本知识点,并且写了一个简单的发送和接收消息的demo.这一篇文章继续介绍关于Work Queue(工作队列)方面的知识点,用于实现多个工作进程的分发式任务. 一 ...

  7. 八.利用springAMQP实现异步消息队列的日志管理

    经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...

  8. java模拟异步消息的发送与回调

      http://kt8668.iteye.com/blog/205739 本文的目的并不是介绍使用的什么技术,而是重点阐述其实现原理. 一. 异步和同步 讲通俗点,异步就是不需要等当前执行的动作完成 ...

  9. rocketmq源码分析2-broker的消息接收

    broker消息接收,假设接收的是一个普通消息(即没有事务),此处分析也只分析master上动作逻辑,不涉及ha. 1. 如何找到消息接收处理入口 可以通过broker的监听端口10911顺藤摸瓜式的 ...

随机推荐

  1. WPF权限控制——【2】模块、菜单、按钮

    周末没有工作,没有写博客,因为觉得休息很必要:曾听到一句话是这样说的:"你们得救在乎归回安息:你们得力在乎平静安稳".当我想到太阳没秒钟要燃烧420万吨的燃料时,想到的就是造物主的 ...

  2. Web开发模型

    1.服务器 web服务器:pc机器安装一个具有web服务的软件,称之位web服务器 数据库服务器:pc机器安装一个具有数据管理件服务的软件,称之为web服务器 邮件服务器:pc机器安装一个具有发送邮件 ...

  3. Java 窗口 绘制图形 #1

    写在前面: editplus换成eclipse了 Sketchpad要钱,买不起 自己搞(rua) by emeralddarkness 建立了一个平面直角坐标系 两个变元x,y,参数i 实现了以下功 ...

  4. codeforces578C. Weakness and Poorness

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  5. Power Strings POJ - 2406 后缀数组

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...

  6. VSCode配置Python开发环境

    https://blog.csdn.net/vinkim/article/details/81546333 https://zhuanlan.zhihu.com/p/31417084

  7. Docker架构分解

    Docker总架构分解Docker对使用者来讲是一个C/S模式的架构,而Docker的后端是一个非常松耦合的架构,模块各司其职,并有机组合,支撑Docker的运行. 用户是使用Docker Clien ...

  8. 部署开源IP管理工具phpIPAM

    一.安装环境程序: yum install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear p ...

  9. MongoDB 副本集搭建 & 副本集扩容

    副本集的搭建 创建多实例目录 [root@redis03 ~]# mkdir /server/mongodb/2801{7,8,9}/{conf,logs,pid,data} -p 编辑多实例配置文件 ...

  10. Google coding Style Guide : Google 编码风格/代码风格 手册/指南

    1 1 1 https://github.com/google/styleguide Google 编码风格/代码风格 手册/指南 Style guides for Google-originated ...