商旅行业技术方案elong-design-jiazhifeng-qcon_第1页
商旅行业技术方案elong-design-jiazhifeng-qcon_第2页
商旅行业技术方案elong-design-jiazhifeng-qcon_第3页
商旅行业技术方案elong-design-jiazhifeng-qcon_第4页
商旅行业技术方案elong-design-jiazhifeng-qcon_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、艺龙旅行网架构案例分享Michael Jia April 2011艺龙简介18000 家国内酒店, 13万家国际酒店每天 4万机票酒店订单4.8 亿RMB总营收(2010年)酒店 机票 预订电话:400-810-1010Agenda艺龙架构介绍关注的问题艺龙案例松耦合异步面向运维总结酒店 机票预订电话:400-810-1010Architecture Overview - Business酒店 机票 预订电话:400-810-1010ProductAir: Air Pricing DB/ FTERM Hotel: Hotel Inventory Package: Static PackageC

2、onsumer Traffic/ SEO/ SEM Web/ Usability Mobile Destination Guide Hotel 点评 Promotion Coupon SMS EmailSupplier/Partner ebooking HBA Web union Affiliate Platform Air supplier platform NFD PID pool Airline Direct Connect Hotel directconnect FaxCustomer ManagementRev. Management CRM/ Loyalty Customer In

3、telligence My eLong Commission Air Rev Management System Date Warehouse Payment AR/APSystem Management Monitoring Capacity Model / Planning Customer Experience/Tealeaf Config ManagementProcess CTI Call Center Interface ( Order processing, Call handling) ERP MISArchitecture Overview - Technicalp 展示层:

4、 Web Servers, Webservice Serversp 商业逻辑层: API Serversp 数据层 DB Servers酒店 机票 预订电话:400-810-1010技术环境 Windows Server, IIS, SQLServer, WCF, Remoting, MSMQ CentOS, memcached, CDN VMWare ESX运行环境开发运营管理数据分析 ASP.Net, C# Java, PHP Cacti, Whats Up, Tealeaf, BMC Ominture, Network Bench, Oracle, Hyperion, Informati

5、ca, 酒店 机票 预订电话:400-810-1010架构关注点Architecture represents thesignificant decisions,where significance is measured by cost of change.Grady Booch酒店 机票 预订电话:400-810-1010架构 关注点QCon2008:架构在满足功能需求之外必须系统化考虑非功能性需求(-ilities)p Accessibilityp Auditabilityp Flexibilityp Extensibilityp Configurabilityp Testability

6、p Repeatabilityp Interoperabilityp Availabilityp Scalabilityp Installabilityp Manageabilityp Supportabilityp Recoverabilityp Usabilityp Timelinessp Performancep Compliancep Securityp酒店 机票 预订电话:400-810-1010架构 关注点结构 (Structure)一致性 (Consistency)交 互 性 (Interoperability) Frameworks and LibrariesTeam & Te

7、chnologyGood Architecture provides foundations to add business value.酒店 机票预订电话:400-810-1010艺龙简单的架构原则 - SOAp 子系统在服务层通过API交互p 子系统可以独立扩展,升级,维护p 面向运维的子系统设计酒店 机票 预订电话:400-810-1010艺龙架构案例解耦酒店 机票 预订电话:400-810-1010Loose Coupling(松散耦合)“Coupling refers to the degree of direct knowledgethat one component has of

8、 another ”- Wikipedia松散耦合(loose coupling)的目的是减少风险及提高灵活性:一个元素内发生的变更造成其它元素内非预期的变更。限制互相连接会在事情出错时帮助隔离问题并简化测试、维护和检修过程。 酒店 机票 预订电话:400-810-1010系统耦合点 三大依逻辑依赖系统调用关系耦合数据依赖系统接口定义耦合同步依赖系统可用性耦合酒店 机票预订电话:400-810-1010Mediator Pattern 解耦MTight CouplingLoose Coupling酒店 机票 预订电话:400-810-1010艺龙案例 - 配置解耦原始结构 p 系统依赖关系记录

9、在本地配置文件中p 大量配置文件散落各处p 部署变更时容易出错p 数据中心运维代价高airapi=airapi=hotelapi =.hotelapi =.airdb=airdb=hoteldb =hoteldb =payment =.payment =.结论:配置管理架构必须降低耦合度.酒店 机票 预订电话:400-810-1010 配置解艺龙案例耦airapi=192.16

10、8.3.1hotelapi =.Mediator: 配置服务器p 系统关系集中记录在配置服务器p 子系统之间丌再有设置耦合p 管理变更更加容易酒店 机票 预订电话:400-810-1010艺龙案例 流程解耦p 简单的state-machine实现方式p 上下游节点高耦合p 拼图式的Global Viewp 流程管理变更点多收款状态: if(pay=ok& seat.isAvailable()en_queue(“出票”);结论:流程节点需要降低耦合度出票状态: if(ticket.issued()en_queue(“Email_Customer”);elseen_queue

11、(“Reimburse”);酒店 机票 预订电话:400-810-1010 流程解艺龙案例耦验证p 节点和流程分离p Notify-Dispatchp 上下游节点低耦合p Global View 集中在controllerp 流程管理变更点少收款出票流程ControllerMediator打印配送Worker酒店 机票 预订电话:400-810-1010MediatorPattern的其他应用场景对象耦合数据耦合通讯耦合-Spring IoC ContainerCanonical Data FormatEnterprise Service Bus (ESB) Internet酒店 机票 预订电

12、话:400-810-1010Asynchronous 航信通讯p 如何将航信通讯流量最小化p Cache可以解决一部分问题p Cache 数据过期时会访问航信p 3-5秒钟的访问时间p 期间同样的查询将重复访问p 峰值流量无法控制API + Cache 服务器PEK-SHA航信通讯服务器$目标:同样的查询只能有一次访问航信主机酒店 机票 预订电话:400-810-1010艺龙架构案例异步酒店 机票 预订电话:400-810-1010Asynchronous 航信通讯p 查询请求存入DB, 丌直接调通讯服务器p 通讯服务器从DB取得查询请求p API在写入时判断并排除重复查询p 峰值流量得到控制

13、API 服务器航信通讯服务器结果:节省了1/3的航信流量,降低了费用约1/2$航信主机酒店 机票 预订电话:400-810-1010PEK-SHA ¥1200 SHA-PEK ¥1300艺龙架构案例面向运维酒店 机票 预订电话:400-810-1010面向运维实时监控最近5分钟的出票量?23Cactip Simple HTTP GETp Cacti SNMP Proxy酒店 机票 预订电话:400-810-1010面向运维日志分析p 统一的日志格式p 统一的分析工具酒店 机票 预订电话:400-810-1010面向运维 Beyond商务运维价格准确率支付失败率监控系统反馈自适应系统模型 - Elastic人工, 自动, Hybrid酒店 机票预订电话:400-810-1010总结架构需要有Big picture.立足现有系统,兼顾未来系统架构的原则可以灵活应用在各个层级应用架构 (Class, Object, Interface) 系统架构 (子系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论