来自阿里巴巴飞猪部门,目前主要负责机票搜索系统开发
能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明它是一个高性能的Key-Value数据库。设计了完善的持久化机制,同时保证性能和安全性。能够良好的支持范围查询,因为K-V记录就是按照Key来排序的。 下图为写入的流程: 可以看到主要的三个组成部分,内存结构memtable,类似事务日志角色的WAL文件,持久化的SST文件。
机票业务非常复杂,我们不得不应对这些复杂,也不断的想出一些招数演进系统。我回顾所做的事,再次思考并归纳核心思路,完成了本篇。 一、最大化统一,最小化变化 业务复杂,更不能随意新增接口、流程,思考如何将不同场景的流程融合在一起。
延续上篇国内机票计算的话题,依然聚焦机票计算层,扩大范畴到国际。国际机票的区别在于会做更多的拼接,若所有数据全部参与计算则耗时过长,需要挑选一部分,还要保证挑选的部分恰好对应最低的价格。国际机票的有趣之处在于决定怎么挑。
机票搜索过程:按照请求的条件,取得对应的运价、规则、座位,三者匹配并计算出票价,排序选择优先价格并展示。主要代价花在其中的匹配步骤,也是本篇介绍的重点。匹配和计算都位于计算层。 一、国内机票单程 1、三层循环做运价*规则*座位的笛卡尔积来实现匹配,并计算代理商机票销售价 2、时间复杂度 选取B.