简介 去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ 自 2012 年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息 qps 在 60W 左右,生产上承载将近 4W+ 消息 topic ,消息的端到端延迟可以控制在 10ms 以内。 主要提供以下特性: 异步实时消息 延迟/定时消息 基于Tag的服务端过滤 Consumer端幂等处理支持 Consumer端filter 死信消息 结合Spring annot
去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ 自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息 qps 在 60W 左右,生产上承载将近 4W+ 消息 topic ,消息的端到端延迟可以控制在 10ms 以内。
QMQ(Qunar Message Queue)诞生于去哪儿网,初版基于MySQL存储。随着集团业务系统越发倚重消息解耦上下游,业务量的上涨随之带来消息量的增长,MySQL作为存储的瓶颈也越发明显。
background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')
延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费。
https://github.com/macrozheng/mall Star 3249
—1— 前言 延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费。 延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基础服务。 本文旨在探讨常见延时消息的实现方案以及方案设计的优缺点。 —2— 实现方案 1. 基于外部存储实现的方案 这里讨论的外部存储指的是在 MQ 本身自带的存储以外又引入的其他的存储系统。 基于外部存储的方案本质上都是
又到了公布 GitHub 上热门项目的时候啦~在 12 月的排行中,现在,一起来看看这些项目你使用过哪些呢?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费。 延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
Weiyi,携程资深数据开发,关注大数据相关技术,对大数据实时计算、流批一体等方面有浓厚兴趣;
分布式事务一直是一个老生常谈的一个话题,在我的公众号下面下面已经写过很多篇分布式事务相关的文章了,但是依旧没有将其完全剖析。在之前的文章中我也多次提到我们可以使用消息队列来实现我们的分布式事务,但是大多都是一笔带过,很多读者都对这一块产生了很多疑问,希望读完这篇文章能让你理解如何用消息队列实现分布式事务。
上篇给大家介绍了去哪儿支付系统架构演进的服务化拆分(点击阅读原文可查看上篇内容),接下来介绍一下在服务化拆分过程中遇到的一些问题与挑战,拆分过程中的DB处理、异步化,监控&报警等内容。
在国际业务上,由于面临的市场多,产品和业务复杂多样,投放渠道多,引流费用高,因此需要对业务和产品做出更精细化的管理和优化,满足市场投放和运营需要,降低整体成本,提高运营效率与转化率。为此,携程专门研发了国际业务动态实时标签化处理平台(以下简称 CDP )。
对于组件的全局的初始化,可以使用前面所说的ImportBeanDefinitionRegistrar这个方法来指定初始化方法,以开源的队列QMQ的源码为例:
携程金融从成立至今,整体架构经历了从0到1再到10的变化,其中有多个场景使用了缓存来提升服务质量。从系统层面看,使用缓存的目的无外乎缓解DB压力(主要是读压力),提升服务响应速度。引入缓存,就不可避免地引入了缓存与业务DB数据的一致性问题,而不同的业务场景,对数据一致性的要求也不同。本文将从以下两个场景介绍我们的一些缓存实践方案:
Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相关的类,使得 Java 程序员可以抛弃基于 Stream ,从而使用基于 Block 的方式读写文件,另外,JDK 还引入了 IO 性能优化之王—— 零拷贝 sendFile 和 mmap。但他们的性能究竟怎么样? 和 RandomAccessFile 比起来,快多少? 什么情况下快?到底是 FileChannel 快还是 MappedByteBuffer 快……
作者简介 本文作者magiccao、littleorca,来自携程消息队列团队。目前主要从事消息中间件的开发与弹性架构演进工作,同时对网络/性能优化、应用监控与云原生等领域保持关注。 一、背景 QMQ延迟消息是以服务形式独立存在的一套不局限于消息厂商实现的解决方案,其架构如下图所示。 QMQ延迟消息服务架构 延迟消息从生产者投递至延迟服务后,堆积在服务器本地磁盘中。当延迟消息调度时间过期后,延迟服务转发至实时Broker供消费方消费。延迟服务采用主从架构,其中,Zone表示一个可用区(一般可以理解成一个
我们以一个转帐的场景为例来说明这个问题,Bob向Smith转账100块。这个列子在瓜子也有很多实际场景映射,如:车源状态变化,订单状态变化,金融放款,物流运输……
主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。
相遇的日子总是那么难忘,当它以全新的姿态出现时,都会让人眼前一亮!特别是强大的功能和可编辑性,而且Adobe2022专门为m1 Pro Max芯片进行优化和适配,使得其不再需要转译器转译时,大大增加了硬件资源的利用率!从而加快了创作速度。今天,小编将为有需要的网友收集屏蔽验证,支持长期使用的Adobe2022全家桶软件。同时下载地址选用支持全速下载的阿里云盘。
上篇文章介绍了RocketMQ整体架构和原理有兴趣的可以阅读一下,在这篇文章中的延时消息部分,我写道开源版的RocketMQ只提供了18个层级的消息队列延时,这个功能在开源版中显得特别鸡肋,但是在阿里云中的RocketMQ却提供了支持40天之内任意秒级延时队列,果然有些功能你只能充钱才能拥有。当然你或许想换一个开源的消息队列,在开源社区中消息队列延时消息很多都没有被支持比如:RabbitMQ,Kafka等,都只能通过一些特殊方法才能完成延时的功能。为什么这么多都没有实现这个功能呢?是因为技术难度比较复杂吗?接下来我们分析一下如何才能实现一个延时消息。
随着公司业务的增长,单体应用架构很难满足业务快速迭代以及性能方面的需求,都会进行服务化改造,按照业务等要素将原来庞大的单体应用拆分成不同的服务。那么在进行服务化改造之前首先就是面临是服务化基础设施的技术选型,其中最重要的就是服务之间的通信中间件。服务之间的通信可以分为同步方式和异步方式。同步的方式的代表就是 RPC,异步方式一般会选用mq。
Dynamo风格数据库来源于亚马逊的Dynamo: Amazon’s Highly Available Key-value Store 论文,在该论文中论述了一种无主复制的数据库,受此启发,携程酒店开发了多存储介质预定库Hare和高可用性高性能的动态信息存储服务InfoKeeper。本文将介绍Dynamo风格的无主复制数据库,及其在携程酒店的实践。
对于磁盘的读写分为两种模式,顺序IO和随机IO。 随机IO存在一个寻址的过程,所以效率比较低。而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高。
声明: author: 龚细军 时间: 17-08-01 类型: 笔记 转载时请注明出处及相应链接。 链接地址: http://www.cnblogs.com/gongxijun/p/5726024.html 本笔记所记录全部基于真实操作所得,所使用hadoop版本为hadoop-2.7.2,使用操作系统为kylin-linux. 默认是:已经安装好了jdk环境.并已经下载好hadoop&解压之后 1. 下载完成hadoo并解压之后 进入到安装目录
Wenjun,携程资深软件工程师,负责大住宿数据智能平台的研发与维护,对于大数据领域技术有浓厚兴趣。
前言 k8s对ceph rbd模式不支持ReadWriteMany(RWX),为了满足k8s的灵活性需求,采用支持多点挂载的cephfs工作模式
祁劢,携程国际业务部内容研发团队Leader,目前主要负责信息类项目产品设计、技术架构与团队管理。CG爱好者,喜欢细致描绘世间百态的通俗小说,喜欢探索,乐于体验各地风土人情。
大概介绍一下个人情况,女,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年后上班的第一天就开始投,开始只是投了一些官网已久的岗位,并没有收到面试邀请,得到的都是不匹配的反馈,一度怀疑是不是简历写的不好,后来大批量投递简历,确实是接到了几个面试邀请
出了新的语言,新的框架,自己要跟不上了?如果你的焦虑感来自语言和框架的时候,就要看你所处的工作方向,如果是做开发,特别是前端开发,App 开发,必须跟着框架走。只有极少数公司会从头自研框架,一个完整的项目绝对依赖无数其它的框架,如果完全脱离其它框架不停重复造轮子,肯定得编到吐血。
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
Elasticsearch是最近几年非常热门的分布式搜索和数据分析引擎,携程内部不仅使用ES实现了大规模的日志平台,也广泛使用ES实现了各个业务场景的搜索、推荐等功能。
Eric,携程资深开发工程师,关注应用安全、渗透测试方面的技术和相关开源产品的二次开发。
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。
努力与运动兼备~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!
本文主要记录作为非web开发人员(本人),如何实现迅速部署自己的第一个SPA应用至星际文件系统 IPFS 作为入门web3.0 的第一个练习,拿我自身来说,前后端知识基本为0,我的基本流程如下:
一、应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度。不出问题还好,出了问题,就很难找出源头。 这里介绍下,如何利用编译bash 使不同的客户端在使用root 登陆服务器使,记录各自的操作,并且可以在结合ELK 日志分析系统,来收集登陆操作日志 二、环境 服务器:centos 6.5、Development tools、使用密钥认证,SElinux 关闭。 客户端:生成密钥对,用于登录服务器 (2台) 三、搭建部署 服务器操作 : 192.16
延迟消息是实际开发中一个非常有用的功能,本文第一部分从整体上介绍秒级精度延迟消息的实现思路,在第二部分结合RocketMQ的延迟消息实现,进行细致的讲解,点出关键部分的源码。第三步介绍延迟消息与消息重试的关系。
作者 | 朱仕智 编辑 | 贾亚宁 本文由极客时间整理自去哪儿旅行基础架构部高级技术总监朱仕智在 QCon+ 案例研习社的演讲《去哪儿旅行微服务架构实践》。 你好,我是朱仕智,在去哪儿网负责基础架构,主要包含后端架构、大前端架构、质量保障、基础云平台等工作,近期主要在公司落地云原生和数字化管理。 今天我带来的主题是去哪儿旅行微服务架构实践。我将从以下几个方面进行介绍: 背景介绍 微服务架构模式的最佳实践 微服务开发效率的提升实践 微服务治理的实践 ServiceMesh 尝试 一、背景介绍 首
上一篇文章(爬取淘宝热卖商品并可视化分析,看看大家都喜欢买什么!)爬取分析了淘宝的热卖商品,从分析来看『螺蛳粉』的销量巨高。因此这篇文章将爬取淘宝全部『螺蛳粉』商品数据,通过可视化分析淘宝螺蛳粉的一些秘密!
作者简介 李媚,酒店数据智能组应用开发工程师。2016年加入携程,先后负责了酒店交叉推荐,优选频道个性化酒店排序等服务开发工作。 一、前言 近年来人工智能的发展成果在互联网行业得到了广泛的推崇和应用,各大巨头纷纷借助AI打造个性化、精细化服务, 加速扩张生态领域。从推荐系统到实时风控,从广告系统到图像处理,模型服务在携程各个业务领域发挥着日益重要的作用。然而回顾现有的模型上线模式,不难发现仍存在一定的缺陷: 1、训练数据准备工作需要手工完成。数据清洗和特征挖掘是模型训练的前期工作,既包括从原始数据清洗出特征
三年前,我写了第一篇和分布式事务相关的文章再有人问你分布式事务,把这篇扔给他,后面陆续也写了一些和分布式事务相关的文章:
本文为联合撰文,作者团队负责携程集团支付账务系统、消费金融账务系统、清结算和对账等工作的的开发、设计和运维工作。
Entry: 入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。
Kevin,携程后端开发专家,追求通过深入业务来简化系统,对底层算法、数据分析有浓厚兴趣。
作者简介 霖雾,携程数据开发工程师,关注图数据库等领域。 背景 2017年9月携程金融成立,在金融和风控业务中,有多种场景需要对图关系网络进行分析和实时查询,传统关系型数据库难以保证此类场景下的关联性能,且实现复杂性高,离线关联耗时过长,因此对图数据库的需求日益增加。携程金融从2020年开始引入大规模图存储和图计算技术,基于nebula构建了千亿级节点的图存储和分析平台,并取得了一些实际应用成果。本文主要分享nebula在携程金融的实践,希望能带给大家一些实践启发。 本文主要从以下几个部分进行分析: 图
领取专属 10元无门槛券
手把手带您无忧上云