项目简介
本项目是基于Spring Cloud框架构建的天气预报系统,可提供实时的天气数据查询和展示服务。借助微服务架构,系统能高效处理天气数据的采集、存储、查询与展示。项目包含数据采集、存储、天气预报展示等多个微服务模块,集成了Eureka服务注册与发现、Feign客户端、Zuul网关、Redis缓存等技术。
项目的主要特性和功能
- 微服务架构:采用Spring Cloud框架,各服务独立运行,便于扩展和维护。
- 数据采集:通过定时任务和HTTP请求从外部API获取天气数据,并存储于Redis缓存。
- 数据查询:提供基于城市ID和城市名称的天气数据查询接口,支持实时与缓存查询。
- 天气预报展示:通过前端页面展示温度、湿度、风速、空气质量等天气预报信息。
- 服务注册与发现:使用Eureka作为服务注册中心,实现服务自动注册与发现。
- API网关:通过Zuul网关统一管理API请求,具备路由、监控和弹性管理功能。
- 配置中心:使用Spring Cloud Config实现配置的集中管理和动态刷新。
- 熔断机制:集成Hystrix,实现服务的熔断和降级,提升系统稳定性与可靠性。
安装使用步骤
前提条件
- JDK 8
- Maven
- Redis
- Eureka Server
- 已下载本项目的源码文件
步骤
- 复制项目:(此处原文未给出复制命令,可根据实际情况补充)
- 导入项目:使用IDE(如IntelliJ IDEA或Eclipse)导入项目,选择Maven项目。
- 配置Redis:确保本地或远程Redis服务已启动,并在项目配置文件中配置Redis连接信息。
- 启动Eureka Server:启动Eureka服务注册中心,确保所有微服务能注册到Eureka。
- 启动微服务:依次启动以下微服务:
msa-weather-collection-server
:天气数据采集服务msa-weather-data-server
:天气数据API服务msa-weather-report-server
:天气预报展示服务msa-weather-city-server
:城市数据API服务msa-weather-eureka-server
:Eureka服务注册中心msa-weather-eureka-client-zuul
:Zuul API网关- 访问天气预报系统:打开浏览器,访问
http://localhost:8080/report/cityId/{cityId}
,其中{cityId}
为城市ID,即可查看该城市的天气预报信息。 - 测试:使用Postman或其他HTTP客户端工具,发送GET请求到
/weather/cityId/{cityId}
或/weather/cityName/{cityName}
,验证天气数据查询接口的正确性。
配置文件
在application.properties
或application.yml
中配置以下信息:
- Redis连接信息
- Eureka服务注册中心地址
- 其他微服务的端口和路径
示例请求
- 查询城市ID为101280601的天气数据:
bash GET http://localhost:8080/weather/cityId/101280601
- 查询城市名称为"深圳"的天气数据:
bash GET http://localhost:8080/weather/cityName/深圳
通过以上步骤,可成功运行并使用本天气预报系统。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】