公司:携程
携程集团有限公司(英语:Trip.com Group Ltd),是一家总部设立在上海的中国大型旅游网站,1999年创办。2003年12月,该公司在美国纳斯达克(股票代码:TCOM)上市。目前携程已在中国大陆的北京、广州等17个城市设立分支机构,在南通设立服务联络中心,并在香港及台湾皆有旗下事业,占中国在线旅游市场份额一半以上,是中国最大的在线旅行社,也是全球最大的在线旅行社之一。携程旗下拥有携程网、去哪儿网、Skyscanner、Trip.com四个主要品牌,以及驴评网、鸿鹄逸游、永安、易游等多个支线品牌。
纯干货!一文学会 PostgreSQL 实现表分区的方法
一个表的数据量达到一定程度后,稳定性和性能就会出现瓶颈,"化整为零"对DBA 来说无疑是一个很好的选择,此时如何分表就成为摆在业务线开发同学和 DBA 面前的一道不可回避的课题。
相对于传统的开发同学自己根据业务及自己在应用代码中实现分表的方案,本文介绍一下 PostgreSQL 中如何实现对业务相对透明的分区方案。
去哪儿网库存搜索在高并发场景下的探索
Qunar 机票作为 Qunar 的核心业务之一,每天都有成千上万用户在 Qunar 的平台上完成搜索预定生单等操作, Qunar 也一如既往地为用户提供优质的出行体验和保证。
弱监督学习框架 Snorkel 在大规模文本数据集"自动标注"任务中的实践
探索采用非人工标注文本数据的方式来建立训练数据集的可行性。
Trip.com Android 11 适配之旅
Google Play 商店在 2021 年第 3、4 季度正式加强对应用 targetSdkVersion 的限制,要求应用必须以 API 级别 30 (Android 11) 或更高版本为目标运行环境。
作为第一个强制要求分区存储的 API 级别,Android 11无疑是近几年适配工作较为复杂的版本,各个 APP 的适配进度也被寄予期盼。Trip.com APP 在 2021 年第一季度进行了 Android 11 的适配,本文将从方案设计和技术改造等⻆度,聊一聊我们的实践与感想。
微前端架构的落地
随着公司业务的不断扩张,无论是后端、前端抑或是客户端,都面临着应用越来越复杂,越来越庞大以至于难以维护和治理的问题,为了解决这个问题,后端的微服务架构就应运而生了;同理,前端的业务也遇到了类似的问题,自然而然的微服务架构的思想照搬到前端,于是前端的微前端架构应用而生:
一种由独立交付的多个前端应用组成整体的架构风格。具体来说就是将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的小块,而在用户看来仍然是内聚的单个产品。
前端智能化探索,骨架屏低代码自动生成方案实践
在进入页面的过程中,用户不可避免地会看到一个加载动画。但加载动画往往比较古板,如果加载耗时稍微长一点,用户就会失去耐心离开页面。为了让用户有更好的浏览体验,骨架屏是一种较好的渐进式加载方案。
骨架屏的实现,也是视觉稿直出代码实现方案的 MVP (Minimum Viable Product)。本文会探讨骨架屏方案的优劣,以及一种前端智能化的骨架屏代码自动生成方案实践。
数据为王,携程国际火车票的Sharding-Sphere之路
随着国际火车票业务的高速发展,订单量快速增长,单数据库瓶颈层面的问题逐渐显露,常规的数据库优化已无法达到期望的效果。同时,原先的底层数据库设计,也存在一些历史遗留问题,比如存在部分无用字段、表通过自增主键关联和各个应用直连数据库等问题。
为此,经过讨论后,我们决定对订单库进行分库分表,同时对订单表进行重构,进而从根本上解决这些问题。
去哪儿网数据同步平台技术演进与实践
去哪儿机票售后为用户提供退票、改签、航班变动、行程服务、疫情政策等服务的业务。为解决复杂查询场景,我们设计了一套将数据从一个数据源聚合导入到另一个数据源,提供同构或者异构、低延时的、最终一致性的数据同步系统。
挖掘旅游热点吸引年轻人,携程自动热点投放系统的背后玩法
从2017年开始,携程用户搜索时使用的关键词发生了一些有趣的变化:虽然传统的热门目的地词如“上海、北京”依然占比很高,但是大量长尾词如冷门景点、新兴景点也开始在搜索热词榜上占据一席之地。
对此团队进行了相应的数据分析,发现这些长尾词的急剧上升与一些外部热点如微博热搜,抖音网红,小红书热门文章等呈现正相关关系。对这个问题深入研究后发现,随着互联网用户的年轻化,网民们探索问题的热情明显变高,认知闭合(cognitive closure)度高的用户数量开始快速上升,他们在外部媒体获取到了目的地的热点和信息后,有意愿来专业旅游网站获取更多的目的地资讯,减少不确定性。因此大量用户会搜索长尾词。
React Server Components 初探
随着前端职能在互联网公司的重要性与日俱增,我们的前端代码库的体积也开始跟着膨胀,特别是基于 React 的应用,Size 常常以兆 (Mb) 计,给渲染的性能优化提出了巨大的挑战。除了体积,还有另一个问题是,在当下的前端同构 SSR 实践中,Server 端的主要用途是执行一些在服务端和客户端都能执行的通用渲染计算,很少能充分发掘 Server 端特有能力的场景。如何降低客户端 JS Size 以及更极致地挖掘服务端的优化能力,成为一个待解决的开放性问题。
Facebook 的 React Team 尝试给出了他们的一个探索方案——React Server Component。一种只运行在服务端的 React 组件化能力,我们来一探究竟。
后微服务时代,领域驱动设计在携程国际火车票的实践
领域驱动设计(Domain-Driven Design,简称 DDD)是一种软件开发设计思想,其旨在以领域为核心,让软件系统在实现时准确地基于对真实业务过程的建模,专注于业务问题域的需要。
DDD将软件系统设计分为了2个部分:战略设计和战术设计,战略设计用于提炼问题域并塑造应用程序的架构,战术设计用于帮助创建用于复杂有界上下文的有效模型。基于此,DDD强调专注于核心领域,通过协作对公共语言和知识进行提炼,并且持续致力于领域的知识提炼,让模型持续发展。
本文基于DDD思想,在携程国际火车票中台预订系统项目进行实践。
在携程美团订酒店,为何一付款就涨价?
酒店差价由来已久。
NLP在携程机票人工客服会话分类中的应用
携程一直注重用户的服务效率与服务体验,在售前、售中、售后全过程中给用户提供高效的客服支持。
用户访问客服页面后,会首先与智能客服进行对话,当智能客服给出的回答无法解决用户问题时便会接入人工客服,再由人工客服给出专业的解答。对话完成后,系统根据人工客服会话内容,应用NLP相关技术给出会话类别。这一结果将直接指导客服的管理与决策。本文将主要介绍携程机票在人工客服会话分类时使用的相关NLP技术和优化方案。
高效线上问题排查——套路化和工具化
一旦需要进行问题排查的时候,往往重要且紧急,排查效率显得尤为重要。
Reactive模式在Trip.com消息推送平台上的实践
在相同硬件资源下,QPS提升2~3倍,RT缩短近50%。
梁建章:我带领携程战胜所有竞争对手的方法论
如果能够让现有的团队发挥最大的作用,最好的办法就是把老的创始人拉回来带着他们拼命跑一阵。