
Spring Cloud
文章平均质量分 92
Brimen_do
高度自律就能高度自由
展开
-
第十三章 Spring Cloud 单体服务数据监控(Hystrix Dashboard)
在微服务架构当中,断路器(Hystrix)我们经常使用,为了监控某个微服务的数据请求状况以及很快定位到程序当中出现的问题,我们就需要Hystrix DashBoard,Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。我们需要创建两个微服务应用Eureka Server注册中心(spring-cloud-eureka-server)和Hystrix ...原创 2019-02-15 17:47:52 · 286 阅读 · 0 评论 -
第十五章 Spring Cloud GateWay 初识
Spring Cloud作为Spring Cloud官方推荐的第二代框架,取代Zuul网关。网关作为流量控制,在微服务架构当中有非常重要的作用。网关常用的功能有路由转发、权限校验和限流控制等。本案例来源于官网,在官网的基础之上进行实现。1、准备工作本篇文章需要父项目(spring-cloud-brimen-gateway)和子工程(spring-cloud-gateway-first),关于...原创 2019-03-14 21:14:32 · 281 阅读 · 0 评论 -
第五章 Spring Cloud 路由网关(zuul)
在基础架构当中,需要几个服务治理组件,包括服务的注册与发现、负载均衡、路由网关、服务消费、断路器和配置管理等几个组件,共同组成了简单的微服务系统。架构图如下:1、Zuul 简介zuul的主要功能是做路由转发和过滤,比如说/api/user转发到user,/api/shop转发到shop。2、准备工作本篇文章是基于上一篇文章的基础之上实现的,因此在之前4个工程的基础之上再加一个工程一共是...原创 2019-03-04 21:19:40 · 273 阅读 · 0 评论 -
第二章 Spring Cloud 服务的注册与发现(Eureka Server)
上一篇文章我们讲解了Spring Cloud以及相关的一些概念,你也许会有些不解,没有关系,从本章开始,会逐一讲解。Eurek包括两部分:Eurek Server和Eureka ClientEureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直...原创 2019-02-26 21:55:59 · 266 阅读 · 0 评论 -
第一章 Spring Cloud 组件和概念介绍
1、什么是微服务微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩展。2、微服务的使用场景(1)、我们把整个系统根据业务拆分成几个子系统。(2)、每个子系统可以部署多个应用,多个应用...原创 2019-02-25 22:42:09 · 168 阅读 · 0 评论 -
第四章 Spring Cloud 服务消费者(Feign)
Feign是一个声明式的伪客户端,它使得写http客户端变得更为简单,使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。总而言之:1、Feign 采用的是基于接口的注解。2、Feign 整合了ribbon,具有负载均...原创 2019-02-28 22:04:02 · 216 阅读 · 0 评论 -
第九章 Spring Cloud 消息总线-Final版(Spring Cloud Bus)
在上一篇文章当中,我们利用消息总线触发一个客户端(/actuator/bus-refresh),然后刷新所有客户端而重新请求获得配置属性的目的。它有以下缺点:1、打破了微服务职责的单一性,微服务本身是业务模块,它不应该承担配置刷新的责任。2、破坏了微服务各节点的对等性。在上一篇文章的基础之上我们稍微对它做一些改动,架构图如下:步骤如下:1、触发post请求(/actuator/bus...原创 2019-02-19 17:02:33 · 190 阅读 · 0 评论 -
第三章 Spring Cloud 服务消费者(Rest+Ribbon)
在上一篇文章当中,讲了服务的注册与发现。在服务架构单中,业务会被拆分成一个一个独立的服务,服务与服务之间的通讯是通过Http Rest的,Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。1、Ribbon简介ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为,Feign默认集成了ribbon。2、准备工作本篇...原创 2019-02-28 21:19:51 · 176 阅读 · 0 评论 -
第十一章 Spring Cloud Eureka服务集群高可用
之前的文章,我们介绍了服务的注册与发现,一个Eureka Server服务是一个实例,当成千上万个客户端向它注册的时候,它的压力是非常大的,一旦承受不了就会崩溃,因此我们就用到了Eurek Server集群。Eureka Server服务集群其实就是多个服务注册中心来分担压力,即使其中一个Eureka Server注册中心崩溃了,也不会对项目造成影响。按照我们传统的逻辑,我们既然使用的是Eur...原创 2019-02-24 22:40:47 · 290 阅读 · 0 评论 -
第八章 Spring Cloud 消息总线(Spring Cloud Bus)
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。架构图如下:准备工作:本篇文章基于上一篇的基础上进行改造和实现。本章需要用到rabbitmq,我极力推荐使用docker安装。如果直接在linux上安装,非常的复杂和麻烦...原创 2019-02-18 16:58:15 · 262 阅读 · 0 评论 -
第十章 Spring Cloud 服务链路追踪(Spring Cloud Sleuth)
Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。...原创 2019-02-23 20:33:48 · 280 阅读 · 0 评论 -
第七章 Spring Cloud 分布式集群配置
上一篇讲了如何从配置中心读取文件,配置中心如何从git当中读取文件获得属性。当服务实例有成百上千个的时候,一个配置中心可能承载不了压力,这个时候我们可以把配置中心做成集群,从而分散压力,做到负载均衡,达到高可用的目的。架构图如下:本篇文章基于上一篇文章进行实现,一共创建了4个微服务程序spring-cloud-eureka-server、spring-cloud-config-1、sprin...原创 2019-02-18 15:01:35 · 418 阅读 · 0 评论 -
第六章 Spring Cloud 分布式配置
在分布式系统当中,由于服务数量非常多,当你维护配置文件时,需要一个一个的修改,如果有成百上千个服务,那你肯定疯了,啥都不干了,光干这活就可以了,因此分布式配置中心组件(Spring Cloud Config)就应运而生,它支持放在服务本地内存当中,也支持放在git仓库当中。本篇文章需要git的支持,因此你需要申请一个git账号。1、构建服务配置中心(spring-cloud-config)第...原创 2019-02-18 11:09:03 · 172 阅读 · 0 评论 -
第十四章 Spring Cloud 集群数据监控(Hystrix Turbine)
上一篇文章当中,使用“Hystrix Dashboard”进行单体应用的监控,其实没有多大的意义,在实际应用中,我们要监控的应用往往是一个集群,这个时候我们就得采取Turbine集群监控了。Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix Dashboard来集中展示和监控。那我们就来看看Turbine集群监控如何使用。本章是基于上一章的基础上进行实现,需...原创 2019-02-15 19:05:36 · 664 阅读 · 0 评论 -
第十二章 Spring Cloud 断路器(Hystrix)
在微服务架构当中,根据业务来拆分成一个一个的微服务,服务和服务之间可以相互调用(RPC),Spring Cloud可以用RestTemplate+Ribbon和Feign来实现,为了保证高可用,单个服务会集群部署,由于网络或者自身原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现阻塞,此时如果有大量的请求涌入,Servlet容器就会被消耗完毕,由于服务和服务之间有依赖姓,...原创 2019-03-07 21:45:08 · 231 阅读 · 0 评论