自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(326)
  • 收藏
  • 关注

原创 spring cloud微服务分布式云架构(四)-断路器(Hystrix)

在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫...

2019-03-21 09:57:23 388 1

原创 spring cloud微服务分布式云架构(三)-服务消费者(Feign)

一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八...

2019-03-21 09:45:46 355 1

原创 spring cloud微服务分布式云架构(二)-服务消费者(rest+ribbon)

在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零一、ribbon简介ri...

2019-03-21 09:37:24 385 1

原创 spring cloud微服务分布式云架构(一)-spring cloud 服务注册与发现

Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。而Spring Cloud Netflix项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它...

2019-03-21 09:24:27 289 1

原创 spring cloud微服务分布式云架构-单点登录(SSO)

单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即 通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等等。这些应用系统服务于企业的...

2019-03-21 09:22:48 2707 1

原创 spring cloud微服务分布式云架构--hystrix的使用

hystrix主要作用在服务消费者,进行应用的保护,当请求的服务请求超时时,做出相应的处理,避免客户端一直进行请求等待,避免在高并发的情况出现服务器死机(请求过多,内存不足)接下来的通过一个案例对hystrix的使用进行说明,案例完成的功能:服务消费者根据Id调用服务提供者的接口,获取User表单的对应的记录,若请求超时则返回id为-1的User记录一、基于Ribbon<parent...

2019-03-20 09:54:45 201 1

原创 spring cloud微服务分布式云架构-Gateway入门

Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一...

2019-03-20 09:43:50 453 1

原创 spring cloud微服务分布式云架构-config配置自动刷新

本项目采用版本选择:springboot的版本是2.1.2.RELEASEspringcloud的版本是Greenwich.SR1springcloud仓库使用的是Gitee1、下载并安装RabbitMq下载地址:http:/ /www.rabbitmq.com/download.html2、SpringCloud Config Server端配置config-server pom....

2019-03-20 09:41:51 255 1

原创 spring cloud微服务分布式云架构- Config 快速开始

