Spring Cloud
好好生活_
这个作者很懒,什么都没留下…
展开
-
【Spring Cloud】Hystrix实现服务保护
【学习背景】隔了很长一段时间,没有更新Spring Cloud系列博客了,最近一直在看《重新定义Spring Cloud实战》一书,发现书中写了一些深层次的东西,对于之前自己有学习的一些组件,如Eureka、Feign、Ribbon等,在看书的过程中,又有了很多新的收获。所以,还是想继续把其他的一些组件学习下,本篇博客学习的组件是Hystrix。【学习内容】一. 什么是Hystrix?Hy...原创 2019-04-19 23:21:58 · 321 阅读 · 0 评论 -
【Spring Cloud】Eureka相关组件总结
【学习背景】 在前面的Spring Cloud系列学习文章中,把几个重要的组件总结并搭建了相关的demo,对于应用来说,基本上知道该如何集成了。 但仅仅停留在应用方面,是远远不够的,对于其中的原理及源码,有时间也是需要学习一下。本篇博客先简单地开个头,总结下Eureka注册中心中的相关组件,也是了解原理...原创 2019-05-12 00:55:07 · 523 阅读 · 0 评论 -
【Spring Cloud】集成Apollo分布式配置中心
【学习背景】 在上一篇博客中,学习并实践了Spring Cloud管理配置文件的组件Config,也用不同方式实现其刷新机制。而对于分布式配置中心,除了Spring Cloud Config,如Apollo、Disconf等,也都可以帮助我们实现分布式配置管理的功能。本篇博客就将实现Spring Cloud应用与Apollo分布式配置的集成。【学习...原创 2019-05-01 07:39:30 · 6496 阅读 · 1 评论 -
【Spring Cloud】学习和搭建Config分布式配置中心
【学习背景】 上篇博客学习的是Spring Cloud的Hystrix组件,从而保证在高并发情况下,在使用服务熔断、服务降级、服务隔离等方法,避免服务雪崩效应。本篇博客学习的组件是Config,分布式配置中心。【学习内容】一. 为什么要使用分布式配置中心? 在微服务中,如果使用传统方式管理配置文件,...原创 2019-04-25 11:16:37 · 355 阅读 · 1 评论 -
【Spring Cloud】Eureka Server源码解析
【学习背景】 在上篇文章中,分析了Eureka Client的源码,核心类是DiscoveryClient,完成了Client端的主要工作。本篇博客接着分析Eureka Server端。【学习内容】 ...原创 2019-05-26 13:21:08 · 991 阅读 · 1 评论 -
【Spring Cloud】刷新config配置文件信息的实现
【学习背景】 在前面一篇博客中,搭建了配置中心的demo,实现各服务配置文件的统一管理。但其实,存在这样一个问题:默认情况下并不能及时的获取实时变更的配置文件信息,而需要重启服务。所以,本篇博客主要解决上述问题,实现配置文件的修改,可以不重启服务,获取到最新的配置文件信息。【学习内容】1. 实现方法  ...原创 2019-04-26 10:20:25 · 809 阅读 · 1 评论 -
【Spring Cloud】声明式Feign客户端调用工具
【学习背景】通过前面的总结学习,我们可以回想下,是通过什么方式做到服务间的调用的?答案是:Ribbon+RestTemplate,且通过@LoadBalanced注解实现了客户端的负载均衡。本篇博客将介绍另一种调用方式,Feign。Feign也使用了ribbon,只要使用@FeignClient时,ribbon就会自动使用。【学习内容】1. Feign框架介绍Feign 是一个声明web服...原创 2019-02-15 17:36:42 · 506 阅读 · 0 评论 -
【Spring Cloud】Ribbon实现客户端负载均衡
【学习背景】在前面几篇博客中,学习到的都是将服务部署到不同的注册中心。而在系统架构中,一般都要求做到高可用,从而注册中心,服务提供者和服务调用者都会搭建集群部署。集群环境下,我们调用服务的哪个节点,如何做到客户端负载均衡,是本篇博客接下来总结的内容。【学习内容】1. 什么是客户端负载均衡?Nginx对我们来说,应该是听过且比较熟悉的,它可以帮助我们实现服务端的负载均衡。客户端所有请求统一交...原创 2019-02-15 11:18:27 · 453 阅读 · 0 评论 -
【Spring Cloud】Consul注册中心实现服务发现
【学习背景】除了前面两篇博客中学习到的Eureka和Zookeeper可以实现服务的发布与调用,本篇博客要总结的Consul同样也可做服务的注册中心。【学习内容】1. Consul是什么?Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源....原创 2019-02-02 16:55:10 · 1018 阅读 · 0 评论 -
【Spring Cloud】Zookeeper注册中心实现服务发布与调用
【学习背景】在前面学习到了使用Eureka作为注册中心,基于Spring Cloud实现服务的发布与调用。而在18年7月份,Eureka2.0宣布闭源了,将不再进行开发,所以对于公司技术选型来说,可能会换用其他方案做注册中心。本篇博客学习便是使用Zookeeper作为注册中心,下面主要是总结下搭建过程。【学习内容】在接触dubbo的框架的时候,用的注册中心就是Zookeeper,现在看来也不...原创 2019-02-02 10:34:09 · 8176 阅读 · 1 评论 -
【Spring Cloud】Eureka自我保护机制
【学习背景】在上篇博客中,学习了注册中心Eureka如何实现服务的发布与调用。而结合我们项目中的经验,对于接口服务或对接第三方服务,一般我们都需要考虑到重试机制,类似mq消息消费一样,由于某种原因,可能第一次消费失败了,而重试也许可以消费成功。对于Eureka而言,自身也包含这样一种重试功能。【学习内容】两种角色?EurekaClient(注册客户端)EurekaServer(注册中...原创 2019-02-01 09:36:42 · 587 阅读 · 0 评论 -
【Spring Cloud】Eureka实现微服务发布与调用
【引言】在此之前,转载了一篇关于Spring Cloud的概述博文,关于Spring Cloud整个框架的结构和内容都总结的很详细。本篇博客将通过理论和实践的结合,总结学习Eureka。【关于Eureka】Eureka提供基于REST的服务,在集群中主要用于服务管理。Eureka 提供了基于 Java语言的客户端组件,客户端组件实现了负载均衡的功能,为业务组件的集群部署创造了条件。使用该框架...原创 2019-01-31 16:51:39 · 1324 阅读 · 0 评论 -
【Spring Cloud】Eureka Client源码解析
【学习背景】 在上一篇文章中,总结了Eureka中的相关组件与行为,也是分析其原理的第一步。本篇文章,先从Eureka Client出发,了解其是如何运行的。【学习内容】 先看下图,分阶段地展示了Eureka Client需要完成的工作: 在上图中,像...原创 2019-05-12 02:27:24 · 373 阅读 · 1 评论 -
【Spring Cloud】Nacos作为配置中心,如何配置?
引言继续Nacos的学习,在上篇博客中,我们知道了Nacos安装、下载及作为注册中心的使用,本篇博客介绍的内容是Nacos作为配置中心,我们如何读取、修改配置等。配置流程1. 引入依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> &原创 2020-08-28 11:11:53 · 1034 阅读 · 0 评论 -
【Spring Cloud】Nacos介绍、下载、服务注册和发现的使用
最近了解到一个新东西,Nacos,是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”。什么是Nacos?Nacos 的关键特性包括:服务发现和服务健康监测Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。Nacos 提供对服务的实时的健康检查,阻止向不健.原创 2020-08-22 16:29:28 · 360 阅读 · 0 评论 -
【Spring Cloud】 大话Spring Cloud
Spring Cloud是什么鬼?Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spr...转载 2018-12-15 15:46:48 · 502 阅读 · 2 评论