论文部分内容阅读
外卖作为人们日常生活的高频次需求,急需互联网思维来改造这个产业,以便人们享受更好的外卖服务,商家获得额外的利润,因此外卖O2O应运而生。外卖连接商户与用户,而我们这里主要描述用户端的外卖解决方案。作为一个强地理位置属性的业务,通过手机寻找附近外卖是天然的需求。外卖的手机app与其他app有着截然不同的要求,我们面临着地理位置体验、商家配送范围的界定和活动营销推广的问题。本文针对地理位置体验设计了一套可随时热切换、迅速降级的地图方案,满足了用户使用场景中的地理位置需求。针对商家配送范围,我们采用了在地图上绘制多边形的方案,并解决了相关判定用户位置否在配送范围内的问题。针对活动营销这样一个规则复杂多变的业务领域,设计了一套易于扩展、高度灵活的方案。技术架构上采用了mobile-shell、spring、ibatis框架,使用标准的三层结构,并在表示层使用了MVC模式的设计思想。系统深度结合了互联网企业常用的中间件服务,保证了系统的性能、可用性和扩展性。本文方案亦可用于O2O其他业务领域。业务场景的相似性是可用的基础;其次通过日常监控数据可以看到本系统的各个服务接口平均响应时间保持在50ms内,性能高;可扩展性好,可以迅速扩展功能,添加业务平台;完善的降级方案保证了系统99.99%的可用性。本文首先介绍了外卖背景,然后是项目开发过程中使用的各项技术,主要是框架和中间件。紧接着明确了项目的需求并根据需求完成项目的设计,需求的内容包括功能性需求、非功能需求以及用例分析,设计内容包括系统架构设计和策略、数据库设计等。之后,本文详细介绍了系统各个模块的具体实现,对涉及的算法有详细的描述。最后,总结了整个项目的不足和进一步的展望。