springcloud
御前两把刀刀
一个善于总结的,一个喜欢书法的全栈程序员
展开
-
SpringCloud系列十:使用zipkin进行服务链路追踪
一. 为什么要进行链路追踪?微服务架构是一种分布式架构,微服务系统按照业务划分服务单元,一个微服务往往会有很多个服务单元,一个请求往往会有很多个单元参与,一旦请求出现异常,想要去定位问题点真心不容易,因此需要有个东西去跟踪请求链路,记录一个请求都调用了哪些服务单元,调用顺序是怎么样的以及在各个服务单元处理的时间长短。常见的服务链路追踪组件有google的dapper、twitter的zipkin、阿里的鹰眼等,它们都是出众的开源链路追踪组件。二.Zipkin介绍spring cloud 有自己的原创 2020-09-24 21:34:10 · 343 阅读 · 1 评论 -
SpringCloud系列九:SpringCloud Config配置中心
一. 为什么需要配置中心?配置文件是我们再熟悉不过的了,尤其是 Spring Boot 项目,除了引入相应的 maven 包之外,剩下的工作就是完善配置文件了,例如 mysql、redis 、security 相关的配置。除了项目运行的基础配置之外,还有一些配置是与我们业务有关系的,比如说业务存储、短信相关、邮件相关,或者一些业务上的开关。对于一些简单的项目来说,我们一般都是直接把相关配置放在单独的配置文件中,以 properties 或者 yml 的格式出现,更省事儿的方式是直接放到 app.原创 2020-09-23 17:41:32 · 288 阅读 · 0 评论 -
SpringCloud系列八:Zuul网关服务
一. 为什么需要网关呢?第一,我们知道我们要进入一个服务本身,很明显我们没有特别好的办法,直接输入IP地址+端口号,我们知道这样的做法很糟糕的,这样的做法大有问题,首先暴露了我们实体机器的IP地址,别人一看你的IP地址就知道服务部署在哪里,让别人很方便的进行攻击操作。第二,我们这么多服务,我们是不是要挨个调用它呀,我们这里假设做了个权限认证,我们每一个客户访问的都是跑在不同机器上的不同的JVM上的服务程序,我们每一个服务都需要一个服务认证,这样做烦不烦呀,明显是很烦的。那么我们这时候..原创 2020-09-20 23:01:47 · 316 阅读 · 1 评论 -
SpringCloud系列七:配置Eureka及时剔除失效服务
一 SpringCloud Eureka自我保护机制 Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,对于这个问题需要服务消费者端要有一些容错机制,如重试,断路器等。 我们在单机测试的时候很容易满足心跳失败比例在 15 分钟之内...原创 2020-09-18 16:03:01 · 1283 阅读 · 0 评论 -
SpringCloud系列六:使用Feign 实现声明式服务调用及参数传递
一.Spring Cloud Feign概念引入通过前面的介绍,我们了解如何通过Spring Cloud ribbon进行负责均衡,如何通过Spring Cloud Hystrix进行服务断路保护,两者作为基础工具类框架应用在各种基础设施类微服务和业务类微服务中,并且成对存在,那么有没有更高层的封装,将两者的使用进一步简化呢? 有! 他就是Spring Cloud Feign。它基于Netflix Feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除原创 2020-09-15 13:55:47 · 643 阅读 · 0 评论 -
SpringCloud系列五:Hystrix断路器
在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖。但是如果有一些服务出现问题了会怎么样?比如说有三个服务(ABC),A调用B,B调用C。由于网络延迟或C本身代码有问题导致B迟迟得不到回应,这样B调用C的请求就会被挂起,等待。在高并发的访问的情况下,这些挂起的线程得不到释放,使后续的请求阻塞,最终导致B也挂掉了。依次类推,A可能也会挂掉,进而使整个系统全部崩溃。为了解决整个问题,Spring Cloud 使用Hystrix进行服务容错保护,包括断路器、原创 2020-09-13 23:43:14 · 180 阅读 · 0 评论 -
SpringCloud系列四:搭建Eureka高可用服务注册中心
在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样,需要多台服务一起工作,组成高可用的服务注册中心。这样,如果有其中一台宕机,系统也能正常运行。那么如何来构建高可用的服务注册中心呢?由于eureka注册中心既可以作为服务端(服务注册中心),也可以作为客户端(到别的注册中心注册自己),我们可以通过在机器上部署两个注册中心,两个注册中心又相互注册。首先,我们来准备两个linux环境,用于部署2个注册中心,在/etc/hosts文件里面加入如原创 2020-09-13 21:37:53 · 344 阅读 · 0 评论 -
SpringCloud系列三:Springcloud负载均衡及restTemplate参数传递
一 负载均衡大家有没有发现在上一篇中,我们已经把springcloud负载均衡的配置加入到了项目中,如下图:并且restTemplate()方法上也加了实现负载均衡的注解@LoadBalanced,如图:那么我们怎么来演示负载均衡呢?我们在cloud_cart_service1项目的基础上,重新建一个cloud_cart_service2项目,提供的服务名称一致,端口号变了,如图:为了方便观察效果,我在details方法上加上一句话表明结果来自哪个服务,如图所示:原创 2020-09-13 21:35:29 · 684 阅读 · 0 评论 -
SpringCloud系列二:Springcloud 服务提供者和服务消费者
一.服务提供者完整的目录结果如下:1. 搭建maven工程(略)2. 修改pom文件,引入依赖,注意看关键依赖上的注释<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原创 2020-09-13 01:46:11 · 293 阅读 · 0 评论 -
SpringCloud系列一:Springcloud介绍及注册中心搭建
一 什么是springcloud 官网的说法:微服务架构集大成者,云计算最佳业务实践。 百度百科的说法:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring ...原创 2020-09-13 01:39:20 · 330 阅读 · 0 评论