https://mp.weixin.qq.com/s/cycZslUlfyVNm2GVrZm1Cw 干货 | 携程多语言平台-Shark系统的高可用演进之路 原创 Fenlon 携程技术 2020-11-26    …
文 | 潘国庆 携程大数据平台实时计算平台负责人 本文主要从携程大数据平台概况.架构设计及实现.在实现当中踩坑及填坑的过程.实时计算领域详细的应用场景,以及未来规划五个方面阐述携程实时计算平台架构与实践,希望对需要构建实时数据平台的公司和同学有所借鉴. 一.携程大数据平台之总体架构 携程大数据平台结构分为三层: 应用层:开发平台Zeus(分为调度系统.Datax数据传输系统.主数据系统.数据质量系统).查询平台(ArtNova报表系统.Adhoc查询).机器学习(基于tensorflow.spa…
https://mp.weixin.qq.com/s/QTqcBZlAhp5cLRJGJVZRNw 干货 | 携程Redis治理演进之路(二) 原创 技术中心 携程技术 2020-12-24      …
Linux系统——MHA-Atlas-MySQL高可用集群 MHA MHA介绍MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换过程中,MHA能最大程度上保证数据库的一致性,以达到真正意义上的高可用. MHA组成MHA由两部分组成:MHA Manager(管理节点)…
Keepalived+Nginx+tomcat实现系统的高可用 1:安装vmware虚拟机 2:安装linux系统,我自己下载的centos6.5 3:安装JDK,tomcat 解压tomcat到/usr/local 配置tomcat的首页 vim /usr/local/apache-tomcat-7.0.84/webapps/ROOT/index.jsp 配置防火墙 vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp…
#### keepalived服务的三个重要功能1. 管理LVS负载均衡软件Keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置以及控制服务的启动,停止功能,这使得LVS的应用更加简单方便.2. 实现对LVS集群节点健康检查功能(healthcheck)Keepalived可以通过在自身的Keepalived.conf文件里配置LVS的节点IP和相关参数实现对LVS的直接管理:除此之外,当LVS集群中的某一个甚至是几个节点服务器同时发生故障无法提供服务时,Ke…
本博客迁移到部署在jae上的独立博客系统wordpress,博客地址:点击打开独立博客.欢迎大家一起来讨论IT技术. 现在很多企业都在搭建自己的私有PAAS平台,当然也有很多大型互联网公司搭建共有PAAS平台(例如SAE/BAE/JAE(jae.jd.com)).那么使用PAAS平台来部署SAAS应用有哪些好处呢?除了大家都知道方便部署管理,节约资源和成本,今天我主要给大家介绍另一个好处就是让部署在PAAS平台上的应用很容易做到7×24小时不服务器运行(哪怕需要重新部署和更新应用),这个对于一般…
携程大数据平台负责人张翼分享携程的实时大数据平台的迭代,按照时间线介绍采用的技术以及踩过的坑.携程最初基于稳定和成熟度选择了Storm+Kafka,解决了数据共享.资源控制.监控告警.依赖管理等问题之后基本上覆盖了携程所有的技术团队.今年的两个新尝试是Streaming CQL(华为开源)和JStorm(阿里开源),意在提升开发效率.性能和处理消息拥塞能力,目前已有三分之一的Storm应用已经迁到JStorm 2.1上. 今天给大家分享的是携程在实时数据平台的一些实践,按照时间顺序来分享我们是怎…
 小雷友情提示:创业有风险,投资需谨慎.      前一篇文章,在探讨境外游创业公司-皇包车和易途8的时候,提到"滴滴如果进军海外包车,为海外华人提供打车和包车服务,有较大可能对海外包车公司进行较大打击". 这个想法,之前没怎么考虑,而是通过一个朋友的公众号得知的. 变革家分析了3个"出行类" 创业公司,其中皇包车和易途8主营业务是海外中文接送机+中文包车,还有一个是主打国内P2P租车的凹凸租车.    在针对凹凸租车做投资建议的时候,特别强调滴滴有非常大的可能性进…
出口转内销.首发于公司微信公众号,作者本人,现转载到此.本来写得比较技术,还算有点干货,但是结果被编辑咔咔咔,就只剩下下面这些内容. 大型企业如何开启自己的快速上云之路? 2017-12-08 易建科技刘世民 海航云 作为易建科技具有自主知识产权的云计算核心平台,eKing Cloud 基础云的演进或许能给大家提供一条探索之路. 自 2013 年 6 月上线运营至今,eKing Cloud 基础云已为海航集团内外上百家企业的上千套业务系统提供了计算服务.在这些服务的基础上,海航集团的航空旅游.金…
龙启东 魅族资深DBA 负责MySQL.Redis.MongoDB以及自动化平台建设 .擅长MySQL高可用方案.SQL性能优化.故障诊断等. 本次分享主要包括以下几方面: 如何利用MHA 改造MHA适应MySQL高可用场景 构建MySQL高可用平台的出发点 如何构建MySQL高可用平台 一.背景和目标 以前几十台DB服务器,人工登陆服务器就能维护好,也没有高可用,当master挂了,通知业务将IP切换到slave然后重启也能基本满足业务要求,但是业务迅速发展,实例数不断增加,复制集不断增加,数…
从上篇文章到这篇文章,中间用了一段时间准备,主要是想把东西讲透,同时希望大家给与一些批评和建议,这样我才能有所进步,也希望喜欢我文章的朋友,给个赞,这样我才能更有激情,呵呵. 由于本篇要写的内容有点多,我就分为几篇博客进行了详细描述. Haproxy提高web应用的高可用 上一篇文章讲到了haproxy+tomcat的方案,文章地址:大型网站系统架构的演进(四)http层负载均衡之haproxy实践篇(一) 大家可以先温习一下, 文中提到了高可用,该集群方案也可以提高应用系统的高可用,如果tom…
HA(High aviliable)高可用 高可用的需求 在很多公司里面,都会存在着一些不愿被中断的业务,但是由于硬件故障,软件故障,人为因素等各种因素,往往会不经意的造成我们重要的业务中断,因此高可用技术就由此而生. 评价的标准 A = MTBF / (MTBF + MTTR) MTBF: Mean Time Between Failover 平均无故障时间 MTTR: Mean Time To Repair  平均修复时间 一般来说,A的值越大,高可用性能就越好,通过增大MTBF或者减小MT…
IM 系统的不可用主要有以下两个原因: 一是无法预测突发流量,即使进行了服务拆分.自动扩容,但流量增长过快时,服务已经不可用了: 二是业务中依赖的这些接口.资源不可用或变慢时,比如发消息可能需要依赖"垃圾内容识别"的 API 来进行消息内容的过滤,下推图片消息可能需要依赖图片服务获取缩略图来进行推流,会导致业务整体失败或者被拖慢而造成超时,影响服务的整体可用性. 如何保证系统的高可用呢? 一.流量控制 在即时消息系统中,突发超高流量时,为了避免服务器整体被流量打死,我们可以通过流控来扔…
干货 | 质量保障新手段,携程回归测试平台实践 原创 Sedro 携程技术 2021-01-21…
其实GO语言从1.6版本开始非常不错了,GC性能优化非常到位,并且各种并行设计比从新实现一套C++版本的确是方便不少. 语言包也很多,库也相对稳定,完全可以适用于生产环境. 本文主要是给刚刚入门新手注意一个携程空跑的问题,因为这种问题可能在C++中也遇到过,只是一些代码书写习惯导致. 首先来看一段代码: func (c *WSConn) processHandler() { for { select { case message, ok := <-c.processMsg: // 处理数据包 i…
以下文章来源于携程技术 ,作者瑞华 作者简介 瑞华,携程高级后端开发工程师,关注系统架构.分库分表.微服务.高可用等. 一.前言 随着国际火车票业务的高速发展,订单量快速增长,单数据库瓶颈层面的问题逐渐显露,常规的数据库优化已无法达到期望的效果.同时,原先的底层数据库设计,也存在一些历史遗留问题,比如存在部分无用字段.表通过自增主键关联和各个应用直连数据库等问题. 为此,经过讨论后,我们决定对订单库进行分库分表,同时对订单表进行重构,进而从根本上解决这些问题. 二.问题挑战 目标确定后,实践起来…
1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第四篇,前三篇已经讲述了阿里.腾讯.百度在前端技术这几年的技术发展. 这一篇从携程讲起. 携程技术全景图 移动技术产品 移动技术产品分为四大模块: 技术平台:MCD(持续交付平台),APM(性能监控平台),MTS(日志排障平台)和MTP(无线技术平台) 通信层:通信工具,消息推送平台,服务端推送 框架层:涵盖App中通用能力,例如设备信息.位置信息.热更新.网络通信.配置…
注:本篇文章整理自董艺荃在 Dubbo 社区开发者日上海站的演讲. 1.缘起 携程当初为什么要引入 Dubbo 呢?实际上从 2013 年底起,携程内主要使用的就是基于 HTTP 协议的 SOA 微服务框架.这个框架是携程内部自行研发的,整体架构在这近6年中没有进行大的重构. 受到当初设计的限制,框架本身的扩展性不是很好,使得用户要想自己扩展一些功能就会比较困难.另外,由于 HTTP 协议一个连接同时只能处理一个请求.在高并发的情况下,服务端的连接数和线程池等资源都会比较紧张,影响到请求处理的性…
写在前面:选型考虑 携程于1999年创立,2016-2018年全面推进应用 MySQL 数据库,前期线上业务.前端技术等以 SQL Server 为主,后期数据库逐步从 SQL Server 转到开源 MySQL 数据库.随着技术多元化以及业务的不断发展,MySQL 逐渐无法满足携程需求,主要体现在:业务数据模型呈现多元化,在异地多活部署.运维成本.资源弹性管理以及应用稳定性等方面对数据库技术提出了新的要求,MySQL 方案在单机性能瓶颈表现明显,同时分库分表方案带来运维复杂度和维护成本也随之增…
首先介绍一下携程App的网络服务架构.由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现.网络通讯属于基础&业务框架层中基础设施的一部分,为App提供统一的网络服务: 1Native端的网络服务 Native模块是携程的核心业务模块(酒店.机票.火车票.攻略等),Native模块的网络服务主要通过TCP连接实现,而非常见的Restful HTTP API那种HTTP连接,只有少数轻量级服务使用HTTP接口作为补充. TCP连接网络服务模…
编者:本文为刘科在第六期[携程技术微分享]中的分享内容.在携程技术中心(微信号ctriptech)微信后台回复[云桌面],可加入微信交流群,和关注云桌面的小伙伴一起玩耍~ 刘科,携程系统研发云平台桌面虚拟架构师,多年从事分布式计算.通信系统平台设计.开发. [携程技术微分享]是携程技术中心推出的线上公开分享课程,每月1-2期,采用目前最火热的直播形式,邀请携程技术人,面向广大程序猿和技术爱好者,一起探讨最新的技术热点,分享一线实战经验. 本期视频回放点击这里. OpenStack是当前最主流.最…
携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,期望我们的经验能帮助到更多的Android工程师. 需求驱动 2014年,随着业务发展需要和携程无线部门的拆分,各业务产品模块归属到各业务BU,原有携程无线App开发团队被分为基础框架.酒店.机票.火车票等多个开发团队,从此携程App的开发和发布…
编者:本文来自携程框架研发部高级经理魏晓军在第二期[携程技术微分享]上的分享,以下为整理后的文字实录.视频回放可点击这里.关注携程技术中心微信公号ctriptech,可获知更多微分享课程信息. 因为支持用javascript开发原生应用,React Native一推出就受到不少公司热捧,各家都跃跃欲试.但有一个痛点是,在移动端,我们是否有必要开发多套程序:iOS.Android和H5?本次将通过对Moles框架的分享,介绍携程在React Native方面的实战干货,希望给大家一些灵感和启发.…
写在前面 前天参加了携程的网测--还是感觉自己太!渣!了!    _(:з」∠)_ 时光匆匆啊,已经到了开始思考人生的时候了(算了不矫情了)--总之写个博客来督促一下自己.之前太懒了,很多时候都是输在了"开始"这一步上了,顺便用一句前几天看到的鸡汤来警醒一下自己,"你不需要很厉害,才可以开始:而是要开始,才可以很厉害",共勉. 说正经的 经典的拼图(八数码/九宫格)问题,典型BFS,但这次考试是我第一次做希望大家不要嘲笑,考试的时候想当然的觉得每次交换必须把其中一个…
React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化方案. 一.背景和使用情况介绍 为什么会引入 React Native? 1. AppSize 占用 携程旅行 App 从 11 年开始开发,至今已有 5 年多时间,随着各项业务功能的全面移动化,以及公司"Mobile first"策略的指引下,App 功能越来越多,越来越臃肿,Size…
因为支持用javascript开发原生应用,React Native一推出就受到不少公司热捧,各家都跃跃欲试.但有一个痛点是,在移动端,我们是否有必要开发多套程序:iOS.Android和H5?本次将通过对Moles框架的分享,介绍携程在React Native方面的实战干货,希望给大家一些灵感和启发. 本次分享的内容包括三个方面: Moles框架在React Native和我们主App的集成中起到了什么作用? Moles框架是如何打通Android.iOS.H5.SEO,让我们一套代码跑在多个…
携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,期望我们的经验能帮助到更多的Android工程师. 需求驱动 2014年,随着业务发展需要和携程无线部门的拆分,各业务产品模块归属到各业务BU,原有携程无线App开发团队被分为基础框架.酒店.机票.火车票等多个开发团队,从此携程App的开发和发布…
携程ABTest伴随UBT(User Behavior Tracking System)系统一起,两年多的时间,从最初online寥寥几个实验,到现在单是机票BU每周就有数十个app/online/h5平台同时线上运行. 在14年-16年James领导下的技术驱动的大携程体系,对于项目上线的收益.年终KPI考核.CEO奖项的评比都需要拿ABTest数据说话(据说James对数据特别敏感,曾经在2016年某hackathon决赛中,未上线前一team在台上大谈项目收益,James当即打断说"你们的…
本篇文章整理自董艺荃在 Dubbo 社区开发者日上海站的演讲. 缘起 携程当初为什么要引入 Dubbo 呢?实际上从 2013 年底起,携程内主要使用的就是基于 HTTP 协议的 SOA 微服务框架.这个框架是携程内部自行研发的,整体架构在这近6年中没有进行大的重构.受到当初设计的限制,框架本身的扩展性不是很好,使得用户要想自己扩展一些功能就会比较困难.另外,由于 HTTP 协议一个连接同时只能处理一个请求.在高并发的情况下,服务端的连接数和线程池等资源都会比较紧张,影响到请求处理的性能.而 D…