1.微服务划分
- 天气数据采集界限(数据采集,数据存储),天气预报(数据展示),天气数据API(数据查询),城市数据API(数据查询)
- 现有的弊端:大而全而难
- micro-weather-report拆分:
msa-weather-collection-server、
msa-weather-data-server、
msa-weather-city-server、
msa-weather-report-server
- 系统的数据流向:第三方==(天气数据采集微服务A)》数据存储,天气数据采集微服务A又从城市数据API获取城市列表,采集相应城市
- 系统的通信设计:
- 第三方,GET:http://wthrcdn.etouch.cn/weather_mini?citykey=101280601
- 天气数据接口:GET /weather/cityId/{cityId}
- 城市数据接口: GET /cites
- 系统的存储设计
- NoSql:Redis
- XML,比数据库简单,城市列表不会变的静态数据,根据场景选择的,只有合适否
2.天气数据采集微服务实现
- 配置:JDK 8+,Redis 3.2.100,Apache HttpClient 4.5.3,Spring Boot Web Start,Spring Boot Redis Start,Spring Boot Quartz Start,Quartz Schedule
- copy生成msa-