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

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

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

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. BT宝塔FTP连接不上用不了的解决办法,BT宝塔FTP轻松几步设置即可连接成功

    BT宝塔这款linux服务器管理面板,相信现在很多站长都有使用,操作简便,傻瓜化,而且功能全面,什么301设置,SSL证书申请,网站源码一键安装等等,反正就是一句话,BT宝塔非常的好用,但是偶尔也会遇 ...

  2. CentOS 7 部署redis

    1.下载redis: 地址:http://download.redis.io/releases/: 选择需要下载的版本,然后通过ssh工具导入到centos中,这里放到了/usr/local; 解压文 ...

  3. Pytest(6)重复运行用例pytest-repeat

    前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来. 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例, ...

  4. 源码剖析ThreadPoolExecutor线程池及阻塞队列

    本文章对ThreadPoolExecutor线程池的底层源码进行分析,线程池如何起到了线程复用.又是如何进行维护我们的线程任务的呢?我们直接进入正题: 首先我们看一下ThreadPoolExecuto ...

  5. Gym - 102062A、B、C、D、E、F、G、H

    比赛链接:https://vjudge.net/contest/409725#problem 题面点此处进入 Gym - 102062A 题意: 就是说比赛一共发a+b+c+d个牌子,现在不带上主人公 ...

  6. hdu 6832 A Very Easy Graph Problem 构造树+dfs

    题意: 给你一个n个点m条边的图,对于第i条边,它的长度是2i,对于每一个顶点,它不是0类型,就是1类型.你需要找出来对于所有的"两个不同类型的点之间最短距离"的和 题解(参考:h ...

  7. 放苹果 POJ - 1664 递推

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t < ...

  8. 数据库之postgreSQL入门操作指南

    一.增 二.删 三.改 四.查 五.SQL操作表 1.增加列 ALTER TABLE table_name ADD column_name datatype; 2.删除一列 ALTER TABLE t ...

  9. 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)

    ******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...

  10. codeforces 876B

    B. Divisiblity of Differences time limit per test 1 second memory limit per test 512 megabytes input ...