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

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

一个天气的微服务springcloud的更多相关文章

  1. 微服务SpringCloud之配置中心和消息总线

    在微服务SpringCloud之Spring Cloud Config配置中心SVN博客中每个client刷新配置信息时需要post请求/actuator/refresh,但客户端越来越多时,,需要每 ...

  2. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构

    Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...

  3. 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  4. 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  5. 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  6. 「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  7. 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  8. 「 从0到1学习微服务SpringCloud 」05服务消费者Fegin

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  9. 「 从0到1学习微服务SpringCloud 」04服务消费者Ribbon+RestTemplate

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

随机推荐

  1. 修改placeholder的值---input-placeholder

    input-placeholder .box::input-placeholder 目前所有的浏览器都要加前缀 .box::-webkit-input-placeholder{ color: agba ...

  2. String和StringBuffer互相转换

    String:不可变 StringBuffer:可变 StringBuffer 上的任何修改性的操作都是在同一个字符数组上进行的,所以修改其中任一个值 另一个的值也会随着改变! StringBuffe ...

  3. 在MATLAB中安装MinGW-w64 C/C++ 编译器的方法

    reference:http://blog.sina.com.cn/s/blog_167bbdec10102x113.html 在MATLAB中编译C/C++ 文件时出现以下情况: 说明缺少MinGW ...

  4. innerHTML和innerText的区别,以及select元素中怎么取出被选中的option。

    一.innerHTML和innerText的区别. 元素.innerHTML = 字符串,是将一对或一个标签所标识的内容全部替换为所赋予的字符串,如果字符串中有标签,浏览器将自动识别其中的标签. 元素 ...

  5. mod_fcgid: HTTP request length 136136 (so far) exceeds MaxRequestLen (131072)

    原来是fastcgi模式下的设置问题,需要在配置文件.htaccess或者直接在apache的配置文件http.conf 中指明,如下: 查看官方说明有这么一句:Default: FcgidMaxRe ...

  6. HTTP、TCP、IP、协议

    HTTP(HyperText Transfer Protocol) 即超文本传输协议,现在基本上所有web项目都遵从HTTP协议(协议就是一种人为的规范). 目前绝大部分使用的都是HTTP/1.1版本 ...

  7. Java Editplus编译环境配置

    java jdk 安装win10 配置:此电脑--属性--高级系统设置--环境变量--系统变量-->新建--变量名--JAVA_HOME 变量值--浏览目录--jdk安装路径jdk...--&g ...

  8. python day12 ——1.生成器2.生成器表达式 3.列表推导式

    一.生成器 什么是生成器. 生成器实质就是迭代器. 在python中有三种方式来获取生成器: 1. 通过生成器函数. 2. 通过各种推导式来实现生成器 . 3. 通过数据的转换也可以获取生成器. 1. ...

  9. ES6 let和const 的相同点与区别

    相同点: 1. 一旦声明 值不能再改变,即不能重复声明. 2.不存在变量提升. 3.都存在暂时性死区. 不同点: 1.const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化 ...

  10. php 怎样将有范围的ip转化为整型范围

    php中将IP转换成整型的函数ip2long()容易出现问题,在IP比较大的情况下,会变成负数.如下: <?php $ip = "192.168.1.2"; $ip_n = ...