项目简介
本项目是基于Spring Cloud的微服务天气预报系统,目标是提供高效、可扩展的天气预报服务。系统运用微服务架构,把天气预报相关功能拆分为多个独立微服务模块,借助Spring Cloud的组件开展服务注册、发现、配置管理与负载均衡,主要技术栈涵盖Spring Boot、Spring Cloud、Eureka、Feign、Zuul、Hystrix等。
项目的主要特性和功能
微服务模块
- 配置中心:
micro-weather-config-server
:集中管理微服务的配置。micro-weather-config-client
:从配置中心获取配置信息。- 服务注册与发现:
micro-weather-eureka-server
:进行服务的注册与发现。- 城市数据服务:
msa-weather-city-eureka
:提供城市数据查询服务。- 天气数据服务:
msa-weather-collection-server
:定时刷新城市天气预报数据并缓存到Redis。msa-weather-data-eureka
:根据城市ID和名称提供天气预报数据。- 天气报告服务:
msa-weather-report-eureka-feign-gateway-hystrix
:提供天气预报查询界面,集成Feign、Zuul和Hystrix实现服务调用和熔断保护。
技术组件
- Redis:用于天气数据的内存缓存。
- Eureka:服务注册与发现。
- Feign:声明式HTTP客户端,简化服务间调用。
- Zuul:API网关,用于请求路由和负载均衡。
- Hystrix:熔断器,保护系统免受服务故障影响。
安装使用步骤
1. 环境准备
- 安装Java 8或更高版本。
- 安装Maven。
- 安装Redis。
- 安装Eureka服务注册中心。
2. 复制项目
bash
cd spring-cloud-microservices-weather
3. 配置文件
在micro-weather-config-server
模块中配置各个微服务的配置文件,保证配置中心服务器能正确加载这些配置。
4. 启动服务
依次启动以下服务:
1. Eureka服务注册中心:
bash
cd micro-weather-eureka-server
mvn spring-boot:run
2. 配置中心服务器:
bash
cd micro-weather-config-server
mvn spring-boot:run
3. 城市数据服务:
bash
cd msa-weather-city-eureka
mvn spring-boot:run
4. 天气数据服务:
bash
cd msa-weather-collection-server
mvn spring-boot:run
5. 天气报告服务:
bash
cd msa-weather-report-eureka-feign-gateway-hystrix
mvn spring-boot:run
5. 访问服务
启动完成后,可通过API网关访问天气预报服务。例如,访问以下URL获取天气预报数据:
http://localhost:8080/report/cityId/{cityId}
其中{cityId}
为城市ID。
6. 测试
使用Postman或其他HTTP客户端工具测试各个API接口,确保服务正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】