微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

12306NG 开源项目群定义与发展建议

转自:http://12306ng.org/thread-1140-1-1.html


12306NG价值观

   不抱怨,去改变,从我做起
   聚集民间智慧,推动社会进步
   中国经济已经从资源争夺转向技术驱动,属于程序员的时代来了

  “Talk is cheap,show me some code”

综述
12306NG项目的初衷是帮助改进12306.CN网站的用户体验,具体见: http://12306ng.org/thread-726-1-1.html 。项目的发起者希望该项目能提供基于互联网的高并发、大流量的交易网站架构。
12306NG实行委员会指导下的项目经理负责制度。委员会目前还在筹备中,项目经理正在招募。本文档重点界定各项目的目标,方便大家报名参与各个子项目。
顺便说明,项目组织架构(见 http://12306ng.org/thread-1084-1-1.html )中,专家团包括业务专家和技术专家,主要起到咨询、顾问的作用,为大家答疑解惑。秘书组则是本项目的支持机构,包括工具、文档、会议召集、社区发展、法务、PR等,请有兴趣的非技术类的热心志愿者报名参与。
鉴于原有客票系统已演化到6.0版,并同时涉及电话、售票点、互联网等多渠道售票,系统复杂,根据项目初始团队的充分讨论,见: http://12306ng.org/thread-956-1-1.html 拟以以下图示方式,逐层解决12306网 站现有问题。
                              

据此,此次共开设以下10个子项目:
1、  业务网关,LegacySystemGateway
2、  票池PoolManager
3、  基于MysqL的分布式数据库中间件Ngsql
4、  黄牛判断,恶意流量判定,TrafficFilter
5、  统一用户认证系统Passport
6、  交易网关TransactionGateway
7、  服务网关ServiceGetway
8、  Web订票系统,12306Ng.CN
9、  Android订票客户端,12306NG for Android
10、iOS订票客户端,12306NG for iOS
各个子项目将分别招募项目负责人,在项目委员会指导下,独立开展各个子项目的工作。
业务网关,LegacySystemGatewayNgLSG
NgLSG是与原有业务系统通讯的协议层,主要设计要求:
1、  定义与业务层交互的数据协议、接口协议
2、  按照业务系统的SLA(可配置)与业务系统交互
3、  对前端提供Service
4、  能够承受来自前端的海量请求
5、  可水平扩展
票池PoolManager,NgPM
NgPM实现以下需求:
1、  接受来自业务网关的批量票源,以初始化余票模型
2、  按照业务规则,对前端提供订票、退票、改签等服务
3、  维护一个余票模型,智能地进行余票管理
4、  优化数据结构,采用分布式处理技术
5、  建议基于RedistNgsql优化性能
6、  能够承受来自前端的海量交易请求
7、  可水平扩展
基于MysqL的分布式数据库中间件Ngsql
Ngsql提供一个分布式数据库中间件,她实现了:
1、  可管理、可配置的、支持一致性HashMysqL集群
2、  对应用提供类似单一实例的MysqL服务
3、  解决其它模块涉及到的分布式数据存储、交易问题
4、  可水平扩展
黄牛判断,恶意流量判定,TrafficFilterNgTF
NgTF负责恶意流量、恶意用户的判定,过滤之,以提升流量质量、从而提升用户体验。
统一用户认证系统Passport,NgSSO
NgSSO提供提供统一用户登录验证接口。
交易网关TransactionGateway,NgTG
NgTG实现以下需求:
1、  对前端提供订票交易服务
2、  根据交易请求向业务网关或票池请求交易
3、  支持多种交易请求提交模型,如序列式、摇号式、预约式
服务网关ServiceGetwayNgSG
NgSG是所有提供对外服务的模块依赖的一个组件,她实现:
1、  管理各个服务(WebService)SLA
2、  管道化或队列化服务请求,按照SLA提交
3、  支持水平扩展,可承受海量服务请求
Web订票系统,12306Ng.CN
1、  该模块直接调用其它模块提供的服务
2、  实现了查询、订票、预订、注册登录功能
3、  可考虑支持旅行线路计划
4、  界面友好,操作方便,用户体验好
Android订票客户端,12306NG for Android
Web功能的客户端实现。
可根据Andriod特点提升用户体验。
iOS订票客户端,12306NG for iOS
Web功能的客户端实现。
可根据iOS 特点提升用户体验。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