Skip to content

jk349262999/Example-SpringCloud

Repository files navigation

SpringCloudStudy

SpringCloud-Example研究测试

模块解释

eureka-server 注册中心

  • eureka-server
  • 集群启动
    • java -jar target/eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
    • java -jar target/eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
    • java -jar target/eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3

eureka-producer 生产者

  • eureka-producer
  • 集群启动
    • java -jar target/eureka-server-0.0.1-SNAPSHOT.jar --config.producer.instance=1 --server.port=8001
    • java -jar target/eureka-server-0.0.1-SNAPSHOT.jar --config.producer.instance=2 --server.port=8002

eureka-consumer 消费者

测试三种web服务客户端(LoadBalancerClient、Ribbon、Feign)


hystrix 服务容错保护

使用feign加入hystrix
通过服务降级、资源隔离、断路器方式来防止服务不可用


Hystrix 监控面板

只测试了单节点监控,集群需要加入Turbine,未测试


config-server-git 配置中心(Git 版与动态刷新)

使用配置中心远程读取github上的配置文件

  • config-server-git
  • 构建了 config-server,连接到 Git 仓库
  • 在 Git 上创建了一个 config-repo 目录,用来存储配置信息
  • java -jar target/config-server-git-0.0.1-SNAPSHOT.jar --server.port=12000
  • java -jar target/config-server-git-0.0.1-SNAPSHOT.jar --server.port=12001

config-client 配置中心客户端(Git 版与动态刷新)

  • config-client
  • 构建了 config-client,来获取 Git 中的配置信息
  • 在 config-client 中开启了 Refresh,动态刷新配置信息

config-server-bus配置中心(bus动态刷新)

  • config-server-bus
  • 此实例集成配置中心、git远程资源库、bus
  • 通过刷新来控制bus进行消息群体推送
  • 可集群启动
  • 刷新配置命令
    • 整体刷新命令curl -X POST http://localhost:13000/actuator/bus-refresh/
    • 局部刷新命令curl -X POST http://localhost:13000/actuator/bus-refresh/{destination}
    • destination 参数来定位要刷新的应用程序,例如/actuator/bus-refresh/config-client-bus:13000,如果要刷新特定的微服务config-client-bus:**


config-client-bus配置中心(bus动态刷新)


gateway-zuul网关(Zuul)


分布式链路跟踪 Sleuth与Zipkin

  • sleuth
  • Sleuth
    • 为服务之间调用提供链路追踪,然后存储到Zipkin
    • 提供内容
      • 耗时分析:通过 Sleuth 可以很方便的了解到每个采样请求的耗时,从而分析出哪些服务调用比较耗时
      • 可视化错误:对于程序未捕捉的异常,可以通过集成 Zipkin 服务界面上看到
      • 链路优化:对于调用比较频繁的服务,可以针对这些服务实施一些优化措施
  • Zipkin

服务网关 Gateway

  • gateway
  • 路由,配置见README > routes配置
  • 过滤
  • 限流
  • 集成Hystrix


教程

1. 服务提供与调用 Eureka

  1. 配置host,为了注册中心集群

127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3

  1. 集群启动注册中心 eureka-server 注册中心
  2. 集群启动生产者 eureka-producer 生产者,修改配置文件指向集群Eureka
  3. 启动消费者 eureka-consumer 消费者,修改配置文件指向集群Eureka
  4. 访问消费者-LoadBalancer http://localhost:9000/LBCHello/index?name=jason
  5. 访问消费者-Ribbon http://localhost:9000/RibbonHello/index?name=jason
  6. 访问消费者-LoadBalancer http://localhost:9000/FeignHello/index?name=jason

2. 服务容错保护 Hystrix

3. 配置中心(Git 版与动态刷新、bus动态刷新)

4. 服务网关 Zuul

5. 链路追踪 sleuth

6. 网关gateway

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages