消息队列怎么同步消息 分布式三大消息作用?
分布式三大消息作用?
分布式消息服务(Distributed Message Service)是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。使云应用程序的组件去耦合,具有很高的成本效益。
产品优势
高级队列
提供高级队列,即开即用,安全可靠,支持高吞吐、高可靠两种应用场景。
普通队列
DMS支持普通队列和有序队列,提供高并发、低延时、稳定安全的消息中间件服务。
功能丰富
提供广播消息、延时消息、消息重投、消息查询、消息回溯、死信消息等,可根据业务需要定制队列处理能力。
应用场景
分布式消息服务可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。
分布式消息服务可以应用但不局限于以下业务场景:
业务解耦
将业务中依赖其他系统同时属于非核心或不重要的部分使用消息通知即可,无需同步等待其他系统的处理结果。
如电商网站在促销期间抢购订单,抢到的商品订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。
最终一致性
在交易或支付系统中,不同的子系统/模块的状态需要最终保持一致,或都成功或都失败。子系统/模块之间传递的数据不能丢失,需要有可靠消息传递,能保证业务的连续性。DMS可以用于子系统/模块间的高可靠数据传递,实现两者之间的事务最终一致,降低实现难度和成本。
例如用户使用储蓄余额购买理财产品。由于理财系统一般对理财申购交易采用日终统一处理,允许用户的储蓄余额与理财系统资金余额存在一定时间段的不一致,或者说中间状态,因此,可以对理财产品的购买支付流程使用DMS服务的消息处理机制,保证储蓄余额与理财余额的最终一致,同时避免系统间对账不平。
错峰流控
在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息队列提供亿级消息堆积能力,3天的保留时长,消息消费系统可以错峰进行消息处理。
日志同步
应用通过可靠异步将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集进行应用监控。
使用DMS实现日志同步一般按以下流程:
日志采集客户端,负责用户应用服务的日志数据采集,以发送消息写入DMS消息队列。
DMS消息队列,负责日志数据的接收、存储和转发管理。
日志处理应用,订阅并消费DMS消息队列中的日志数据。
java进程间通讯的有几种方法?
JAVA进程间通信的方法主要有以下几种: (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 (3)信号(Signal):信号是比较复杂的通信,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送 信号给进程本身。 (4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。 (5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。 (6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。 (7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。 (8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。