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

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

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

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. 从微信小程序到鸿蒙js开发【04】——list组件

    目录: 1.可滚动区域 2.list + list-item 3.list + list-item-group + list-item 1.可滚动区域 在许多场景中,页面会有一块区域是可滚动的,比如这 ...

  2. Python爬虫笔记一(来自MOOC) Requests库入门

    Python爬虫笔记一(来自MOOC) 提示:本文是我在中国大学MOOC里面自学以及敲的一部分代码,纯一个记录文,如果刚好有人也是看的这个课,方便搬运在自己电脑上运行. 课程为:北京理工大学-嵩天-P ...

  3. A - A Supermarket (贪心, 并查集)

    超市里有n个产品要卖,每个产品都有一个截至时间dx(从开始卖时算起),只有在这个截至时间之前才能卖出并且获得率润dy. 有多个产品,所有可以有不同的卖出顺序,每卖一个产品要占用1个单位的时间,问最多能 ...

  4. Windows10 ping通 虚拟机上的Linux-CentOS7操作系统

    我是按照Oracle VM VirtualBox 安装CentOS7操作系统这个博客安装Linux操作系统的. 我们这里只关心网卡的配置,网卡一: 网卡二: 我按照上面那个博客安装Linux操作系统之 ...

  5. 一文弄懂使用Jmeter来进行性能测试

    该文章是基于上一次文章的 软件测试漫谈(web测试,自动化测试,Jmeter) 的续篇, 主要是详细讲解 Jmeter 的入门教程. 因为上次的文章只是简单地讲解了 Jmeter 的使用和一些概念,所 ...

  6. 分布式一致性算法 2PC 3PC Paxos

    分布式一致性算法的目的是为了解决分布式系统 一致性算法可以通过共享内存(需要锁)或者消息传递实现,本文讨论后者实现的一致性算法,不仅仅是分布式系统中,凡是多个过程需要达成某种一致的场合都可以使用. 本 ...

  7. DSC注册Agent失败- InternalServerError

    问题 有大概5台Agent Server,注册的时候,发现2台可以成功,其他的不成功. 注册失败的错误日志如下: 初步尝试 首先,Pull Server已经平稳的运行了几年了,此次注册还有部分Agen ...

  8. win10 远程桌面 ubuntu

    一.获取本机ip 通过ip查询网址来查询本机外网地址 二.下载远程链接软件 下载向日葵,注册账号 三.远程链接 将连接端与被连接端分别绑定账号,输入相应ip地址,即可连接.

  9. Python 是什么语言

    Python 是 解释型语言,强类型定义语言,动态类型定义语言 编译型语言 & 解释型语言 编译型语言:代码在执行前,需要编译(成机器语言文件,如 .exe 文件):以后再运行时,直接使用编译 ...

  10. ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...