草庐IT

携程商旅在 Atomic Css 下的探索

作者简介19组清风,携程资深前端开发工程师,负责商旅前端公共基础平台建设,关注NodeJs、研究效能领域。一、引言三年前Facebook开始思考在目前设计系统下面临的问题,那时它们在前端项目、系统组件等部分使用的是cssmodule的样式方案。直至今日,Facebook已经将所有的Web前端使用React进行重写的同时,也使用了一种新的AtomicCss-in-JS对于它们的Css方案进行了重写。最近,Facebook团队开源了他们内部的AtomicCss解决方案:stylex,正是这套解决方案让Facebook首页样式文件体积减少了至少80%。这篇文章中我们就着 AtomicCss来聊聊Fa

开源 | 携程 Redis On Rocks 实践,节省 2/3 Redis成本

作者简介patpatbear,携程软件技术专家,负责携程缓存内核的维护,热爱开源,专注于高性能、分布式NoSQL系统的建设和应用。一、背景redis使用内存作为存储介质,具有良好的性能和低延迟,但其内存容量通常成为瓶颈,且内存价格较高,导致redis使用成本较高。随着SSD磁盘性能的不断提高,NVMeSSD的随机读写延迟也仅有几十微秒,与redis的固有延迟(100~200us)相当,用SSD作为存储介质也可以达到较低的延迟,同时节省成本。因此我们研发了ROR(Redis-On-Rocks)产品,通过对redis内核增强以支持数据冷热交换,使用磁盘扩展缓存容量,可节省约2/3成本,而性能也能满

携程Apollo配置中心架构介绍

俗话说”麻雀虽小,五脏俱全“,有人说想看开源源码却不知道什么好,事实上,那些流行多年,广受好评的开源工程都是很值得一读的。今天我们介绍Apollo配置中心的基本情况,之所以介绍这个,主要是因为公司里用的配置中心就是这个,最近要做一次技术分享,所以就调研了一下发现很多设计非常简介高效,值得学习,这里整理几个最重要的内容。目录1.介绍1.1介绍1.2架构演进1.2.1Apollo架构V11.2.2Apollo架构V21.2.3Apollo架构V31.2.4Apollo架构V41.2.5Apollo架构V51.3主要模块1.3.1四个核心模块1.3.2三个辅助服务发现模块1.4核心工作流程2.消息推

协程是怎么实现的,如何用纯C#怎么实现协程,携程和线程的区别

携程协程(Coroutine)是一种特殊的函数,可以暂停执行并在稍后恢复执行。在Unity中,协程通常用于实现一些异步操作,如等待一段时间后再执行某个操作,或者分步执行一个复杂的操作。在Unity中,协程可以使用C#的yield关键字来实现。yield语句可以暂停协程的执行,并在稍后恢复执行。以下是一个简单的协程示例:usingSystem.Collections;usingUnityEngine;publicclassCoroutineExample:MonoBehaviour{privatevoidStart(){StartCoroutine(MyCoroutine());}private

干货 | 携程光网络抵御光缆中断实践

作者简介Lightworker,携程网络技术专家,关注光纤通信、DCI传输技术领域。一、背景光传输网络(简称OTN)是一种基于光纤技术的通信网络。它利用光纤作为传输介质,将信息以光的形式进行传输。其凭借DWDM(密集型波分复用)技术以及保护倒换技术,可以实现大带宽、低延迟、高可靠的数据传输,因此广泛应用于多个数据中心互联场景。国内外大型互联网公司通过租用运营商光纤自建传输网络,能够大大降低IDC之间数据传输的成本。同样,携程也拥有自建的光传输网络(简称TOTN),主要用于承载骨干网跨数据中心流量以及IT办公上网流量。作为底层物理网络,TOTN直接面对运营商光缆,需应对频繁出现的光缆故障。众所周

携程光网络抵御光缆中断实践