启动服务器:$ cd spring-cloud-config-server$ ../mvnw spring-boot:run该服务器是一个Spring Boot应用程序,所以您可以从IDE运行它,而不是喜欢(主类是ConfigServerApplication)。然后尝试一个客户端:$ curl localhost:8888/foo/development{"name":"develo...

2019-03-20 09:20:23 165 1

原创 spring cloud微服务分布式云架构- Eureka服务器搭建及配置

第一步,创建一个普通的springboot项目以下方法都可以快速创建一个boot项目:浏览器访问http://start.spring.io/,填写信息,下载zip包,加压到你的ide的工作空间直接使用。使用idea自动生成boot项目使用eclipse创建boot项目Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零第二步,在pom.xml...

2019-03-20 08:59:48 362 1

原创 spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点

SpringCloud分布式的五大重点的基本介绍服务器的注册与发现—Netflix Eureka客户端负载均衡—Netflix Ribbon断路器—Netflix Hystrix服务网关—Netflix Zuui分布式配置—Spring Cloud ConfigSpring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零Eureka:一个RESTful服务,用来定...

2019-03-19 09:32:22 205 1

原创 spring cloud微服务分布式云架构--服务注册(consul)

一、consul 简介consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value 存储多数据中心consul可运行在mac windows linux 等机器上。二、consul安装linux$ mkdir -p $GOPATH/src/github.com/hashicorp && c...

2019-03-19 09:17:21 234 1

原创 整合spring cloud云架构 --spring cloud分布式系统中实现分布式锁

一、简介一般来说,对数据进行加锁时,程序先通过acquire获取锁来对数据进行排他访问,然后对数据进行一些列的操作,最后需要释放锁。Redis 本身用 watch命令进行了加锁,这个锁是乐观锁。使用 watch命令对于频繁访问的键会引起性能的问题。二、redis命令介绍SETNX命令(SET if Not eXists)当且仅当 key 不存在,将 key 的值设为 value ,并返回1...

2019-03-19 09:08:20 161 1

原创 整合spring cloud云架构 --注册中心搭建

springCloud和springBoot之间的区别:springboot简化xml配置,快速整合框架springcloud是一套微服务解决方案,主要用在RPC远程调用springcloud和springboot之间的关系:springcloud(接口:springMV)依赖于springboot(web组件springMVC)搭建springCloud项目:pom文件:&lt;?x...

2019-03-19 09:05:03 207 1

原创 整合spring cloud云架构 - Gateway的基本入门

1.gateway和zuulSpring Cloud Finchley版本的gateway比zuul 1.x系列的性能和功能整体要好,且使用 Gateway 做跨域相比应用本身或是 Nginx 的好处是规则可以配置的更加灵活.这两者相同的地方就是都是作为网关,处理前段的请求,可以进行路由到对应的服务或者url,也可以针对权限做过滤处理,也可以对其他服务响应的结果做处理。2.简单使用gatew...

2019-03-19 09:01:27 1078 1

原创 spring cloud构建互联网分布式微服务云平台- hystrix工作原理

Hystrix是Netflix开源的一个限流熔断的项目、主要有以下功能:隔离(线程池隔离和信号量隔离):限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。 优雅的降级机制:超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。融断:当失败率达到阀值自动触发降级(如因网络故障/超时造成的失败率高),熔断器触发的快速失败会进行快速恢复。Spring...

2019-03-18 14:49:33 274 1

原创 整合spring cloud云架构 -高可用的分布式配置中心

一、 准备工作继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-netflix- eureka-server,代码如下:&lt;?xml version="1.0" encoding="UTF...

2019-03-18 14:41:48 194 1

原创 企业级 SpringBoot 教程 (二十五)sprinboot整合elk,搭建实时日志平台

elk 简介Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。Kibana 也是一个开源和免费的...

2019-03-18 14:34:41 171 1

原创 企业级 SpringBoot 教程 (二十四)springboot整合docker

这篇文篇介绍,怎么为 springboot程序构建一个docker镜像。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器...

2019-03-15 09:32:39 348 1

原创 企业级 SpringBoot 教程 (二十三)异步方法

创建工程在pom文件引入相关依赖:&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter&amp;lt;/artifactId&amp;g

2019-03-15 09:19:52 172 1

原创 企业级 SpringBoot 教程 (二十一)springboot集成JMS

构架工程创建一个springboot工程,在其pom文件加入:&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-mail&amp;lt;/artifactId&am

2019-03-15 09:18:24 240 1

原创 企业级 SpringBoot 教程 (二十)处理表单提交

这篇文件主要介绍通过springboot 去创建和提交一个表单。创建工程涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的起步依赖。&amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframewo...

2019-03-15 09:16:26 142 1

原创 spring cloud微服务分布式云架构-服务消费者Feign

一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解Feign 整合了...

2019-03-15 09:14:39 109 1

原创 spring cloud微服务分布式云架构-Spring Cloud Netflix

该项目通过自动配置为Spring Boot应用程序提供Netflix OSS集成,并绑定到Spring环境和其他Spring编程模型成语。通过几个简单的注释,您可以快速启用和配置应用程序中的常见模式,并通过经过测试的Netflix组件构建大型分布式系统。提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)。Spring Cloud大...

2019-03-14 09:07:17 120 1

原创 spring cloud微服务分布式云架构-Spring Cloud Bus

spring CloudBus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-star...

2019-03-14 09:04:49 125 1

原创 spring cloud微服务分布式云架构-Spring Cloud Config环境库

