SpringCloud之天气预报微服务学习案例

工作中,去合作伙伴公司进行交接项目,聊起了他们公司现有的产品架构方案,说起了SpringCloud之微服务架构,感觉很不错,最近正好有空,就来研究学习下当下火热的微服务。在网上找到了很多学习资料,在此特别感谢IT界的大佬们,开源自己的学习心得和技术经验,让我们得以站在巨人的肩膀上成就自我。特别感谢尚硅谷免费学习视频教程,视频里的讲师都非常棒,也特别感谢大神waylau。本次分享也是基于waylau所讲的天气预报微服务项目,融合了在尚硅谷中所学知识。希望方便供大家参考和自己学习,有写的不好的地方请多多指教。

项目环境

  • JDK1.8
  • IDEA IntelliJ IDEA 2017.1.3

项目涉及技术

  • SpringCloud-Greenwich.SR2
  • SpringBoot-2.1.7.RELEASE
  • Mysql-5.5
  • Redis-win3.2
  • Maven-3.5
  • bootstrap4.0+Thymeleaf3.0.7
SpringCloud系列
  • Config 自动化配置中心服务
  • Eureka 服务注册与发现
  • Actuator 传播应用程序,用来进行健康监控功能,提供了很多监控所需接口
  • Hystrix 服务熔断与降级
  • HystrixDashboard 服务API监控仪表盘服务
  • Feign 声明式Web服务端
  • Ribbon 负载均衡
  • Turbine 服务API监控聚合到HystrixDashboard仪表板
  • Zuul 路由网关
  • Zipkin 链路跟踪

话不多说,效果展示

1. 项目整体思路架构图
在这里插入图片描述

2. 项目UI效果
在这里插入图片描述

3. 项目结构
在这里插入图片描述

4. 项目完成Jar包目录及脚本启动
在这里插入图片描述
在这里插入图片描述
图中所有Jar包及脚本已上传百度云盘,需要的朋友可以直接下载:链接:https://pan.baidu.com/s/1avMtkee68AADej7uGoG5SA
提取码:qm8q

运行Jar包注意事项:
1、需要先导入Mysql脚本,连接地址:localhost:3306,username: root,password: mysql
2、需要开启本地Redis,host: 127.0.0.1,port: 6379
3、需要修改系统host文件进行映射,否则Eureka服务启动和注册会出现问题
   127.0.0.1	eureka7201.com
   127.0.0.1	eureka7202.com
   127.0.0.1	eureka7205.com
4、city_server_8001、collection_server_8201会更新git上配置文件,不想更新关闭掉config_server_7001微服务即可
5、weather_demo是采用springboot做的一体天气预报系统,无需Mysql,需要Redis,配置同步骤2
6、建议机器内存8G以上
7、所有服务启动成功后,以本地为例,访问地址:
config_server_7001:http://localhost:7001/application-dev.yml

Eureka注册中心:http://localhost:7201/
               http://localhost:7202/
               http://localhost:7205/
               
city_server_8001:
         城市列表:http://localhost:8001/city/list
	   城市ID查询:http://localhost:8001/city/cityId/101280601
	 城市名称查询:http://localhost:8001/city/cityName/广州

data_server_8401:
	   城市ID查询:http://localhost:8401/weather/cityId/101280601
	 城市名称查询:http://localhost:8401/weather/cityName/深圳
	 
report_server_8601: http://localhost:8601/report/index
                    http://localhost:8601/report/cityId/101280101

Ribbon负载均衡:http://localhost:8801/weather/cityName/深圳
              刷新浏览器即可通过84018402两个cmd窗口查看效果
	 
consumer_server_8801:http://localhost:8801/city/list

zuul_gateway_server_9001:http://localhost:9001/test/rs/report/index
                          http://localhost:9001/test/consumer/city/list
                          http://localhost:9001/test/consumer/weather/cityId/101280601
						  
 Hystrix Dashboard主页:http://localhost:9201/hystrix
         操作方式请参考7图:http://localhost:8001/actuator/hystrix.stream
  Turbine,操作方式参考8图:localhost:9401/turbine.stream

zipkin-server链路跟踪效果:http://127.0.0.1:9411

5. Eureka集群效果
在这里插入图片描述

6. Feign之Ribbon负载均衡效果
在这里插入图片描述

7. HystrixDashboard监控效果
在这里插入图片描述
在这里插入图片描述

8. Turbine聚合效果
在这里插入图片描述
在这里插入图片描述

9. Zipkin链路跟踪效果
在这里插入图片描述
在这里插入图片描述
本想写下该demo开发过程博客,由于时间关系,先把源码下载地址公布出来,需要的朋友可以直接下载源码参考学习,功能简单,源码易懂,注释也比较多,后续有时间在来详细写过程。
源码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值