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 中的微服务架构搭建。下面是本笔记的详细知识点总结: 一、单体架构 单体架构是指整个系统只有一个工程,打包往往...
【SpringBoot核心特性】 SpringBoot是Spring框架的一个扩展,它旨在简化Spring应用程序的开发过程,...这份学习笔记涵盖了SpringBoot的基础特性和SpringCloud的负载均衡实践,对于深入理解这两个技术有极大的帮助。
Spring Cloud是一套微服务架构下的分布式系统解决方案,提供了在分布式系统环境下快速构建一些常见模式的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式...
《SpringCloud学习笔记详解》 SpringCloud作为微服务架构中的热门框架,被广泛应用于大型分布式系统开发中。本文将基于“springcloudtext_springcloud学习笔记”这一主题,结合提供的压缩包文件,深入探讨Spring...
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格...
本学习笔记主要探讨微服务架构及其在Spring Cloud中的实现。 首先,我们从系统架构的演变开始,了解从单体应用到微服务架构的转变。单体应用架构是早期常见的设计,所有功能代码部署在一起,适合小型项目,但随着...
在“springcloudtext (3)_springcloud学习笔记4_”中,我们可以推测这是作者对SpringCloud的深入学习过程中的第四部分笔记,这部分笔记可能涉及到SpringCloud的更新和完善,特别是针对之前笔记中的错误进行了修正。...
无论做毕业设计还是用于学习技能,或工作中当做参考资料,都能发挥重要作用 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人花大量时间整理出的实战资料,内容丰富,文档也很详细。无论...
通过阅读 `springCloud学习笔记.md` 文件,你可以深入理解 Spring Cloud 的工作原理和实践技巧,这对于构建健壮的分布式系统是至关重要的。此外,你还可以学习如何结合 Spring Boot 的优势,快速搭建和管理微服务...
SpringCloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
SpringCloud学习手册是一个针对微服务架构的资源包,主要涵盖了SpringCloud的相关知识,适用于初学者。SpringCloud作为Java领域中的主流微服务框架,为开发者提供了构建分布式系统所需的工具和服务发现、配置管理、...
在本篇SpringCloud学习笔记中,我们将探讨微服务项目结构的搭建,这通常是任何基于SpringCloud的大型分布式系统开发的第一步。SpringCloud作为一个强大的微服务框架,提供了多种工具和服务来帮助开发者构建、配置和...
在学习Spring Cloud的过程中,可以按照以下几个方面进行系统性的整理和笔记记录: 1. **基础概念和架构**: - 了解微服务架构的基本概念和Spring Cloud的核心组件,如Eureka、Ribbon、Feign、Hystrix、Zuul、...
【尚硅谷周阳老师SpringCloud笔记】是一份深入学习SpringCloud技术体系的教程资源,由知名教育机构尚硅谷的周阳老师编撰。SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记...
尚硅谷发布的周阳老师讲授的SpringCloud,讲的非常好,这个是有配置中心版本的,网上的好多是没有配置中心部分的。深入简出了解SpringCloud第一季核心技术,这个是本人在学习时亲手整理的笔记,希望对大家有帮助。
SpringCloud学习笔记1. maven父子项目父工程配置新项目,maven,父工程名称字符编码,设置,编辑器文件编码注解功效激活java编译选择1.8 文件类型文件过滤删除掉父工程下的src,只保留一个pom.xml父工程的pom.xml...
黑马程序员-SpringCloud-学习笔记01-认识微服务