使用ServiceStage托管天气预报微服务应用概述
天气预报微服务应用提供天气预报、紫外线和天气湿度展示等功能。本文通过天气预报应用,展示了微服务架构设计理念的应用场景,以及使用ServiceStage管理运行环境、构建应用和治理微服务的最佳实践。
天气预报应用由前端应用和后端应用组成。前端应用组件weathermapweb采用Node.js进行开发,实现前端应用发现后端应用。后端应用分别采用Java Chassis、Spring Cloud微服务开发框架实现,包括weather、forecast、fusionweather、weather-beta、edge-service等微服务组件。
其中:
- weathermapweb是一个基于Node.js语言开发的界面微服务。
- weather是提供指定城市当前的天气情况的微服务。
- forecast是提供指定城市未来几天天气情况预测的微服务。
- fusionweather是一个聚合微服务,通过访问weather和forecast服务,提供全方位的天气预报功能。
- weather-beta是weather微服务的新版本,新增了查询指定城市紫外线情况的功能。
- edge-service为所有其它微服务的统一入口。
天气预报各个后端应用组件详细说明请参见表1。
微服务开发框架 |
组件名称 |
---|---|
Java Chassis |
weather |
forecast |
|
fusionweather |
|
weather-beta |
|
edge-service |
|
weathermapweb |
|
Spring Cloud |
weather |
forecast |
|
fusionweather |
|
weather-beta |
|
edge-service |
|
weathermapweb |
天气预报的逻辑组网和调用关系图如下:
ServiceStage支持通过源码、软件包方式部署并接入Java Chassis、Spring Cloud微服务开发框架开发的微服务应用。
本最佳实践使用基于Java Chassis微服务开发框架开发的天气预报应用,提供了使用源码部署天气预报微服务和使用软件包部署天气预报微服务两种微服务应用部署方法,为您展示使用ServiceStage托管和治理微服务应用的能力。