All Projects → zjpjohn → Activemq

zjpjohn / Activemq

activeMQ消息封装,主要解决:事务性消息、消息幂等性、异常造成的消息丢失问题 本项目不在更新,新项目请看ReliableMessageSystem: 本项目不再更新,新的版本迁移至ReliableMessageSystem 详情请看:https://github.com/zjpjohn/ReliableMeageSystem

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Activemq

Jboot
一个优雅的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发...
Stars: ✭ 655 (+428.23%)
Mutual labels:  activemq
Springboot
SpringBoot 整合各类框架和应用
Stars: ✭ 54 (-56.45%)
Mutual labels:  activemq
Springboot Labs
一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024
Stars: ✭ 12,804 (+10225.81%)
Mutual labels:  activemq
Activemq
Development repository for activemq Chef Cookbook
Stars: ✭ 19 (-84.68%)
Mutual labels:  activemq
Tools
C# 工具箱,提供Socket(TCP、UDP协议)、Redis、activemq、数据库访问等技术的封装实现
Stars: ✭ 34 (-72.58%)
Mutual labels:  activemq
Activemq Cpp
Apache ActiveMQ CPP
Stars: ✭ 74 (-40.32%)
Mutual labels:  activemq
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (+210.48%)
Mutual labels:  activemq
Jmstoolbox
Free universal JMS client
Stars: ✭ 119 (-4.03%)
Mutual labels:  activemq
Spring Jms
Spring JMS Tutorials
Stars: ✭ 42 (-66.13%)
Mutual labels:  activemq
Stomp Php
Stomp PHP Client
Stars: ✭ 94 (-24.19%)
Mutual labels:  activemq
Online Bookstore
📓网上书店,SSM 架构练手项目。Shiro 做权限管理,Redis 做书籍缓存,ActiveMQ 做异步交易,Lucene 做全文搜索
Stars: ✭ 23 (-81.45%)
Mutual labels:  activemq
Activemq
高性能消息监控无服务器,使用ActiveMQ消息中间件实现,使用MQ、redis、nlog 等技术实现
Stars: ✭ 13 (-89.52%)
Mutual labels:  activemq
Delphistompclient
STOMP client for Embarcadero Delphi and FreePascal.
Stars: ✭ 93 (-25%)
Mutual labels:  activemq
Activemq Artemis
Mirror of Apache ActiveMQ Artemis
Stars: ✭ 685 (+452.42%)
Mutual labels:  activemq
Myth
Reliable messages resolve distributed transactions
Stars: ✭ 1,470 (+1085.48%)
Mutual labels:  activemq
Voj
A cross-platform online judge system based on Spring MVC framework and ActiveMQ.
Stars: ✭ 385 (+210.48%)
Mutual labels:  activemq
Goods Seckill
高性能电商秒杀解决方案,redis预减库存,消息队列异步下单,订单防重,订单防刷,秒杀接口地址隐藏,数学公式验证码
Stars: ✭ 61 (-50.81%)
Mutual labels:  activemq
Dubbo2.5 Spring4 Mybastis3.2 Springmvc4 Mongodb Redis
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合
Stars: ✭ 123 (-0.81%)
Mutual labels:  activemq
A
ActiveMQ CLI testing and message management
Stars: ✭ 116 (-6.45%)
Mutual labels:  activemq
Reliablemeagesystem
封装activeMQ,支持数据库事务,使用Spring4注解方式,解决分布式事务问题本项目是对项目ActiveMQ项目优化
Stars: ✭ 93 (-25%)
Mutual labels:  activemq

在使用消息队列时,主要解耦系统。 在使用消息队列时,又必须考虑消息发送与消费和使用系统的db事务保持一致。 在使用消息队列时,对消息丢失如何进行处理 在使用消息队列时,对重复消息如何进行处理

  1.事务问题
    在生产者端,发送消息->db操作和db操作->发送消息 是不同的情况
    发送消息->db操作:消息发送成功而db操作失败,将会导致两个系统之间的数据严重不一致
    db操作->发送消息:消息发送出现异常,通过事务可以将db操作进行回滚,这种情况不会系统的数据不一致造成影响
  2.消息丢失问题
    对于比较重要的消息,消费者系统不允许消息丢失,如何保证每条消息100%到达
  3.重复消息问题
    为了保证消息的幂等性:f(x)=a,f(f(x))=a,f(...(f(x)))=a
    同一条消息重复消费多次与消费一次的效果一样
  4.对于涉及到状态类型的消息
    例如:订单状态的消息:第一条消息订单状态-订单已出库,第二条消息的订单状态-订单已送达
    在极端情况下 第二条消息先于第一条消息被消息这消息,此时消费者系统的订单状态爱已经更改为订单已经出库
    当第一条到达消费者时,消费者是否还需要消费,更改订单状态?

  如何解决这些问题,尤其是使用一些开源的消息队列如:activeMQ,rabbitMQ等等
  本项目是基于activeMQ消息队列来解决上述问题
  需要在生产者系统的数据库中增加qmessage表,在消费者系统的数据库中增加n1_record和n2_record表
  生产者端:先将消息存放于qmessage表中(确定消息时间戳),在消息消费成功时,再进行删除
  同时增加定时job去扫描未被消费的消息,发送至activeMQ broker中
  对使用者而言,生产者起始就是db操作,这样可以和业务的db操作保证在同一个事务中
  消费者端:扫描消费记录表,确认消息是否重复消费,重复消费丢弃,不重复消息添加消息记录
          对于状态流转的消息,需要业务标识和时间戳来判断消息当前消息是否是最新的


   本项目不再更新,新的版本迁移至ReliableMessageSystem
  详情请看:https://github.com/zjpjohn/ReliableMeageSystem
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].