“天气预报”微服务应用提供天气预报、紫外线和天气湿度展示等功能。本节通过天气预报应用,展示了微服务架构设计理念的应用场景,以及使用ServiceStage管理运行环境、搭建流水线和治理微服务的最佳实践。
“天气预报”微服务应用由前端应用和后端应用组成。前端应用weathermapweb采用Node.js进行开发,通过Mesher技术接入微服务引擎,实现前端应用发现后端应用。
后端应用采用Java微服务开发框架实现,包括fusionweather、forecast、weather、weather-beta等微服务。其中:
fusionweather是一个聚合微服务,通过访问weather和forecast服务,提供全方位的天气预报功能。
forecast实现未来几天天气预报查询功能。
weather实现天气湿度查询功能。
weather-beta微服务是weather微服务的新版本,新增了查询指定城市紫外线情况的功能。
天气预报源码仓库地址:https://github.com/servicestage-demo/weathermap.git。各个组件使用的技术如下:
仓库分支 组件名称 采用技术 master weathermapweb Node.js fusionweather ServiceComb forecast ServiceComb weather ServiceComb
天气预报微服务应用的逻辑组网和调用关系图如下: