SpringCloud
xiaoshijiu333
farewell
展开
-
SpringCloud学习(一)Eureka服务注册和发现组件问题引入和代码详细过程
SpringCloud并不是一个新的技术栈,它是微服务架构的集大成者,为分布式微服务提供了一整套解决方案,将一系列优秀的组件进行了整合,让我们熟悉Spring框架的开发者极易上手,通过简单的配置即可达到想要的效果SpringBoot目的就是简化Spring应用的搭建,旨在让我们通过少量的配置即可开箱使用,让开发者真正关注业务逻辑的开发SpringCloud依托SpringBoot搭建一个个服务...原创 2019-06-23 16:19:51 · 268 阅读 · 0 评论 -
SpringCloud错误:Illegal character in path at index 29: http://localhost:7000/eureka/ /
错误原因:将服务注册到Eureka中心时,配置文件中写法,在两个Eureka地址之间加了空格,导致报错URL中含有不合法的字符错误写法:# 注册到Eureka中eureka: instance: instance-id: springcloud-zuul-config-5001 client: service-url: defaultZone: http:...原创 2019-07-15 12:13:19 · 3964 阅读 · 0 评论 -
SpringCloud学习(九)Spring Cloud Config的介绍和使用
一. 综述基本上每个微服务都是使用application.yml(properties)进行配置,在实际应用中集群中会有多个服务,每个服务可能都要部署多个实例,项目开始运营后,如何对项目中的配置进行管理?如何实现修改配置而不重启服务?Spring Cloud已经为这些问题提供了解决方案:Spring Cloud ConfigSpring Cloud Config为分布式系统提供了配置服务器和...原创 2019-07-15 11:13:30 · 324 阅读 · 0 评论 -
SpringCloud学习(五)Feign的使用方式(二)——服务提供者实现Feign接口的形式
上一篇博客介绍了Feign能帮我们解决什么问题以及Feign的第一种使用方式SpringCloud学习(四)Feign的使用方式(一)——服务提供者RequestMapping一致形式现在介绍如何通过实现Feign接口的形式,更简单的使用Feign使用的版本:spring-cloud-openfeign 2.1.0.RELEASESpringCloud版本:Greenwich.RELEAS...原创 2019-07-05 15:07:59 · 11247 阅读 · 19 评论 -
SpringCloud学习(四)Feign的使用方式(一)——服务提供者RequestMapping一致形式
一. 综述之前微服务之间的调用是使用RestTemplate,虽然存在Eureka注册中心的情况下,可以使用服务提供者的name代替url。但是类似“/SPRINGCLOUD-EMPLOYEE-PROVIDER/emp/list"这种地址, 存在的问题是:消费者必须要明确提供者的 application.name还是太长,写起来还是很麻烦等Feign: 是Netflix开发的声明式...原创 2019-07-05 14:30:18 · 4665 阅读 · 0 评论 -
SpringCloud学习(八)Zuul的介绍和进阶使用(Zuul自定义过滤器和整合Hystrix)
一. 综述Spring Cloud 集群提供了多个组件,用于进行集群内部的通信,例如服务管理组件Eureka,负载均衡组件Ribbon。如果集群提供了API或者Web服务,需要与外部进行通信,比较好的方式是添加一个网关,将集群的服务都隐藏到网关后面。这种做法对于外部客户端来说,无须关心集群的内部结构,只需关心网关的配置等信息。对于Spring Cloud集群来说,不必过多暴露服务,提升了集群的安...原创 2019-07-14 17:55:51 · 694 阅读 · 0 评论 -
SpringCloud学习(三)Ribbon及自定义Ribbon负载均衡算法——每个服务轮询三次
项目代码GitHub地址:SpringCloud入门学习何为负载均衡:通俗点讲就是将一次请求分摊到多个操作单元上。在分布式系统架构中,为了提高系统的可用性,通常会有很多相同的服务提供者,那每一次请求该如何选择哪一个服务呢?这就是负载均衡存在的意义,明确如何选择。Spring Cloud Ribbon:是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过S...原创 2019-07-04 16:31:41 · 2069 阅读 · 5 评论 -
SpringCloud学习(二)搭建Eureka集群
项目代码GitHub地址:SpringCloud入门学习 继续SpringCloud的学习,为了提高系统的高可用性,在分布式系统架构设计中,一般都会将一个服务复制好几份分别部署,这样即使一个服务挂了,也不会影响整个系统的可用性。同理服务注册中心也是这样的,集群环境下即使一个注册中心挂了,也不会影响整个系统的可用性。此次准备搭建两个Eureka注册中心,三个部门服务提供者,一个部门服务消费者。...原创 2019-07-04 15:55:03 · 227 阅读 · 0 评论 -
SpringCloud学习(七)使用Hystrix Dashboard 进行服务监控
Hystrix Dashboard:顾名思义就是熔断器仪表盘,可以使用可视化界面对服务进行监控注意:网上的资料教程大多是SpringCloud和SpringBoot低版本的,我在使用最新版本的时候,遇到了一些坑,也就是版本不同导致的使用的版本:spring-cloud-starter-netflix-hystrix-dashboard : 2.1.0.RELEASESpringCloud版...原创 2019-07-09 00:10:39 · 441 阅读 · 0 评论 -
关于java.util.LinkedHashMap cannot be cast to 实体类......问题的出现以及解决办法
在使用RestTemplate调用服务的时候,因为服务提供者返回的是一个List集合,所以在使用消费者调用的时候,restTemplate.getForObject()期待返回的类型直接写成了List.class @GetMapping("/list2") public List<EmployeeModel> list2() { List<Employe...原创 2019-06-23 21:53:07 · 85086 阅读 · 7 评论 -
SpringCloud学习(六)Feign中使用Hystrix进行服务熔断
一. 综述在微服务架构中,业务会被拆分成一个个服务,服务间可以彼此调用。为了保证服务的高可用性,单个服务通常会被集群部署,但是由于网络等原因,服务并不能保证100%可用。如果某个服务出现了问题,那么调用这个服务就会出现线程阻塞,如果此时又有大量的请求涌入,Servlet容器的线程资源就会被迅速消耗殆尽,最终导致服务瘫痪。服务与服务之间的依赖,导致了故障会传播,以致于会对整个微服务系统造成影响,导...原创 2019-07-07 17:43:33 · 789 阅读 · 1 评论 -
SpringCloud学习(十)Spring Cloud Config客户端 /refresh 端点刷新配置
前面介绍了Spring Cloud Config 的基本使用SpringCloud学习(九)Spring Cloud Config的介绍和使用实际应用生产中,不免需要修改远端配置文件,不可能重启客户端服务去获得最新的配置。我们可以访问客户端的 /refresh 端点进行刷新访问该端点需要使用 POST 方式,需要提前引入依赖 actuator <!-- 监控 --> ...原创 2019-07-15 15:59:33 · 950 阅读 · 0 评论