![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
文章平均质量分 97
MrSpirit
不会乐器的厨师不是好程序员
展开
-
最新Spring Cloud版本Hoxton搭建分布式架构
前面的专栏Spring Cloud博客,都没有给大家一个完整的Spring Cloud架构,在于我觉得看完了我的教程,大家都能自己搭建一个很棒的架构,所以没做演示Spring Cloud总架构的搭建。 最近要开新项目,基于Spring Cloud架构,我发现很多教程中的信息已经比较过时了,这里也就参照着最新的Spring Cloud版本——Hoxton,搭建一个基...原创 2019-12-10 12:21:26 · 1383 阅读 · 0 评论 -
OpenFeign之第一个Feign程序(十)
没有内容原创 2018-05-16 16:21:16 · 7209 阅读 · 0 评论 -
Netflix之Zuul的进阶应用(十八)
过滤器优先级如图所示,数字越小,执行的优先级就越高:图表展示出来就是:过滤器order描述类型ServletDetectionFilter-3检测请求是用 DispatcherServlet还是 ZuulServletpreServlet30WrapperFilter-2在Servlet 3.0 下,包装 requestspreFormBodyWrapperFilter-1解析表单数据preSen...原创 2018-06-04 10:36:19 · 1657 阅读 · 0 评论 -
Netflix之第一个Zuul程序(十六)
什么是zuul?Zuul是所有来自设备和网站的所有请求的大门,这些请求都是Netflix流媒体应用的后端。作为一个边缘服务应用程序,Zuul是用来支持动态路由、监视、弹性和安全性的。它还可以根据需要将请求路由到多个Amazon Auto伸缩组。为什么要建立Zuul网关?平台流量的数量和多样性有时会导致问题迅速产生而没有任何预警。我们需要一个系统,它允许我们快速改变行为以对这些情况作出反应。...原创 2018-05-28 15:46:30 · 1431 阅读 · 0 评论 -
消息驱动之背景概述(十九)
背景历史在EJB2.0的时候,J2EE就引入了java message bean组件,即java消息组件,来处理企业组件之间的通讯。Spring Cloud里面提供的消息驱动就来源于这里,并且使用这些消息驱动模块来完成微服务之间的通讯。消息中间件当我们的消息生产者产生了消息之后,就把消息推送到RabbitMQ或Kafka这样的消息中间件上,消息消费者实现了对消息中间件的监听,当侦听到了消息的时候,...原创 2018-06-04 17:00:51 · 2055 阅读 · 0 评论 -
消息中间件之RabbitMQ入门讲解(二十)
RabbitMQ在Windows上的使用1.下载安装ErlangRabbitMQ是基于AMQP协议进行通讯的,而AMQP是依赖于Erlang语言的,所以我们需要下载安装Erlang,下载完成之后会得到一个类似otp_win64_20.0.exe的文件,本次演示使用的版本是20.0的,演示版本的安装包也可以从底部的源码里面获取。2.下载安装RabbitMQ到RabbitMQ官网下载RabbitMQ的...原创 2018-06-04 17:06:00 · 1501 阅读 · 0 评论 -
消息中间件之Kafka入门讲解(二十一)
Kafka在Windows上的使用1.下载安装并启动ZookeeperKafka的运行依赖于Zookeeper,简单点讲:ZooKeeper是一个集中服务,用于维护配置信息,命名,提供分布式同步和提供组服务。它和Kafka一样,都是Apache旗下的组件。如何下载都不赘述,本次演示用的软件都会在底部源代码给出。下载之后,得到类似zookeeper-3.4.8.zip这样的文件夹,我这里用了一个比较...原创 2018-06-04 21:50:00 · 2043 阅读 · 0 评论 -
Netflix之Hystrix详细分析(十四)
知识补充--RxJavaRxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(安卓中的触摸事件,web接口调用返回的数据等等)一个Observable可以发出零个或者多个事件,直到结束或者出错。每发出一个事件,就会调用对应Subscri...原创 2018-05-24 12:31:34 · 4839 阅读 · 2 评论 -
Spring Cloud集群中使用Zuul(十七)
在Eureka集群中使用Zuul在Spring Cloud中集群中使用Zuul网关,那么Zuul也是集群的一部分,所以它也应该是一个Eureka项目,如图所示,我们搭建一个最简单的集群,通过网关来分发浏览器发起的请求。依旧是从Spring Cloud服务管理框架Eureka简单示例(三)这篇博客底部拿到我们的源码,这三个项目对应我们架构图中底部的三个项目,可以启动三个项目的*App启动类,测试项目...原创 2018-05-29 17:25:20 · 7536 阅读 · 0 评论 -
Spring Cloud整合RabbitMQ或Kafka消息驱动(二十二)
如图所示,这里将创建一个Eureka集群,其中两个Eureka客户端分别作为消息的生产者和消息的消费者,外部使用RabbitMQ或者Kafka中间件来处理消息。原创 2018-06-05 22:24:47 · 3514 阅读 · 3 评论 -
具有负载均衡功能的RestTemplate底层原理(九)
在Spring Cloud服务管理框架Eureka简单示例(三)章节中,我们在服务调用端已经使用RestTemplate做了负载均衡,这里就详细解释一下RestTemplate底层原理,为什么一个Spring提供的做为Rest风格客户端的方法,在加了一个Ribbon提供的@LoadBalanced注解后,就能实现负载均衡了呢?这要得益于Ribbon的@LoadBalanced注解,它提供了一个拦截...原创 2018-05-15 16:53:57 · 3872 阅读 · 2 评论 -
Netflix之第一个Hystrix程序(十三)
Hystrix出现的原因我先展示一个在前面博客里出现过的架构图,如果我的“Eureka客户端(服务调用者)”是用做于限时抢购的,从业务逻辑的判断到操作数据库都需要一定的时间才能完成,在我的一个业务还没处理完成的情况下,这个时候又有新的请求进来了,请求就会被堆积,等待着处理。而对于用户来说,如果你的网站服务等待了半天还没有出结果,他们就会反复刷新,更是加剧了请求的堆积,服务器承受不住这种压力,就会宕...原创 2018-05-21 17:18:30 · 1364 阅读 · 0 评论 -
Spring Cloud中使用Hystrix(十五)
Spring Cloud整合Hystrix首先还是从Spring Cloud服务管理框架Eureka简单示例(三)这篇博客的底部拿到我们的Eureka简单集群代码,改写eureka-consumer项目,在com.init.springCloud包下添加PersonService类,这个类其实就是原本ConsumerController控制器里面请求方法的抽取:package com.init.s...原创 2018-05-25 16:21:59 · 1520 阅读 · 0 评论 -
Spring Boot的简单使用(二)
Spring Boot的优点回顾一下我们如何搭建一个SSM(Spring,Spring MVC,MyBatis)web框架,配置web.xml,将权限交给Spring,设置Spring容器的配置文件application.properties,开启自动扫包、配置数据库文件、引用数据源、文件资源过滤等等一系统繁琐的操作之后,我们才能够搭建起来一个框架,光是配置就得耗费我们大把的时间。但是,使用Spr...原创 2018-04-17 16:47:42 · 6751 阅读 · 2 评论 -
Spring Cloud服务管理框架Eureka简单示例(三)
关于Spring Cloud资料参考:Spring Cloud官网Spring Cloud为开发人员提供了工具,可以快速构建分布式系统中的一些常见模式(譬如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领袖选举(字面翻译)、分布式会话、集群状态)。协调分布式系统致力于统一工作,并且使用Spring Cloud的开发人员可以快速地实现这些模式的服务和应用程序。他...原创 2018-04-19 16:17:14 · 8102 阅读 · 1 评论 -
Spring Cloud之Eureka客户端健康检测(五)
在前面的博客中,我们知道一个最简单的Eureka微服务架构,也要由3个项目组成,当项目增多的时候,Eureka是怎么维护服务的呢?如何确保其中一个服务实例不能使用了,将它排除出去呢?由于整个演示过程还是Eureka的内容,我们首先从Spring Cloud服务管理框架Eureka简单示例(三)文章底部的源码链接拿到我们的示例代码。客户端心跳推送与检测Eureka分为服务器端和客户端,客...原创 2018-05-03 16:15:16 · 10780 阅读 · 2 评论 -
OpenFeign之feign使用简介(十一)
feign中实体类和JSON字符串的转换和传输首先拿到OpenFeign之第一个Feign程序(十)这篇博客底部的源码,分别运行三个项目的**App类里面的main方法,启动三个项目。实际上我们已经在这篇博客中做到了返回一个实体类的JSON字符串,并且在feign客户端将返回的实体类JSON字符串通过解码器转换成实体类。接下来这里继续实现把feign客户端的实体参数转化为JSON字符串,并传输到后...原创 2018-05-17 14:52:48 · 24251 阅读 · 2 评论 -
Netflix之第一个Ribbon程序(六)
Ribbon简介Ribbon是一个在云服务中久经沙场的客户端IPC库,它提供以下的一些特性:负载均衡故障容错在异步和动态的模型中支持多协议通讯(HTTP、TCP、UDP)缓存与批处理引入Ribbon依赖,可以去Ribbon的maven仓库获取,下面是一个maven引入示例:<dependency> <groupId>com.netflix.ribbon</gr...原创 2018-05-04 16:44:18 · 2231 阅读 · 2 评论 -
Spring Cloud服务管理框架Eureka项目集群(四)
紧跟上一篇博客,这里采用的也是上一篇博客的代码作为分析:Spring Cloud服务管理框架Eureka简单示例(三)。我们在搭建起了简单的单机模式Eureka项目之后,如果Eureka服务器和客户端不能满足高并发访问,项目需要集群部署,也可以利用Eureka做到这一点。我们这里创建两个Eureka服务器端,两个Eureka客户端(作为服务提供者),一个Eureka客户端(作为服务调用者),如图:...原创 2018-04-27 11:07:16 · 3199 阅读 · 4 评论 -
Ribbon负载均衡器详细介绍(七)
LoadBalancer的简单轮询规则在上一篇博客中,我们使用Ribbon实现了负载,并且轮询请求了服务,我们就接着分析一下Ribbon里面实现负载均衡的LoadBalancer(负载均衡器),去看看它底层是怎么做的,以及这些请求规则如何配置。首先拿到我们上一篇博客中的ribbon-client项目,在com.init.springCloud包下新建LoadBalancerTest类,在这个类里面...原创 2018-05-05 13:19:13 · 2319 阅读 · 0 评论 -
Spring Cloud中使用Ribbon(八)
用注解和配置文件的方式引用Spring Cloud整合的Ribbon1.准备工作为了实现负载均衡的效果,我们使用Spring Cloud服务管理框架Eureka简单示例(三)底部的源代码稍加修改使用(如果下面的内容看不懂,可以先查看上面这篇博文),eureka-provider需要启动两个实例,修改启动类ProviderApp的main()方法,通过在控制台输入不同的端口(8082和8083)来启...原创 2018-05-06 18:09:26 · 1388 阅读 · 0 评论 -
Spring Cloud中使用Feign(十二)
首先还是需要去们的Spring Cloud服务管理框架Eureka简单示例(三)这篇博客底部拿到源码,这是一个最微型的集群。为了符合后面的测试,先把eureka-provider项目com.init.springCloud包下的ProviderApp类修改成按照端口启动:package com.init.springCloud;import java.util.Scanner;import...原创 2018-05-21 14:12:46 · 2197 阅读 · 5 评论 -
Spring Cloud介绍与环境搭建(一)
前言使用Spring Cloud需要用到Spring boot的知识,如果没有相关经验,请参考Spring Boot的简单使用(二),做一个简单的入门。Spring Cloud系列博客是基于MyEclipse开发工具的。LAMP项目传统的单体项目用一个LAMP结构就可以完成,L:Linux;A:Apache;M:MySQL;P:PHP。在一台服务器上,我们就能完成整个项目的搭建。因为是放置于一个A...原创 2018-04-17 14:36:36 · 20384 阅读 · 2 评论