您要在哪里存储配置服务器的配置数据?管理此行为的策略是EnvironmentRepository,服务于Environment对象。此Environment是Spring Environment(包括propertySources作为主要功能)的域的浅层副本。Environment资源由三个变量参数化:Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零{applica...

2019-03-14 09:01:16 121 1

原创 spring cloud微服务分布式云架构-Commons 普通抽象

负载平衡和断路器之类的模式适用于所有Spring Cloud客户端可以独立于实现(例如通过Eureka或Consul发现)的消耗的共同抽象层。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零@EnableDiscoveryClientCommons提供@EnableDiscoveryClient注释。这通过META-INF/spring.factories查找Di...

2019-03-14 08:58:13 130 1

原创 spring cloud微服务分布式云架构-服务网关过滤器

过滤器作用我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会将所有的微服务接口都对它们开放。然而,目前的服务路由并没有限制权限这样的功能,所有请求都会被毫无保留地转发到具体的应用并返回结果,为了实现对客户端请求的安全校验和权限控制,最简单和粗暴的方法就是为每个微服务应用都实现一...

2019-03-14 08:57:05 143 1

原创 (十七)spring cloud微服务分布式云架构-eureka 基础

在构建项目之前,我们先学习一下eureka,这是官方的讲解,我这边再重新帮大家回顾一下:服务发现:Eureka客户端 Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Netflix服务发现服务器和客户端是Eureka。可以将服务器配置和部署为高可用性,每个服务器...

2019-03-13 10:02:54 105 1

原创 (十六)spring cloud微服务分布式云架构-集成项目简介

Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的。在学习Spring Cloud之前大家必须了解一下相关项目,希望可以帮助到大家。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零Spring Cloud Config配置管理工具包,让你可以把...

2019-03-13 09:54:47 161 1

原创 (十五)spring cloud微服务分布式云架构-commonservice-config配置服务搭建

介绍Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的...

2019-03-13 09:48:06 182 1

原创 (十四)spring cloud微服务分布式云架构-服务注册与发现(Eureka、Consul)

Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零Spring Cloud包含了多个子项目(针对分...

2019-03-13 09:17:10 151 1

原创 (十三)spring cloud微服务分布式云架构-服务容错保护(Hystrix断路器)

断路器断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器...

2019-03-13 09:12:24 147 1

原创 (十二)spring cloud微服务分布式云架构-Hystrix服务降级

动手试一试在开始使用Spring Cloud Hystrix实现断路器之前,我们先拿之前实现的一些内容作为基础,其中包括:Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零eureka-server工程:服务注册中心,端口:1001eureka-client工程:服务提供者,两个实例启动端口分别为2001下面我们可以复制一下之前实现的一个服务消费者:eureka...

2019-03-12 09:59:53 157 1

原创 (十一)spring cloud微服务分布式云架构-服务消费(基础)

使用LoadBalancerClient在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Cloud做这一层抽象,很好的解耦了服务治理体系,使得我们可以轻易的替换不同的服务治理设施。 Spring ...

2019-03-12 09:51:09 129 1

原创 (十)spring cloud微服务分布式云架构-Ribbon

一:Ribbon是什么?Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)去连接这些机器。我们也很容易使用Rib...

2019-03-12 09:45:28 186 1

原创 (九)spring cloud微服务分布式云架构-服务注册(consul)

这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零consul 具有以下性质:服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。服务健康监测key/value 存储多数...

2019-03-12 09:40:44 209 1

原创 (八)spring cloud微服务分布式云架构- Spring Cloud 组件和概念介绍

一:什么是微服务(Microservice)微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩。 Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零 微服务...

2019-03-12 09:32:05 313 1

原创 (七)spring cloud微服务分布式云架构-服务消费者(rest+ribbon)

一、ribbon简介Ribbon is a client side load balancer which gives you a lot of control over the behaviour of HTTP and TCP clients. Feign already uses Ribbon, so if you are using @FeignClient then this sect...

2019-03-11 09:25:10 118 1

原创 (六)spring cloud微服务分布式云架构-服务网关Zuul高级篇

Zuul的核心Filter是Zuul的核心,用来实现对外服务的控制。Filter的生命周期有4个,分别是“PRE”、“ROUTING”、“POST”、“ERROR”。Zuul大部分功能都是通过过滤器来实现的,这些过滤器类型对应于请求的典型生命周期。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零PRE: 这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身...

2019-03-11 09:20:19 112 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除