
SpringCloud学习笔记
java_Upper Cave Man
这个作者很懒,什么都没留下…
展开
-
SpringCloud 学习笔记十二 服务网关-spring cloud zuul
需求前面我们搭建了User、Order、Pay几个服务模块,它们之间互相通信都是直接访问对象,在生产环境下,一般我们要求用户登录授权之后才能执行相关操作,如果每个微服务都去做一套登录检查逻辑,那么会对性能造成大量的损耗,所以我们需要一个插件把登录检查公共的逻辑进行统一抽取,那么只需要做一套检查逻辑就可以了,那么我们需要用到SpringCloud 的Zuul插件来实现这个功能;什么是ZuulZuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet(filt转载 2020-06-21 15:55:58 · 413 阅读 · 0 评论 -
SpringCloud 学习笔记十一 服务监控-Hystrix Dashboard & Turbine
Hystrix是一种服务熔断机制,其熔断降级策略有效的防止了微服务的雪崩问题,Hystrix的出现提高了微服务的可用性和健壮性,而Hystrix Dashboard则是用来监控Hystrix的熔断器状况的重要组件(又叫仪表盘),它提供了数据监控,健康状态,熔断状态,并发数量等等信息,和友好的图形化展示界面,能让使用者很好的监控和分析熔断器的状态原文链接:https://blog.youkuaiyun.com/u014494148/article/details/105094817点击学习....转载 2020-06-13 12:51:28 · 233 阅读 · 0 评论 -
SpringCloud 学习笔记十 多模块搭建-pay服务(Feign)+熔断器Hystrix
上一章使用ribbon+hystrix实现了了方法的熔断,这里我们使用feign+hystrix来实现熔断回顾什么是feignRibbon和Feign都是客户端负载均衡器,它的作用是在服务发生调用的时候帮我们将请求按照某种规则分发到多个目标服务器上,简单理解就是用来解决微服务之间的通信问题。官方文档地址:https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/single/spring-cloud.html#spring-cloud-fei原创 2020-06-13 03:23:14 · 487 阅读 · 0 评论 -
SpringCloud 学习笔记九 多模块搭建-order服务(ribbon)+熔断器Hystrix
Hystrix介绍Hystrix是国外知名的视频网站Netflix所开源的非常流行的高可用架构框架。Hystrix能够完美的解决分布式系统架构中打造高可用服务面临的一系列技术难题,如雪崩。Hystrix是处理依赖隔离的框架,将出现故障的服务通过熔断、降级等手段隔离开来,这样不影响整个系统的主业务(比如你得了传染病是不是要把你关起来隔离呢),同时也是可以帮我们做服务的治理和监控。Hystrix的英文是豪猪,中文翻译为 熔断器,其思想来源于我们家里的保险开关,当家里出现短路,保险开关及时切掉电路,保证家里原创 2020-06-13 02:49:31 · 419 阅读 · 0 评论 -
SpringCloud 学习笔记八 多模块搭建-实现客户端均衡(feign)
前面我们集成了ribbon实现了客户端的负载均衡,这里我们要使用feign实现为什么要使用Feign在前一章节,我们使用Ribbon作为客户端负载均衡完成了订单服务和用户服务的通信,其实我们可以发现,当我们通过RestTemplate调用其它服务时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻。而Feign的服务调用方式对于程序员来说更为友好,它基于Ribbon进行了封装,把一些负责的url和参数处理细节屏蔽起原创 2020-06-13 01:44:16 · 322 阅读 · 0 评论 -
SpringCloud 学习笔记七 多模块搭建-实现客户端均衡(Ribbon)
前面我们已经利用RestTemplate实现了order服务和User服务之间的通信。还记得之前User我搭建了两个服务,那么order服务访问user的时候是走的哪个服务去拿的数据呢,我们可以在user服务的controller类里面稍微改动一下:@RestControllerpublic class UserController { @Value("${server.port}") private int port; //这里读取的是当前服务器端端口 @GetMappi原创 2020-06-13 01:09:36 · 279 阅读 · 1 评论 -
SpringCloud 学习笔记六 使用RestTemplate实现服务之间通信
前面我们已经搭建好了User和Order模块,这里我们来简单实现他们之间的服务通信。再User模块新建一个Web.controller的包。写一个controller类,返回一个User对象,所以我们这里需要一个User对象,这里对象能够被所有的子模块都能获取到。哪个模块需要的时候我们就引入依赖就可以了。so 先新建一个子模块,不需要引任何的依赖。里面只需要一个domain,写一个User实体类public class User { private Long id; private S原创 2020-06-13 00:08:21 · 405 阅读 · 0 评论 -
SpringCloud 学习笔记五 多模块搭建-搭建Order模块
前面我们已经搭建好了两个模块,现在我们继续搭建一个子order模块,搭建好了以后我们实现简单版的服务通信直接上代码 ,pom配置: <dependency> <!--该依赖集成了spring的web,webmvc,tomcat等一系列的jar包--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st原创 2020-06-12 23:15:04 · 270 阅读 · 0 评论 -
SpringCloud 学习笔记四 多模块搭建-搭建User模块(集群)
前面我们已经搭建完成了服务端,现在我们要搭一个建客户,在多模块的项目结构中,一个模块就代表一个功能块,所以我们新建一个子模块。注意该模块是一个客户端,所以我们导包要导入eureka-client的客户端,由于我们启动需要tomcat,所以要导入springboot 包 下的starter-web包,不然启动会报错。前面忘了提新建的模块需要删除build和properties的配置,暂时不需要其他插件,java1.8版本我们在父模块就配置了,对所有子模块都有效下面是pom需要引入的jar包<depe原创 2020-06-12 22:59:29 · 328 阅读 · 0 评论 -
SpringCloud 学习笔记三 多模块搭建-搭建Eureka模块(集群)
前面我们讲了Eureka是用来管理微服务通信地址清单的,其他客户端需要注册到服务中心,它既可以是服务端,也可以是客户端。我这里使用搭建集群的方式。在父模块上面新建一个子模块,勾选一个maven-quickstart.骨架 引入eurekaServer服务端jar包。当然独立模式和集群模式配置文件的方式肯定有所区别,下面是官网地址,有兴趣的可以点进去学习,官网文档地址.独立模式配置:server: port: 8761eureka: instance: hostname: l原创 2020-06-12 22:08:35 · 370 阅读 · 0 评论 -
SpringCloud 学习笔记二 多模块搭建-搭建父模块
第一篇我们已经了解了springCloud的功能和一些常用的组件及说明。这里我们先把项目结构打起来,用到的开发软件为idea2007的版本。我这里采用多模块的方式搭建项目,所以我们要新建一个父模块来统一管理jar包 ,新建一个maven项目,我们只是管理jar包,没有java代码,所以不需要选择骨架。这里我们需要引入SpringBoot的包及SringCloud的相关jar包。前面说过了两者有版本兼容的问题,所以我这里SpringBoot使用的是2.0.5.RELEASE,SringCloud使用的是F原创 2020-06-12 18:41:17 · 318 阅读 · 0 评论 -
SpringCloud学习笔记一 SpringCloud简介
现在市面上比较热微服务,今天花时间整理了一下SpringCloud的搭建及一些常用组件的功能及搭建流程,如有不对的地方欢大牛们的指导一 什么是springcloudSpring cloud是一个基于Spring Boot实现的服务治理工具包,用于微服务架构中管理和协调服务的。Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格原创 2020-06-12 18:18:45 · 317 阅读 · 0 评论