作者简介Lightworker,携程网络技术专家,关注光纤通信、DCI传输技术领域。一、背景光传输网络(简称OTN)是一种基于光纤技术的通信网络。它利用光纤作为传输介质,将信息以光的形式进行传输。其凭借DWDM(密集型波分复用)技术以及保护倒换技术,可以实现大带宽、低延迟、高可靠的数据传输,因此广泛应用于多个数据中心互联场景。国内外大型互联网公司通过租用运营商光纤自建传输网络,能够大大降低IDC之间数据传输的成本。同样,携程也拥有自建的光传输网络(简称TOTN),主要用于承载骨干网跨数据中心流量以及IT办公上网流量。作为底层物理网络,TOTN直接面对运营商光缆,需应对频繁出现的光缆故障。众所周

日流量200亿,携程网关的架构设计

日流量200亿,携程网关的架构设计方案的作者:Butters,携程软件技术专家,专注于网络架构、API网关、负载均衡、ServiceMesh等领域。一、概述类似于许多企业的做法,携程API网关是伴随着微服务架构一同引入的基础设施,其最初版本于2014年发布。随着服务化在公司内的迅速推进,网关逐步成为应用程序暴露在外网的标准解决方案。后续的“ALLIN无线”、国际化、异地多活等项目,网关都随着公司公共业务与基础架构的共同演进而不断发展。截至2021年7月,整体接入服务数量超过3000个,日均处理流量达到200亿。在技术方案方面,公司微服务的早期发展深受NetflixOSS的影响,网关部分最早也是

携程旅游大语言模型系统介绍及其应用

作者简介Terry,携程自然语言处理和大语言模型算法方向专家,有多年的自然语言处理项目经验和AI落地经验。一、背景随着OpenAI的ChatGPT火遍全球,大语言模型(LargeLanguageModel,下文简称LLM)成为了人工智能领域的热门话题。大语言模型是一种基于深度学习的自然语言处理技术,它能够模拟人类的语言能力并生成连贯的文本。这种技术的出现引起了广泛的关注和应用。大型语言模型在机器翻译、文本生成、智能对话等领域发挥着重要作用。在这些领域中,它们能够理解和生成自然语言,使得机器能够更好地与人类进行交流和合作。无论是在学术研究还是商业领域中,LLM都有潜力成为一个强大的工具,帮助我们

携程酒店基于血缘元数据的数据流程优化实践

作者简介九号,携程数据技术专家,关注数据仓库架构、数据湖、流式计算、数据治理。一、背景元数据MetaData狭义的解释是用来描述数据的数据,广义的来看,除了业务逻辑直接读写处理的那些业务数据,所有其它用来维持整个系统运转所需的信息/数据都可以叫作元数据。比如数据表格的Schema信息,任务的血缘关系,用户和脚本/任务的权限映射关系信息等等。在数据仓库的建设质量的评估中,一个必不可少的评价指标就是数据产出的及时性,特别是对于P0级别的流程,及时性指标的好坏一方面决定了下游应用方能否准时地获取所需的业务指标,直接影响到业务的工作效率;另一方面也反映了相应指标的数据架构的合理程度。数据及时性,顾名思

携程中转交通方案拼接性能优化

作者简介简言,携程后端开发经理,关注技术架构、性能优化、交通规划等领域。一、背景介绍由于交通规划和运力资源的限制,用户查询的两地之间可能没有直达交通,或者在重大节假日时,直达交通都已售罄。不过,通过火车、飞机、汽车、船舶等两程或多程中转的方式,用户仍然可以到达目的地。此外,中转交通有时在价格和耗时方面更具有优势。例如,对于从上海到运城,通过火车中转可能比直达火车更加快捷和便宜。图1携程火车中转交通列表在提供中转交通方案时,很重要的一个环节是将两程或多程的火车、飞机、汽车、船舶等拼接起来组成可行的中转方案。而中转交通拼接的第一个难点是拼接空间极大,仅考虑上海做中转城市,就可以产生近亿种组合;另一