去哪儿网消息中间件技术演进分享

需积分: 10 2 下载量 140 浏览量 更新于2024-07-18 收藏 628KB PDF 举报
"余昭辉-去哪儿网消息中间件演进" 这篇内容主要讲述了去哪儿网在消息中间件方面的演进历程和技术实践。消息中间件在Java技术栈中扮演着重要的角色,它负责处理大规模分布式系统中的异步通信、数据同步以及事务处理。以下是基于提供的片段分析的关键知识点: 1. **消息中间件的规模与性能**: - 1W+ topic:表明系统中有超过一万个主题(topics),这展示了系统复杂性和消息分类的多样性。 - 35W+ QPS:系统能够处理每秒35万以上的请求,显示了高吞吐量的处理能力。 - 280+B+ྯॠ:可能表示处理的数据量或者存储容量,强调了系统的存储和处理大量数据的能力。 2. **架构组件**: - producer1, Broker1, Server, consumer1, consumergroup1, consumergroup2:这是典型的分布式消息中间件架构,其中producer是生产者,负责发送消息;Broker是消息服务器,接收和转发消息;Server可能是服务端应用;consumer是消费者,订阅并消费消息;consumergroup用于并发消费和负载均衡。 3. **事务处理**: - LocalTransaction:局部事务,通常用于单个服务内部的事务一致性。 - @Transactional:注解表示方法级别的事务管理,确保相关操作在同一个事务中执行,实现ACID(原子性、一致性、隔离性和持久性)特性。 4. **数据库操作**: - database, orders, payments, products, loginbookingpay等:代表不同的数据库表,涉及订单、支付、产品等多种业务场景的数据存储。 - payService.pay() 和 orderService.updateStatus():展示了业务逻辑中的支付和订单状态更新操作,这些操作往往需要在事务中进行以保证数据的一致性。 5. **微服务架构**: - OC, Booking, UserCenter, Pay等:这些可能是不同的微服务,它们独立运行,通过消息中间件进行通信和协作。 - orderdb, bookingdb, userdb, paydb:每个服务对应的数据库,体现了服务的数据库隔离原则。 6. **补偿事务(TCC)**: - ړ૲ୗԪۓҘ:这可能是TCC(Try-Confirm-Cancel)模式的提及,一种用于分布式事务的补偿机制,保证最终一致性。 7. **BASE理论**: - BASE理论(Basically Available, Soft State, Eventually Consistent):在大型分布式系统中,为保证高可用性,系统可能牺牲强一致性,接受最终一致性。 8. **作业处理**: - AJob, Step1, Step2, Step3:可能表示一个工作流或任务拆分成的步骤,比如批量支付检查和确认。 总结来说,这篇内容涉及了去哪儿网如何设计和优化其消息中间件系统以支持高并发、大规模业务处理,并保证数据一致性,同时提到了微服务架构、分布式事务策略以及补偿事务模型在实际业务场景中的应用。