前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud系列学习

SpringCloud系列学习

作者头像
Vincent-yuan
发布2020-12-07 10:29:45
3130
发布2020-12-07 10:29:45
举报
文章被收录于专栏:Vincent-yuanVincent-yuan
SpringCloud学习

讲述了它是什么,有什么作用,包含的一些功能, 例如服务发现,配置中心、消息总线、负载均衡、断路器、数据监控等。

以及它包含的一些核心成员,例如 Netflix Eureka, Netflix Hystrix, Netflix Zuul, Netflix Archaius , Spring Cloud Config ,

Spring Cloud Bus, Spring Cloud For Cloud Foundry,Spring Cloud Cluster, Spring Cloud Consul, Spring Cloud Secutiry,

Spring Cloud Sleuth, Spring Cloud Data Flow, Spring Cloud Stream , Spring Cloud Task , Spring Cloud Zookeeper,

Spring Cloud Connectors, Spring Cloud Starters , Spring Cloud CLI

一款开源的提供了服务注册和发现的产品。

服务中心又称为注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。

它的简单使用,集群的方式使用,及如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务的案例。

雪崩效应 在微服务架构中通常会有多个服务层的调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况, 这种现象被称为雪崩效应。服务雪崩效应是一种因服务提供者的不可用导致服务消费者的不可用,并将不可用逐渐放大的过程。 熔断器,可以实现快速失败;如果在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器, 从而防止应用程序不断尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超时产生。  熔断器也可以使应用程序能够诊断错误是否已经修正,如果已经修正,应用程序会再次尝试调用操作。

Hystrix的特性:断路器机制,Fallback, 资源隔离。熔断只是作用在服务调用这一端,即客户端。简单案例。

Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard 可以使我们直观的看到各Hystrix Command的请求响应时间,请求成功率等数据。

但是,通过Hystrix Dashboard 只能看到单个应用内的服务信息,这明显不够。我们需要一个工具能让我们汇总系统内多个服务的数据

并显示到Hystrix Dashboard上,这个工具就是Turbine.

Hystrix Dashborder 和 Turbine的使用。

Spring Cloud Config项目是一个解决分布式系统的配置管理方案。

包含Client和Server两个部分,Server提供配置文件的存储、以接口的形式将配置文件的内容提供出去。

Client通过接口获取数据,并依据此数据初始化自己的应用。

Spring Cloud 使用git或svn存放配置文件,默认是git.

使用git方式创建配置中心示例。

前面的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。

但是,这样会有客户端和服务端耦合性太高的问题,不符合spring cloud服务治理的理念。

spring cloud提供这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,

clientdaunt去eureka中获取配置中心server端的服务即可。

加入eureka实现服务化,以及配置中心使用集群实现高可用的示例。

  • Spring Cloud之配置中心和消息总线(配置中心最终版)

之前讲过,如果客户端要获取最新的配置信息需要执行 refresh,

我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,

但是客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不合适了。

使用Spring Cloud Bus可以完美解决这一问题。

Spring Cloud Bus通过轻量消息代理连接各个分布的节点。

Spring Cloud Bus的一个核心思想是通过分布式的启动器对Spring Boot的应用进行扩展,也可以用来建立一个多个应用直接的通信频道。

本质是利用了MQ的广播机制在分布式系统中传播消息,目前常用的有Kafka和RabbitMQ。

使用示例

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringCloud学习
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档