Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Zhostr/Spring-Cloud-Learn

Repository files navigation

Spring-Cloud-Learn

学习 Spring Cloud 搭的架子,在 README.md 文件和 commit 日志中做一些笔记。

推荐一些在线查看代码的 google 插件:TODO

Spring Cloud Config

Config Server

弃用,待删除(替换成 Nacos)

spring: 
 cloud:
 config:
 server:
 git:
 # 可以通过 HTTP 调用获取(直接在地址栏中写),/{application}/{profile}[/{label}] 或者 /{application}-{profile}.yml 等,https://cloud.spring.io/spring-cloud-static/Edgware.SR5/single/spring-cloud.html#_quick_start
 zuulconfig
 zuulconfig
 # {label} --- commit id, branch name or tag
 # 如直接访问 http://localhost:8888/eureka-client/dev 获取此 Git 仓库 的 eureka-client 目录下的 eureka-client-dev.yml 文件
 uri: zuulconfig # Git 仓库地址
 search-paths: /{application} # 仓库下的搜索目录(前面的 / 不能省略)
 force-pull: true
 username: Pliza
 password: 4fdsfs18@qqfdsfsafasdh111

config-server 仓库中新增默认的配置文件(eureka-server.yml)后,仓库中的文件如下图所示:

yml文件

再次在浏览器中访问,http://localhost:8888/eureka-client/test 或者 http://localhost:8888/eureka-client/dev ,都会显示默认的 eureka-client.yml 文件

Config Client

弃用,待删除(替换成 Nacos)

# 多环境通用配置
spring:
 application:
 name: eureka-server #first-cloud-server
 cloud:
 # 参考 http://localhost:xxxx/eureka-client/dev(格式 /{application}/{profile})
 zuulconfig
 config:
 uri: http://localhost:7777 #指定 Spring Cloud Config 配置服务器
 label: master #拉取内容的分支名,默认为 master
 profile: dev
 name: eureka-client
 profiles:
 active: ${profiles.active} #指定生效的配置,可以通过 java -jar xxx.jar --spring.profiles.active=x 指定.
management:
 security:
 enabled: false
---
server:
 port: 8761
spring:
 profiles: dev
 # 服务在启动时,会把自己当做一个 Eureka 客户端去注册到 Eureka 服务器上,且从服务器上拉取信息
 # 而该服务本身就是一个 Eureka 服务器(现在是配置 Eureka 集群,需要彼此相互注册)
eureka:
 instance:
 hostname: localhost
 client:
 # 声明是否将自己的信息注册到 Eureka 服务器上
 register-with-eureka: false
 # 是否到 Eureka 服务器中抓取注册信息
 fetch-registry: false
# serviceUrl:
# defaultZone: http://localhost:8762/eureka/
---
server:
 port: 8762
spring:
 profiles: test
eureka:
 instance:
 hostname: Zhoust
 client:
 serviceUrl:
 defaultZone: http://localhost:8761/eureka/

启动 Config Client 后,查看 env 端点,得到以下关于 ConfigService 的信息:

"configService:configClient": {
 "config.client.version": "f2fc68892a49902d4a10f7e3eb486f3d46a717cb"
},
"configService:https://github.com/Pliza/config-server/eureka-client/eureka-client-dev.yml": {
 "info.name": "Pliza666",
 "info.gender": "girl",
 "info.age": 22
},
"configService:https://github.com/Pliza/config-server/eureka-client/eureka-client.yml": {
 "info.name": "default-name",
 "info.gender": "default-boy"
},

可以看到即使在 bootstrap.yml 文件中指定了 spring.cloud.config.profile=dev(如果要是不配置的话,会使用 ${spring.application.name},观察控制台输出「Located environment」),仍旧会显示默认的 eureka-client.yml,但实际起作用的还是 eureka-client-dev.yml 中的配置信息,通过 /env/xxx 可查看具体某属性的值是多少。

#访问 Config Client 的 http://localhost:8761/env/info.*
{
 "info.name": "Pliza666",
 "info.gender": "girl",
 "info.age": 22
}

Hystrix

Whether or not your command has a fallback, all of the usual Hystrix state and circuit-breaker state/metrics are updated to indicate the command failure.

计划和 TODO

  1. 弃用 config-server module
  2. common-starter:测试包添加 java 基础回炉内容
  3. 使用阿里 Nacos
  4. Reactor 学习 demo(待完善)
  5. Spring Cloud Gateway 深入理解

About

For learning Spring Cloud

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /