由于原项目目前已经平稳线上运行2年时间,考虑现有iOS以及Android两端已经正常运行,初步考虑使用最小的代价进行迁移,最好做到iOS/Android只进行服务地址更改,这样可做到风险以及代价最小最优!
具体迁移重点:
由于iOS以及Android目前均使用http协议进行服务请求,且请求方式均为post,post数据具有以下要求:
- Content-Type 为:application/x-www-form-urlencoded
- post数据均为Json字符串,且key值固定为:Content 值为json字符串
- 每个Api支持对应SC/SV校验
因此,在使用SpringBoot重构之后,必须同样满足现有需求: - post方式不变
- 接收参数固定为Content
- 支持SC/SV校验,且校验统一提供,不能够有每个单独的Controller方法重复验证
底层数据驱动
由于当前项目支持底层数据存储有:SqlServer、Redis、Mongodb、AzureStorage
因此新项目需同步支持以上数据存储,且提供出相应的数据访问驱动;
日志、异常
由于之前服务相应Api请求会记录日志,需记录请求Api标识、请求参数、请求时间、返回值、返回时间等信息,因此重构后的项目依然要做到日记记录,且保证每次请求以及处理完成后保证日志为同一条,便于查询!
之前项目会统一记录日常信息,便于开发者查看异常日志,因此新架构项目同样需提供一个全局异常处理类,便于记录异常信息;
计划/周期任务
原项目中包含一个比重相对重要的功能即为:计划任务,且计划任务具有可持久性和分布式,因此新架构必须保证能够具有相对完美的解决方案来处理计划任务以及周期性任务;