一个天气的微服务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

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

























一个天气的微服务springcloud的更多相关文章
- 微服务SpringCloud之配置中心和消息总线
在微服务SpringCloud之Spring Cloud Config配置中心SVN博客中每个client刷新配置信息时需要post请求/actuator/refresh,但客户端越来越多时,,需要每 ...
- Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构
Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...
- 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...
- 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...
- 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」05服务消费者Fegin
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」04服务消费者Ribbon+RestTemplate
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
随机推荐
- 深入理解java虚拟机---java虚拟机内存管理(七)
本地方法栈.java堆.方法区 本地方法栈在HotSpot版本内与java虚拟机栈是合二为一的.不单独区分本地方法栈.但是java虚拟机中是有这样一块区域的. 作用: 1.本地方法栈为虚拟机栈执行ja ...
- DevExpress v18.1新版亮点——Analytics Dashboard篇(二)
用户界面套包DevExpress v18.1日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress Analytics Dashboard v18.1 的新功能,快 ...
- Spring实现Ioc的多种方式--控制反转、依赖注入、xml配置的方式实现IoC、对象作用域
Spring实现Ioc的多种方式 一.IoC基础 1.1.概念: 1.IoC 控制反转(Inversion of Control) IoC是一种设计思想. 2.DI 依赖注入 依赖注入是实现IoC的一 ...
- system v ipc的标识符ID
system v ipc对象是靠标识符ID来识别和操作的,具有系统唯一性.意思就是说,该ID是操作系统内的全局变量,只要具有权限,任何进程都可以通过标识符进行进程间的通信.获取标识符ID的函数为int ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- Day20作业及默写
1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...
- 插件化DPI在商用WIFI中的价值
插件化DPI是指DPI(深度包检测)技术以插件/模块的方式嵌入到各种网络设备中,是一种新型轻量级资源消耗的互联网技术,由迈科网络(股份代码:430575)独创开发. 插件化DPI(深度包检测)技术服务 ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6152 Friend-Graph(暴力搜索)
题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=6152 Problem Description It is well known that small ...
- Java包、类、数据类型、表达式和标识符
1.基本数据类型 类型名称 类型长度 取值范围 byte 8位(1字节) -128~127 short 16位(2字节) -32768~32767 int 32位(4字节) -2147483648~2 ...
- Opencv-Python 图像透视变换cv2.warpPerspective
# -*- coding:utf-8 -*- import cv2 import numpy as np import sys img = cv2.imread('test.jpg') # cv2.i ...

