公司:携程
携程集团有限公司(英语:Trip.com Group Ltd),是一家总部设立在上海的中国大型旅游网站,1999年创办。2003年12月,该公司在美国纳斯达克(股票代码:TCOM)上市。目前携程已在中国大陆的北京、广州等17个城市设立分支机构,在南通设立服务联络中心,并在香港及台湾皆有旗下事业,占中国在线旅游市场份额一半以上,是中国最大的在线旅行社,也是全球最大的在线旅行社之一。携程旗下拥有携程网、去哪儿网、Skyscanner、Trip.com四个主要品牌,以及驴评网、鸿鹄逸游、永安、易游等多个支线品牌。
百万QPS,秒级延迟,携程基于实时流的大数据基础层建设
2017年9月携程金融成立,本着践行金融助力旅行的使命,开始全面开展集团风控和金融业务,需要在携程DC构建统一的金融数据中心,实现多地多机房间的数据融合,满足离线和在线需求;涉及数千张mysql表到离线数仓 、实时数仓、在线缓存的同步工作。由于跨地域、实时性、准确性、完整性要求高,集团内二次开发的DataX(业界常用的离线同步方案)无法支持。
PostgreSQL如何查找某一事务中的完整SQL
DBA 经常需要排查某一个事务中有哪些 SQL 的场景。典型的 case 就是 DB 有一个 lock 报警,从系统表中查看发现是1个 update 等待的 SQL 是1个 select。熟悉 PostgreSQL 的同学都知道:在 PostgreSQL 中,由于特有的 MVCC 机制,读不阻塞写,写不堵塞读。
那么为什么会产生这种 lock?
实际就是因为这个 select 处于一个事务中,事务中有其他 update/delete 等写入操作持有后面的其他事务中的 update 操作所需要的 lock。此时就需要到 DB log 去排查这个 select 所处的事务的完整的全部 SQL,反馈给业务线的开发同学,以便于进一步优化。
实时数据聚合怎么破
实时数据分析一直是个热门话题,需要实时数据分析的场景也越来越多,如金融支付中的风控,基础运维中的监控告警,实时大盘之外,AI模型也需要消费更为实时的聚合结果来达到很好的预测效果。
实时数据分析如果讲的更加具体些,基本上会牵涉到数据聚合分析。
数据聚合分析在实时场景下,面临的新问题是什么,要解决的很好,大致有哪些方面的思路和框架可供使用,本文尝试做一下分析和厘清。
多业务线亿级体量,携程是怎么做账务中台的
平台化,组件化,高可用。
以模型为中心,携程契约系统的演进
随着微服务化在携程的全面落地,业务被拆解得越来越细,接口数量和内外部调用方不断增多;另一方面,随着产品迭代的不断增速,对接口的修改也变得愈加频繁。
接口契约,作为各端的沟通桥梁,在微服务时代显得尤为重要。如何管理好不断变化的接口契约,是携程机票BU在微服务化过程中遇到的一大难题。本文结合一些契约管理的实践经验,介绍下携程契约管理的演进,以及携程机票BU自研发的契约系统(简称MOM - model object management,以下都以此代替)。
PostgreSQL 中如何控制行级安全和列级安全
最近有业务线的同学向 DBA 提出这样的需求:“我的表里有很多敏感数据,怎么给使用者(从 DBA 角度来看就是 DB User)指定查看某些特定行或某些列的权限?”
这是我们经常用到的业务场景,比如最典型全公司的短信数据和用户管理平台场景,如何限制各部门仅可查看属于本部门的某些非敏感数据?
PostgreSQL 为了符合各种场景的安全需求,它的权限控制非常完善,它在各个级别上都具有广泛的安全功能。接下来我们来看一下在 PostgreSQL 中利用行级安全和列级安全来解决上述问题。
深入理解 epoll
本文将从线程阻塞的原理,中断优化,网卡处理数据过程出发,深入的介绍 epoll 背后的原理,最后还会 diss 一些流行的观点。相信无论你是否已经熟悉 epoll,本文都会对你有价值。
如何构建系统优化成本,携程出海云原生实践
随着携程国际化战略的开展,为了给海外用户提供更好的服务,携程国际机票有很大一部分数据来源于世界各地的海外供应商和平台,在美国、德国、新加坡等全球众多的海外站点部署业务服务。相比自建私有云,购买设备和组建运维团队,公有云是企业出海的一个更好选择。
但该怎么上云,如何充分利用云原生的能力,是每个企业服务上云前面临的问题,其实我们可以遵循在业界已有的成熟云原生标准。所谓的云原生是一组最佳实践和方法论,指导我们在云环境下构建可伸缩、高可用、松耦合的应用,更快速和低成本运行服务,享受它带来的红利。
代理模式Mock平台在携程的应用
一种轻量级前端Mock解决方案的思考和实现。
分布式缓存与DB秒级一致设计实践
高吞吐、低延时、资源占用低。
前端跨端业务整合的探索与实践
为应对携程国际化的需求,机票前端团队开始业务统一化的步伐,Ctrip和Trip的业务整合和代码复用成为面临的困难和挑战。在实践过程中,团队积累了大量的经验,下文是机票实现业务统一化、技术中台化、迭代敏捷化的思路和方法。
Lucene 倒排索引原理
Lucene一直以来是实现搜索功能的神兵利器,而Lucene之所以能在搜索中发挥至关重要的作用正是因为倒排索引。本文将介绍一下倒排索引的概念以及倒排索引在Lucene中的实现原理。
Java AQS 核心数据结构-CLH 锁
本篇文章从自旋锁出发,详细介绍了 CLH 锁及 AQS 对 CLH 的改造。
去哪儿 Android 客户端隐私安全处理方案
隐私信息安全和保护是互联网最基本和最重要的部分,本文介绍了去哪儿网如何通过技术手段,简单高效全面的对自身和三方 SDK获取隐私信息的管控,包含功能特性及优势,以及技术实现细节。
质量保障新手段,携程回归测试平台实践
给因频繁进行回归测试而困扰的朋友一些借鉴。
IM之Qunar实现
Qunar由于业务上对 IM 系统的需求,以及对 IM 需要支持的功能和扩展,结合市面上已有的 IM 的实现,实现了自己的一套完善的办公 IM 和客服 IM 系统。具备了以下几个重要特点:实时性,可靠性,一致性,安全性,扩展性,高并发。