
SpringCloud
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
基于 Spring Cloud 开发的分布式系统,遇到爬虫、接口盗刷怎么办?
kk-anti-reptile是,适用于基于spring-boot开发的分布式系统的反爬虫组件。系统要求 基于spring-boot开发(spring-boot1.x, spring-boot2.x均可) 需要使用redis 工作流程kk-anti-reptile使用基于Servlet规范的的Filter对请求进行过滤,在其内部通过spring-boot的扩展点机制,实例化一个Filter,并注入到Spring容器FilterRegistrationBean中,通过S...转载 2020-06-06 14:32:26 · 394 阅读 · 0 评论 -
Spring Cloud @RefreshScope 原理是什么?
要清楚RefreshScope,先要了解ScopeScope(org.springframework.beans.factory.config.Scope)是Spring 2.0开始就有的核心的概念RefreshScope(org.springframework.cloud.context.scope.refresh)是spring cloud提供的一种特殊的scope实现,用来实现配置、...转载 2019-12-17 11:06:10 · 3350 阅读 · 0 评论 -
分布式服务防雪崩熔断器,Hystrix理论+实战
Hystrix是什么?hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netflix团队将该框架命名为Hystrix,并使用了对应的卡通形象做作为logo。在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就...转载 2018-12-21 10:02:43 · 247 阅读 · 0 评论 -
【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?
一、问题起源Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eureka的。不少初学Spring Cloud的朋友在落地公司生产环境部署时,经常会问: Eureka Server到底要部署几台机器? 我们的系统那么多服务,到底会对Eureka Server产生多大的访问压力? Eu...转载 2018-11-21 09:34:27 · 304 阅读 · 0 评论 -
【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战
一、写在前面相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。如果只是用户量很少的传统IT系统,使用Spring Cloud可能还暴露不出什么问题。如果是较多用户量,高峰每秒高达上万并发请求的互联网公司的系统,使用Spring Cloud技术就有一些问题需要注意了。 二、场景引入,问题初现先不空聊原理、理论,来讲一个真实...转载 2018-11-21 10:20:16 · 1170 阅读 · 0 评论 -
拜托!面试请不要再问我Spring Cloud底层原理
目录概述一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结: 概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数...转载 2018-11-21 09:29:06 · 4056 阅读 · 6 评论 -
Spring Cloud技术分析之Dubbo与Cloud的对比
现如今微服务架构十分流行,而采用微服务构建系统也会带来更清晰的业务划分和可扩展性。同时,支持微服务的技术栈也是多种多样的,本系列文章主要介绍这些技术中的翘楚——Spring Cloud。这是序篇,主要讲述我们为什么选择Spring Cloud和它的技术概览。1 为什么微服务架构需要Spring Cloud简单来说,服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微...转载 2018-11-19 11:16:06 · 356 阅读 · 0 评论 -
Spring Cloud Kubernetes容器化实践
随着公司业务量和产品线的增加,项目越来越多,普通运维系统架构对整个软件研发生命周期的管理越来越难,效率低下,难以统一管理。近年来Docker统一了容器标准,对于软件开发流程产生了深远的影响,Docker可以一次打包,处处运行。过去几年Kubernetes平台发展日新月益,Kubernetes统一了容器编排王者的地位,我个人认为kubernetes可以说是对普通运维架构一次突破性的革命。利用K...转载 2018-11-12 08:50:28 · 4050 阅读 · 1 评论 -
基于 Spring Boot 和 Spring Cloud 实现微服务架构
前言首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多。我的学习是先从Spring boot开始的,然后接触...转载 2018-11-04 00:35:29 · 2720 阅读 · 1 评论 -
Spring Cloud Gateway(续)
本文主要介绍 Spring Cloud Gateway 的路由熔断、路由重试和高可用。路由熔断在前面学习 Hystrix 的时候,我们知道 Hystrix 有服务降级的能力,即如果服务调用出现了异常,则执行指定的 fallback 方法。Spring Cloud Gateway 也融合了 Hystrix,可以为我们提供路由层面服务降级。我们就来看看如何来做。在之前 gateway ...转载 2018-10-25 17:20:21 · 1862 阅读 · 0 评论 -
Spring Cloud Gateway(限流)
在高并发的应用中,限流是一个绕不开的话题。限流可以保障我们的 API 服务对所有用户的可用性,也可以防止网络攻击。一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的 limit_req 模块,限制每...转载 2018-10-25 17:16:21 · 5137 阅读 · 0 评论 -
Spring Cloud Gateway(过滤器)
在上一篇文章中,我们了解了 Spring Cloud Gateway 作为网关所具备的基础功能:路由。本篇我们将关注它的另一个功能:过滤器。Spring Cloud Gateway 已经内置了很多实用的过滤器,但并不能完全满足我们的需求。本文我们就来实现自定义过滤器。虽然现在 Spring Cloud Gateway 的文档还不完善,但是我们依旧可以照猫画虎来定制自己的过滤器。Fi...转载 2018-10-25 17:07:39 · 8353 阅读 · 0 评论 -
Spring Cloud Gateway(路由)
本篇文章主要介绍了什么是 Spring Cloud Gateway,并基于 Spring Cloud Gateway 的 Finchley.RC1 版本编写一个 Spring Cloud Gateway 的入门案例,即基本代理的路由转发配置。概述Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring ...转载 2018-10-25 16:57:57 · 6971 阅读 · 0 评论 -
微服务架构如何保障双11狂欢下的99.99%高可用
一、概述上一篇文章讲了一个朋友公司使用Spring Cloud架构遇到问题的一个真实案例,虽然不是什么大的技术问题,但如果对一些东西理解的不深刻,还真会犯一些错误。如果没看过上一篇文章的朋友,建议先看看:【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问? 因为本文的案例背景会基于上一篇文章。这篇文章我们来聊聊在微服务架构中,到底如何保证整套系统的高可用?排除掉一些基础...转载 2018-11-21 09:59:47 · 502 阅读 · 0 评论 -
Spring Cloud Gateway的全局异常处理
Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求。网关都是给接口做代理转发的,后端对应的都是REST API,返回数据格式都是JSON。如果不做处理,当发生异常时,Gateway默认给出的错误信息是页面,不方便前端进行异常处理。需要对异常信息进行处理,返回J...转载 2018-12-09 21:32:34 · 4883 阅读 · 2 评论 -
面试官居然问 spring、springboot、springcloud的区别,我笑了
可能某些项目还在使用dubbo,但是你也一定听过Spring Cloud。至于Spring和Spring Boot,对于现在的Java开发,它们的地位简直可以说是不可或缺了。如果你的新项目在使用Tomcat+WAR的开发模式(历史遗留项目暂且不谈),不好意思,真的要吐槽一下。首先,我认为要完善一下这个题目,应该是:Spring、Spring Framework、Spring Boot、Sp...转载 2019-05-23 19:48:00 · 15381 阅读 · 0 评论 -
厉害了,Spring Cloud Alibaba 发布 GA 版本!
小马哥 & Josh Long喜欢写一首诗一般的代码,更喜欢和你共同 code review,英雄的相惜,犹如时间沉淀下来的对话,历久方弥新。相见如故,@杭州。4 月 18 日,Josh Long 来到了阿里巴巴西溪园区,我们向其演示了Spring Cloud Alibaba各个组件的功能和实现方式,Josh Long 看完意犹未尽,表示会在新的 Spring Ti...转载 2019-05-03 20:04:29 · 9089 阅读 · 1 评论 -
Netflix时代之后Spring Cloud微服务的未来
技术干货每日送达!来源:SpringForAll社区如果有人会问你有关Spring Cloud的问题,那么你想到的第一件事可能就是Netflix OSS的支持。对Eureka,Zuul或Ribbon等工具的支持不仅由Spring提供,还由用于构建Apache Camel,Vert.x或Micronaut等微服务架构的其他流行框架提供。目前,Spring Cloud Netflix是...转载 2019-04-18 21:49:49 · 3036 阅读 · 0 评论 -
Spring Cloud Alibaba迁移指南2:一行代码从Hystrix迁移到Sentinel
作者:洛夜,校对:周立在本博客首发,欢迎转载。前段时间,Netflix宣布Hystrix进入维护模式,详见Hystrix停止开发,我们该何去何从?,而Spring Cloud亦宣布Spring Cloud Netflix进入维护状态,后续不再进行更新已成为事实。作为开发者的我们,如何使用极简的方式替换Hystrix成为首要解决的问题。Hystrix宣布停止维护后,社区推荐了Resi...转载 2019-02-14 17:54:04 · 637 阅读 · 0 评论 -
Spring Cloud生态的配置服务器最全对比贴
一、Spring Cloud Config1.1 GitHub地址https://github.com/spring-cloud/spring-cloud-config ,Star数1178,官方组件,社区较活跃1.2 开源厂商Pivotal(Spring官方团队)1.3 产品特点 遵循Spring Cloud Config的配置管理规范 后端存储支持丰富(支...转载 2019-02-14 17:00:53 · 740 阅读 · 0 评论 -
Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝!
Spring Cloud Greenwich 正式版在 01/23/2019 这天正式发布了,下面我们来看下有哪些更新内容。生命周期终止提醒Spring Cloud EdgwareEdgware 版本将于 08/01/2019 正式退役,具体可以参考官方宣布:https://spring.io/blog/2018/07/30/spring-cloud-edgware-eol-au...转载 2019-01-26 16:53:09 · 6819 阅读 · 0 评论 -
Spring Cloud Netflix项目进入维护模式之我见
这两天看到一则新闻:https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now#spring-cloud-netflix-projects-entering-maintenance-mode。其中说到:Spring Cloud Netflix Projects Entering Maintenanc...转载 2019-01-01 13:53:31 · 2714 阅读 · 0 评论 -
Spring Cloud 微服务架构的五脏六腑!
来源:webfe.kujiale.com/spring-could-heart/整理:Java技术栈(公众号ID:javastack)Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件。注:Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系,所以本文...转载 2018-12-21 10:24:33 · 392 阅读 · 0 评论 -
SpringCloud配置中心高可用搭建
本文通过config server连接git仓库来实现配置中心,除了git还可以使用svn或者系统本地目录都行。引入依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...转载 2018-12-21 10:23:00 · 348 阅读 · 0 评论 -
SpringCloud的版本
Spring Cloud 项目目前仍然是快速迭代期,版本变化很快。这里整理一下版本相关的东西,备忘一下。大版本版本号规则Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号。Cloud代号 Boot版本(train) Boot版本(tested) lifecycle Angle 1.2.x incompatible with 1.3...转载 2018-06-22 14:34:52 · 549 阅读 · 1 评论 -
Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Con...转载 2017-06-26 17:16:49 · 553 阅读 · 0 评论 -
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
在spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。Feign简介Feign是...转载 2017-03-29 09:37:42 · 2618 阅读 · 0 评论 -
zuul重连配置
#retry#该参数用来开启重试机制spring.cloud.loadbalancer.retry.enabled=true#断路器的超时时间,断路器的超时时间需要大于ribbon的超时时间,不然不会触发重试。hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000#ribbon请求连接...原创 2017-03-28 14:52:58 · 8811 阅读 · 0 评论 -
Consul 原理和使用简介
说明本文介绍了一个服务发现和配置共享的软件,简单介绍了 Consul 的原理和使用, 一篇小文抛砖引玉,希望能吸引感兴趣的童鞋一起探讨研究。Consul 是什么Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康...转载 2017-03-28 14:51:47 · 2548 阅读 · 1 评论 -
spring cloud教程之使用spring boot创建一个应用
《7天学会spring cloud》第一天,熟悉spring boot,并使用spring boot创建一个应用。 Spring Boot是Spring团队推出的新框架,它所使用的核心技术还是Spring框架,主要是Spring 4.x,所以如果熟悉spring 4的人,能够更快的接受和学会这个框架。Spring boot可以看做是在spring框架基础上再包了一层,这一层包含方便开发者进行...转载 2017-02-27 13:53:23 · 437 阅读 · 0 评论 -
7天学会spring cloud教程
按照官方的话说:Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。最关键的是它足够简单,一般的开发人员只需要几天时间就可以学会它的基本用法。 本Spring Cloud 7天系列教程,包括7个例子和相关短文,都是最简单的用法,也是默认最基本的用法,在实际生...转载 2017-02-27 13:52:28 · 529 阅读 · 0 评论 -
Spring Cloud构建微服务架构(七)消息总线(续:Kafka)
Spring Cloud Bus除了支持RabbitMQ的自动化配置之外,还支持现在被广泛应用的Kafka。在本文中,我们将搭建一个Kafka的本地环境,并通过它来尝试使用Spring Cloud Bus对Kafka的支持,实现消息总线的功能。由于本文会以之前Rabbit的实现作为基础来修改,所以先阅读《Spring Cloud构建微服务架构(七)消息总线》有助于理解本文。Kafka简介K...转载 2017-03-04 09:06:23 · 3152 阅读 · 0 评论 -
Spring Cloud构建微服务架构(六)高可用服务注册中心
前言在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是在之前的示例中,这个服务注册中心是单点的,显然这并不适合应用于线上生产环境,那么下面在前文的基础上,我们来看看该如何构建高可用的Eureka Server集群。单点Eureka Server的样...转载 2017-02-28 19:17:19 · 547 阅读 · 0 评论 -
Spring Cloud构建微服务架构(五)服务网关
通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示:alt我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了使得服务...转载 2017-02-28 19:16:02 · 3307 阅读 · 0 评论 -
Spring Cloud构建微服务架构(四)分布式配置中心
Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为...转载 2017-02-28 19:14:32 · 408 阅读 · 0 评论 -
Spring Cloud构建微服务架构(三)断路器
在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,最终导致自身服务的瘫痪。举个例子,在一个电商网...转载 2017-02-28 19:10:11 · 2559 阅读 · 0 评论 -
Spring Cloud构建微服务架构(二)服务消费者
RibbonRibbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成...转载 2017-02-28 19:05:50 · 445 阅读 · 0 评论 -
Zuul(SpringCloud学习笔记一)
路由是微服务架构中必须(integral )的一部分,比如,“/” 可能映射到你的WEB程序上,”/api/users “可能映射到你的用户服务上,“/api/shop”可能映射到你的商品服务商。(注解:我理解这里的这几个映射就是说通过Zuul这个网关把服务映射到不同的服务商去处理,从而变成了微服务!)Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器. Zuul功能:...转载 2017-03-17 10:46:51 · 3162 阅读 · 0 评论 -
中小型互联网公司微服务实践-经验和教训
上次写了一篇文章叫Spring Cloud在国内中小型公司能用起来吗?介绍了Spring Cloud是否能在中小公司使用起来,这篇文章是它的姊妹篇。其实我们在这条路上已经走了一年多,从16年初到现在。在使用Spring Cloud之前我们对微服务实践是没有太多的体会和经验的。从最初的开源软件云收藏来熟悉Spring Boot,到项目中的慢慢使用,再到最后全面拥抱Spring Cloud。这篇文章就...转载 2017-11-17 10:20:57 · 512 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费(基础)【Dalston版】
使用LoadBalancerClient在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Cloud做这一层抽象,很好的解耦了服务治理体系,使得我们可以轻易的替换不同的服务治理设施。从Load...转载 2017-06-26 17:23:08 · 563 阅读 · 0 评论