![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springcloud
文章平均质量分 96
方志朋
生命不息,奋斗不止
展开
-
深入理解Ribbon之源码解析
Ribbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。 Feign已经默认使用.原创 2017-07-08 14:48:05 · 103416 阅读 · 19 评论 -
史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,这篇文章主要介绍怎么将Eureka Server集群化。原创 2017-04-15 11:55:45 · 220752 阅读 · 139 评论 -
深入理解Eureka之源码解析
Eureka的一些概念Register:服务注册 当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告知Eureka Server该Eureka客户仍然存在,没有出现问题。 正常情况下,如果Eureka Server在90秒没有收到Eu原创 2017-06-11 11:22:10 · 249358 阅读 · 25 评论 -
深入理解Feign之源码解析
什么是FeignFeign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目。 Feign的主要目标是将Java Http 客户端变得简单。Feign的源码地址:https://github.com/OpenFeign/feign写一个Feign在我之前的博文有写到如何用Feign去消费服务,文章地址:http://blog.csdn原创 2017-06-20 09:31:13 · 151651 阅读 · 24 评论 -
如何用Redlock实现分布式锁
之前写过一篇文章《如何在springcloud分布式系统中实现分布式锁?》,由于自己仅仅是阅读了相关的书籍,和查阅了相关的资料,就认为那样的是可行的。那篇文章实现的大概思路是用setNx命令和setEx配合使用。 setNx是一个耗时操作,因为它需要查询这个键是否存在,就算redis的百万的qps,在高并发的场景下,这种操作也是有问题的。关于redis实现分布式锁,redis官方推荐使用redloc原创 2017-04-20 21:16:16 · 89148 阅读 · 14 评论 -
如何使用MongoDB+Springboot实现分布式ID?
如何使用MongoDB在SpringCloud分布式系统中实现分布式ID?原创 2017-04-04 11:13:31 · 74129 阅读 · 13 评论 -
史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value 存储多数据中心,consul可运行在mac windows linux 等机器上.原创 2017-04-19 21:37:35 · 126948 阅读 · 50 评论 -
史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。原创 2017-04-16 22:02:22 · 200700 阅读 · 47 评论 -
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的。本文主要介绍了服务的注册与发现。原创 2017-04-08 18:16:57 · 909846 阅读 · 316 评论 -
史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。原创 2017-04-18 21:54:21 · 89794 阅读 · 27 评论 -
史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)
在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型原创 2017-04-09 21:14:05 · 348501 阅读 · 370 评论 -
深入理解Zuul之源码解析
本文从源码的深入讲解了Spring Cloud Zuul。原创 2017-07-27 21:42:57 · 89769 阅读 · 10 评论 -
docker官方文档翻译3
转载请标明出处: https://blog.csdn.net/forezp/article/details/80171723 本文出自方志朋的博客第三部分: 服务准备工作安装Docker 1.13及以上版本。安装Docker Compose 阅读第一部分和第二部分的内容。确保你已经发布friendlyhello镜像到docker公共仓库。确保你的镜像...原创 2018-05-02 20:43:00 · 24347 阅读 · 2 评论 -
Controller类的方法上的RequestMapping一定要写在Controller类里吗?
转载请标明出处: https://blog.csdn.net/forezp/article/details/80069961 本文出自方志朋的博客使用Spring Cloud做项目的同学会使用Feign这个组件进行远程服务的调用,Feign这个组件采用模板的方式,有着优雅的代码书写规范。核心原理对Feign等相关注解进行解析,并提取信息,在Spring Boot工程启动时...原创 2018-04-24 20:18:27 · 49095 阅读 · 12 评论 -
Docker官方文档翻译2
转载请标明出处: https://blog.csdn.net/forezp/article/details/80158062 本文出自方志朋的博客容器准备工作安装Docker,版本为1.13或者1.13之上。阅读第一篇文章的内容给你的Docker环境一个快速的测试,确保所有的工作准备就绪: docker run hello-world...原创 2018-05-01 17:40:30 · 26176 阅读 · 1 评论 -
《深入理解Spring Cloud与微服务构建》书籍目录
转载请标明出处: https://blog.csdn.net/forezp/article/details/79735542 本文出自方志朋的博客作者简介方志朋,毕业于武汉理工大学,CSDN博客专家,专注于微服务、大数据等领域,乐于分享,爱好开源,活跃于各大开源社区。著有《史上最简单的Spring Cloud教程》,累计访问量超过了300万。购买地址点...原创 2018-03-28 22:43:57 · 52968 阅读 · 4 评论 -
书籍《深入理解Spring Cloud 与微服务构建》勘误、源码下载
转载请标明出处: https://blog.csdn.net/forezp/article/details/79638403 本文出自方志朋的博客文章勘误错误在所难免,欢迎大家批评指正,在文章下方留言即可。有任何问题加我微信miles02,由于可能问的人较多,建议把问题描述清楚,我有空回答,多谢大家的支持。 读者QQ交流群:719761942源码下载gi...原创 2018-03-21 12:50:45 · 48819 阅读 · 39 评论 -
史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
Spring Cloud Bus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。本文要讲述的是用AMQP实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amq原创 2017-04-12 22:15:48 · 295505 阅读 · 220 评论 -
史上最简单的 SpringCloud 教程 | 终章
转载请标明出处: http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个...原创 2017-04-12 23:14:39 · 1977748 阅读 · 391 评论 -
JWT如何在Spring Cloud微服务系统中在服务相互调时传递
转载请标明出处: http://blog.csdn.net/forezp/article/details/78676036 本文出自方志朋的博客在微服务系统中,为了保证微服务系统的安全,常常使用jwt来鉴权,但是服务内部的相互调用呢。经常有人在微信上问我,我给出一个解决办法,采用Feign的拦截器。在Feign中开启了hystrix,hystrix默认采用的是线程池作...原创 2017-11-30 14:42:07 · 59161 阅读 · 8 评论 -
Spring Cloud Sleuth进阶实战
为什么需要Spring Cloud Sleuth?微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个原创 2017-08-06 22:37:05 · 124310 阅读 · 17 评论 -
上传文件,经过Zuul,中文文件名乱码解决办法
转载请标明出处: http://blog.csdn.net/forezp/article/details/73017664 本文出自方志朋的博客问题描述在项目中又一个上传文件的oss服务,直接调用服务的上传文件成功,如果经过网关zuul服务,上传中文名字的文件,文件名会出现乱码,最终导致上传失败,如果上传英文名字的文件,没有任何问题。怀疑网关zuul对中文做编码处理。解决问题的过程这原创 2017-08-14 21:51:31 · 68207 阅读 · 5 评论 -
史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
简介在分布式系统中,spring cloud config 提供一个服务端和客户端去提供可扩展的配置服务。我们可用用配置服务中心区集中的管理所有的服务的各种环境配置文件。配置服务中心采用git的方式存储配置文件,因此我们很容易部署修改,有助于对环境配置进行版本管理。原创 2017-04-10 21:18:06 · 448612 阅读 · 415 评论 -
史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务中心。原创 2017-04-10 21:24:15 · 295452 阅读 · 141 评论 -
史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。原创 2017-04-13 21:03:29 · 185134 阅读 · 77 评论 -
史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
在微服务架构中,需要几个关键的组件,服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个组件可以组建一个简单的微服务架构。客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服务,服务统一注册到高可用的服务注册中心集群。原创 2017-04-09 23:25:01 · 354430 阅读 · 185 评论 -
史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件原创 2017-04-17 23:01:06 · 98670 阅读 · 64 评论