一个天气的微服务springcloud

1.开发环境 jdk8  和 gradle 4.

---------------搭建一个天气预报系统

 

1.bootstrap就是一堆样式文件,首先有html标签,然后加上各种样式以后就变得好看了
2.js文件通常放在static文件夹下,因为它加载比较慢所以是这样的操作
3.thmelef他类似jsp的模板
------------------------------Spring Cloud的拆分方法

 PS:驱动设计原则

 

PS:
服务发现:去服务注册表中调用服务
统一入口:根据入口的名称找服务
配置管理:为了管理多个服务
熔断机制:对系统的防护,比如访问量过大,可以切断访问,防止自己崩溃掉
自动拓展:符合突然增大,可以动态拓展

 

 

PS:是一家美国视频公司,开源自己的组件

 

 

PS: 注意点
1.要先启动服务端,再启动四个客户端

 

 

PS:s他是基于客户端的负载均衡工具,可以基于http和tcp;  ribbon提供服务消费

 

  服务之间的相互调用

PS : 声明式web服务客户端

1.开启EurekaServer,  开启另一服务(比如城市), 通过建立接口进行访问

PS: 建立本地的Controller

PS:修改配置文件

 

PS:管理所有的api,形成api统一的入口

 

 1.

PS : 开启Eureka Server,开启Eureka  Client;可以直接访问hello;   测试的时候配置的是hi/hello ,然后被代理转发了

简单的说,就是开启三个服务,server,client,zull调用

 --------------

 PS: Zull其实为了方便的 地址请求

-------------------------------------------------------------------

 

PS: 指定一个固有的git仓库; 然后该仓库下的一个路径;   这个就是配置中心

PS: 会报错,不要在意,没有启动Eureka  Server

 

PS: 拿到了config的配置在github的  配置内容

 PS: 当请求太大的时候,我自己把切断请求

PS: 上图是azure提供的断路器, 正常的时候 断路器是关闭的状态,服务正常提供;当失败很多的时候,超过阀值 断路器就会打开,异常信息直接响应改用户。

    半打开是比如刚断路器关闭的时候,大量服务过来导致服务再次失败。  然后在中间起到缓冲的作用

PS: 上图是Hystrix  提供的解决方案,失败给提示失败响应

 

---测试

1.启动Server

2.启动城市服务

断开城市微服务,提示断路器数据

PS: 用一个fallback实现类,实现异常

--------------------测试

1.启动Eureka Server 、redis

2. conllection启动

PS:启动两次Conllection

 PS: 两次data

PS:两次city

PS:两个report

PS: zulll聚合网关

 

 PS : 从新采集一把数据, 不然redis中没数据

 PS:关闭8085和8086,发现只有两个地方了,这就模拟出来了错误

 PS: 杀死8087和8088

 

---------------------------------------------------------------------------------------------------------------------------

 

 

原文地址:https://www.cnblogs.com/bee-home/p/9970794.html