spring cloud 学习笔记
第一节
基础环境
一个注册心(eureka)
一个服务(hello world)
两个消费者(restTemplate+ribbon, feign)
备注
默认情况下, eureka会开户自我保护机制, 这时是不会移除服务的
背景是, 如果在eureka网络不稳定的情况, 移除注册的服务, 很可能存在其实这个服务是稳定的
这种设计, 本人感觉更像是实验室应用, 而不是真正的分布式高并发应用策略, 当然了, eureka可以关闭自我保护机制, 设定过期更新时间, 但目前没能按设计好的5秒更新
自我保护模式被激活的条件是:在 1 分钟后, Renews (last min) < Renews threshold
eureka:
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 5000
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
第二节
熔断器
正常通过访问
httpclient -> ribbon -> eureka client 135ms
添加断路器hystrix后,1035ms
httpclient -> feign -> eureka client 142ms
添加断路器hystrix后,1029ms
zuul
zuul 使用ribbon作为http访问引擎
zuul - ribbon 150ms
zuul - feign 137ms
zuul - ribbon(熔断)1024ms
zuul - feign(熔断)1011
zuul - ribbon 之间的timeout
或
zuul - feign 之间的timeout
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 10000
而不是
host:
connect-timeout-millis: 10000
socket-timeout-millis: 10000
备注
服务起来, 关掉eureka, zuul路由里仍然可以使用
SERVICE-RIBBON
SERVICE-HELLOWORLD
这种spring.application.name(serviceId)的方式访问
第三节
配置中心
文件名规则 xxx-dev.properties
或
xxx-xxx-dev.properties
已知 dev, product, test
例子:
服务端配置文件application.properties
#使用本地属性文件
spring.profiles.active=native
#属性文件地址,只要指定文件夹的路径
spring.cloud.config.server.native.searchLocations=classpath:/config/
配置文件1
config-client-dev.properties
url=dev-123
env.name=dev
env.password=dev123456
配置文件2
config-client-product.properties
url=product-123
env.name=product
env.password=product123456
客户端配置application.yml
spring.application.name:config-client
spring.cloud.config.profile:dev
进一步发现, 其实规则是xxx-xxx-xxx-xxxx.properties都可以,从后往前推
如
服务端
d-c-b-a.properties
对应客户端
spring.application.name:d-c-b
spring.cloud.config.profile:a
访问地址:
http://localhost:8888/d-c-b/a
或
http://localhost:8888/d-c-b-a.properties
进一步发现, 其实规则是xxx-xxx.properties对应的profile可以忽略,这时候profile可以是任意值
如
服务端
com-dataSource.properties
对应客户端
spring.application.name:com-dataSource
#其实这里写不写都可以
spring.cloud.config.profile:dev
访问地址:
http://localhost:8888/com-dataSource
或
http://localhost:8888/com-dataSource/dev
或
http://localhost:8888/com-dataSource/proc
或
http://localhost:8888/com-dataSource/test
或
http://localhost:8888/com/dataSource
或
http://localhost:8888/com-dataSource.properties
如图:
这是个潜在bug,所以在命名规则设计时,一定要文档约束,
推荐以下方式
config-client-dev.properties
config-client-test.properties
config-client-product.properties
然后以
http://localhost:8888/config-client-dev.properites
和
http://localhost:8888/com-dataSource/dev
http://localhost:8888/com-dataSource/test
方式来访问,以便区别dev,test,product环境
官方配置文件访问方式
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
注意config-server与config-client之间的关系不是实时更新的
config-server启动后读取文件
config-client启动后,远程读取config-server自己工程的配置文件,然后自己保存副本,不会随着config-server更新而更新
想要config-client不重启更新的话,需要引入Spring Cloud Bus
- 大小: 71.6 KB
- 大小: 53.2 KB
分享到:
相关推荐
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
狂神springcloud学习笔记加代码 笔记可以看:https://www.kuangstudy.com/bbs/1374942542566551554#header4 视频链接:https://www.bilibili.com/video/BV1jJ411S7xr
Spring Cloud 学习入门笔记,全方面实践,包含 spring cloud alibaba 模块
去年工作之余,系统学习整理了一遍springBoot,SpringCloud,文档中有学习的代码仓库,springCloud的每一个组件整理,组件使用案例等等,1积分意思一下啦
springcloud学习笔记.pdf
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格...
springCloud学习笔记.zip
最新版Spring Cloud 学习笔记,从入门到精通,小白到资深的学习资料
本套教程为本人学习springcloud的学习教程,设计到eureka,config,zuul,ribbon,feign,hystrix等等各个模块的学习以及搭建.本教程内容比较粗浅,也包括我搭建项目时候踩过的各种坑,欢迎吐槽
SpringCloud学习笔记(十一)微服务项目结构搭建 代码包,只使用于本章,仅供参考。
有关springCloud架构的学习课程,共包含1份课程介绍和8篇课程,适合对该技术有兴趣的初学者学习之用。
SpringCloud学习笔记(十)声明式客户端Feign的简单调用 文章中的代码包。仅适用于本章,仅供参考。
尚硅谷发布的周阳老师讲授的SpringCloud,讲的非常好,这个是有配置中心版本的,网上的好多是没有配置中心部分的。深入简出了解SpringCloud第一季核心技术,这个是本人在学习时亲手整理的笔记,希望对大家有帮助。
SpringCloud学习笔记1. maven父子项目父工程配置新项目,maven,父工程名称字符编码,设置,编辑器文件编码注解功效激活java编译选择1.8 文件类型文件过滤删除掉父工程下的src,只保留一个pom.xml父工程的pom.xml...
自己学习springcloud跟着老师敲得代码,少了steata部分分两次上传
黑马程序员-SpringCloud-学习笔记01-认识微服务
springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记 springcloud学习笔记
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
spring配置文件、配置文件读取、helloworld,自学一二三笔记demo,直接运行参考学习。
又写了一部分内容,接着第三次内容完善了以前错误