
spring cloud
文章平均质量分 61
子非鱼yy
求知若饥,虚心若愚
展开
-
SpringBoot整合eureka jar包冲突解决
先上一份正确的pom.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion原创 2021-12-22 19:19:21 · 821 阅读 · 0 评论 -
SpringCloud分布式开发五大神兽
SpringCloud分布式开发五大神兽服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud ConfigEureka一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务原创 2017-09-21 17:02:03 · 12396 阅读 · 0 评论 -
Spring Cloud中,如何使用Feign构造多参数的请求
GET请求多参数的URL假设我们请求的URL包含多个参数,例如http://microservice-provider-user/get?id=1&username=张三 ,要怎么办呢?我们知道Spring Cloud为Feign添加了Spring MVC的注解支持,那么我们不妨按照Spring MVC的写法尝试一下:@FeignClient("microservice-provide原创 2017-10-18 09:53:57 · 1645 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)转载 2017-09-21 17:53:47 · 15488 阅读 · 6 评论 -
史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/70037291 在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Config。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spri原创 2017-09-22 11:31:12 · 3093 阅读 · 3 评论 -
史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/70037513 上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创原创 2017-09-22 11:33:05 · 2594 阅读 · 2 评论 -
史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
转载请标明出处:http://blog.youkuaiyun.com/forezp/article/details/70148235Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现...原创 2017-09-22 11:34:15 · 2180 阅读 · 1 评论 -
史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/70162074这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Add sleuth to the classpath of a Spring Boot application (see bel原创 2017-09-22 13:00:39 · 1788 阅读 · 2 评论 -
史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)转载 2017-09-22 11:25:01 · 3830 阅读 · 3 评论 -
史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/69934399在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能原创 2017-09-22 11:26:54 · 4004 阅读 · 7 评论 -
史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/69939114 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图:注意:A服务和B服务是可以相互调用的,作图的原创 2017-09-22 11:29:36 · 3732 阅读 · 0 评论 -
Spring Cloud各组件总结归纳
前面介绍了很多Spring Cloud的组件,本篇按照自己的角度来做一次归纳。Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。Ribbon,客户端负载均衡,特性有区域亲和、重试机制。Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。Feign,声...转载 2018-12-12 14:48:25 · 628 阅读 · 0 评论 -
spring cloud项目升级spring boot 2.0爬过的坑
注:升级后spring boot为2.0.5版本,spring cloud为Finchley.SR1版本。 2.0官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ gitee项目地址:https://gitee.com/lwydyby/springcloud-adplatform升级时,...原创 2018-12-10 21:57:31 · 1054 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 终章
错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个汇总,未来还会写很多篇。案例全部采用Spring Boot 1.5.x ,Spring Cloud版本为Dalston.RELEASE我为什么这些文章?一是...转载 2017-09-13 11:27:00 · 131338 阅读 · 1 评论 -
springboot整合Quartz实现动态配置定时任务
前言在我们日常的开发中,很多时候,定时任务都不是写死的,而是写到数据库中,从而实现定时任务的动态配置,下面就通过一个简单的示例,来实现这个功能。一、新建一个springboot工程,并添加依赖[html] view plain copy dependency> groupId>org.springframework.bootgrou转载 2017-09-26 16:13:46 · 3973 阅读 · 1 评论 -
Ambiguous mapping. Cannot map "***Controller" been method解决办法
Ambiguous mapping. Cannot map 'handController' method public com.smallchill.core.toolbox.ajax.AjaxResult com.smallchill.smtlamp.controller.HandController.AC2off(java.lang.String)to {[/hand/AC1off]原创 2017-09-26 13:59:28 · 8327 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目
一、docker简介Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。Docker通常用于如下场景:web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据...原创 2017-09-23 12:41:03 · 2244 阅读 · 1 评论 -
史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态原创 2017-09-23 12:44:03 · 2986 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。一、Hystrix Turbine简介看单个的Hystrix Dashboard的数据并没有什么多大的价值,要原创 2017-09-23 12:45:43 · 2452 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value 存储多数据中心consul可运行在mac windows linux 等机器上。原创 2017-09-23 12:47:22 · 1792 阅读 · 0 评论 -
Spring Cloud Sleuth进阶实战
为什么需要Spring Cloud Sleuth微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达原创 2017-09-24 13:50:15 · 2502 阅读 · 0 评论 -
深入理解Feign之源码解析
什么是FeignFeign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目。 Feign的主要目标是将Java Http 客户端变得简单。Feign的源码地址:https://github.com/OpenFeign/feign写一个Feign在我之前的博文有写到如何用Feign去消费服务,文章地址:http://bl原创 2017-09-24 15:47:09 · 1505 阅读 · 0 评论 -
深入理解Eureka之源码解析
Eureka的一些概念Register:服务注册 当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告知Eureka Server该Eureka客户仍然存在,没有出现问题。 正常情况下,如果Eureka Serve原创 2017-09-24 15:50:15 · 1655 阅读 · 1 评论 -
深入理解Ribbon之源码解析
什么是RibbonRibbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。 Feign已经默认使用了Ribbon。负载均衡容错多协议(HTTP,TCP,UDP)支持异步和反应模型缓存和批处理 RestTemplate和Ribbon相结合原创 2017-09-24 15:53:07 · 1158 阅读 · 0 评论 -
深入理解Hystrix之文档翻译
什么是Hystrix在分布式系统中,服务与服务之间依赖错综复杂,一种不可避免的情况就是某些服务将会出现失败。Hystrix是一个库,它提供了服务与服务之间的容错功能,主要体现在延迟容错和容错,从而做到控制分布式系统中的联动故障。Hystrix通过隔离服务的访问点,阻止联动故障,并提供故障的解决方案,从而提高了这个分布式系统的弹性。Hystrix解决了什么问题在复杂的分布式系统中,可能有原创 2017-09-24 15:56:50 · 1052 阅读 · 0 评论 -
深入理解Zuul之源码解析
Zuul 架构图在zuul中, 整个请求的过程是这样的,首先将请求给zuulservlet处理,zuulservlet中有一个zuulRunner对象,该对象中初始化了RequestContext:作为存储整个请求的一些数据,并被所有的zuulfilter共享。zuulRunner中还有 FilterProcessor,FilterProcessor作为执行所有的zuulfilter的管理原创 2017-09-24 15:58:16 · 1213 阅读 · 0 评论 -
如何使用MongoDB+Springboot实现分布式ID?
一、背景如何实现分布式id,搜索相关的资料,一般会给出这几种方案:使用数据库自增Id使用reids的incr命令使用UUIDTwitter的snowflake算法利用zookeeper生成唯一IDMongoDB的ObjectId另外,在我通过爬取知乎用户id发现,知乎的用户id是32位的,初步断定知乎采用的是md5加密,然后全部转换成小写。至于如何爬取知乎用户信息,见我之前分享的文原创 2017-09-24 16:01:07 · 7685 阅读 · 0 评论 -
spring cloud 的启动Eureka client报错--Cannot execute request on any known server
版权声明:本文为博主原创文章,未经博主允许不得转载。错误如图:原因:Eureka的Server没有启动,而在使用@EnableDiscoveryClient或者@EnableEurekaClient之后,该客户端会自动去寻找Eureka Server,如果找不到就会报这个错。原创 2017-09-25 17:23:59 · 13856 阅读 · 2 评论 -
SpringBoot,SpringCloud入门到精通最简单教程
Spring Boot特点1. 创建独立的Spring应用程序2. 嵌入的Tomcat,无需部署WAR文件3. 简化Maven配置4. 自动配置Spring5. 提供生产就绪型功能,如指标,健康检查和外部配置6. 绝对没有代码生成和对XML没有要求配置废话少说上教程:《史上最简单的 SpringBoot 教程》系列:spring原创 2017-09-26 09:22:40 · 54519 阅读 · 12 评论 -
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)转载 2017-09-21 17:51:38 · 16964 阅读 · 7 评论 -
史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
转载请标明出处: http://blog.youkuaiyun.com/forezp/article/details/70183572 文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适原创 2017-09-22 13:03:19 · 1809 阅读 · 1 评论