
spring cloud
金麟十三少
擅长JAVA,系统架构设计
展开
-
Springboot修改banner,修改控制器启动输出的日志logo
问题:修改控制台输出的banner修改方法:在resource文件夹下,新建banner.txtbanner.txt内容去网站http://patorjk.com/software/taag/#p=display&f=Standard&t=tech上生成,并复制到banner.txt文件里。再次启动后,就会变了。...原创 2020-04-20 15:04:14 · 532 阅读 · 0 评论 -
Content-length different from byte array length! cl=252481044, array=0
zuul上传文件,提示Content-length different from byte array length! cl=252481044, array=0首先, 来说说什么是Content-Length,在http的协议中Content-Length首部告诉浏览器报文中实体主体的大小。这个大小是包含了内容编码的,比如对文件进行了gzip压缩,Content-Length就是压缩后的大小...原创 2019-12-05 11:28:44 · 3846 阅读 · 0 评论 -
Eureka深入理解总结
Eureka的一些概念:Register:服务注册当eureka client向eureka server注册时,它提供了自身的元数据,比如ip地址、端口、运行状况指示符URL、主页等。当eureka client启动的时候,会自动将自身的信息发送到eureka server。引入eureka-client的jar包,里面有个类DiscoveryClient,这个包含client向serv...原创 2019-05-09 21:20:58 · 375 阅读 · 0 评论 -
springboot整合zuul,实现API网关配置
一个应用中可能包含PC、APP等等终端产品,如果使用单一服务入口的话,发生故障后,整个架构服务将不能提供服务。因此我们可以对不同的服务,配置不同的网关策略,正如nginx一样,可以负载均衡。服务网关的要素:稳定性,高可用;安全性;性能,并发性;扩展性;一般api网关的实现方法有这么几种:1、Nginx2、zuul3、Kong,专门提供微服务API管理平台(底层也是基于Ngi...原创 2019-05-01 12:00:06 · 11516 阅读 · 0 评论 -
RestTemplate的三种使用方式
1、springcloud中服务间两种restful调用方式RestTemplate和FeignRestTemplate是一个Http客户端,使用RestTemplate的几种方式:一、RestTemplate template = new RestTemplate();使用服务ip或者域名访问二、使用LoadBalancerClient的choose()获得ServiceIn...原创 2019-05-06 14:54:09 · 2088 阅读 · 0 评论 -
springboot结合swagger2,实现springcloud文档管理
swagger2可以直接生成文档,避免手写接口文档的麻烦和易错性。这里我们用springboot整合swagger2,做个demo。项目pom.xml引入swagger2依赖<!-- swagger2依赖 --> <dependency> <groupId>io.springfox</groupId>...原创 2019-05-06 11:44:44 · 851 阅读 · 0 评论 -
springboot打包war包,部署到tomcat上
这里简单介绍下,大家应该都会。我们maven项目的pom.xml定义的<packaging>war</packaging>,使用maven的clean清理项目,用package打包成war,生成war目录在项目的工作目录下的target目录,生成到tomcat,启动。项目的访问名字,我们定义叫demo。访问项目,/index/login是我们定义的一个接口...原创 2019-05-08 16:46:02 · 110 阅读 · 0 评论 -
springboot结合Feign,实现服务消费
一般服务消费者有这么几种,HttpClient、Feign、Ribbon。这里我们介绍下Feign服务器提供者controller这里Controller里面定义的方法就是服务提供者提供的接口API服务消费者pom.xml<!-- 集成Feign --> <dependency> <groupI...原创 2019-04-30 13:52:40 · 1314 阅读 · 0 评论 -
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.
springboot使用Fegin,创建服务接口,在controller里面注入Feign接口对象,结果启动报错。Description:Field cityClient in com.example.controller.HttpController required a bean of type 'com.example.service.CityClient' that could n...原创 2019-04-30 11:14:49 · 86006 阅读 · 2 评论 -
Springcloud整合redis,实现天气数据的缓存存取
pom.xml引入<!-- 整合redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifa...原创 2019-04-29 08:49:17 · 2263 阅读 · 0 评论 -
SpringCloud微服务的熔断机制Hystrix,springboot结合Hystrix,实现熔断机制、服务降级,雪崩效应介绍,服务限流
这里我们有几个问题:1、什么是服务的熔断机制?熔断机制是对系统的防护,比如受到一些恶意攻击,那么需要熔断机制来保护系统的微服务,做出响应,避免资源被耗尽。既要能响应,又要能防护,当我们的请求达到一个负载阈值,就启用熔断,把真实接口关掉,给客户端请求一个响应,这个响应,我们可以设置。服务熔断就是对该服务的调用执行熔断,对应后续请求,不在继续调用该目标服务,而是直接返回,从而可以快速释放资源,...原创 2019-05-02 22:37:56 · 6398 阅读 · 0 评论 -
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'webname' in value "${w
报错信息:Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'webname' in value "${webname}"正常的配置,使用config client去访问server,启动client的时候,却出现无法解析变量。springboot启动的时候,会去application....原创 2019-05-02 14:42:13 · 45438 阅读 · 4 评论 -
Spring Cloud的负载均衡Ribbon,负载均衡策略
RestTemplate简介RestTemplate是Spring Resources中一个访问第三方RestFul api接口的网络请求框架。RestTemplate 的设计原则和其他Spring Template(例如JdbcTemplate、JmsTemplate)类似,都是为执行复杂任务提供了一个具有默认行为的简单方法。RestTemplate是用来消费REST服务的,所以Rest...原创 2019-01-16 15:56:10 · 308 阅读 · 0 评论 -
Spring Cloud的服务注册和发现Eureka
Eureka和Consul、zookeeper类似,Eureka是一个用于服务注册和发现的组件,Eureka分为Eureka Server和Eureka Client,Eureka Server为服务注册中心,Eureka Client为服务客户端。Eureka基本架构Eureka主要包括三种角色:1、Register Service:服务注册中心,它是一个Eureka Serve...原创 2019-01-16 14:08:26 · 273 阅读 · 0 评论 -
Spring Cloud的服务链路追踪Sleuth
Spring Cloud Sleuth是Spring Cloud的一个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。为什么需要Spring Cloud Sleuth?微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性较高,如果出现了错误和异常,很难去定位。主要体现在一个请求可能需要调用很多个服务,...原创 2019-01-21 21:00:27 · 290 阅读 · 0 评论 -
Spring Cloud的配置中心Config
Spring Cloud有一个组件,用来管理分布式配置中心文件,那就是Spring cloud config。Config可以从本地仓库读取配置文件,也可以从远处Git仓库读取。本地仓库是指将所有的配置文件统一写在目录下。config暴露Http API接口,Config Client通过调用Config的Http API接口来读取配置文件。统一管理微服务配置需求:(1)集中管理配置...原创 2019-01-21 20:13:17 · 173 阅读 · 0 评论 -
Spring Cloud的路由网关Zuul
Zuul作为微服务系统的网关组件,用于构建边界服务,致力于动态路由、过滤、监控、弹性伸缩和安全。为什么需要Zuul?zuul作为路由网关组件,在微服务架构中有着非常重要的作用,主要体现在以下几个方面:一、Zuul Ribbon以及Eureka相结合,可以实现智能路由和负载均衡的功能,Zuul能够将请求流量按某种策略分发到集群状态下的多个服务实例。二、网关将所有服务的API接口统一聚...原创 2019-01-21 19:49:34 · 158 阅读 · 0 评论 -
Spring Cloud的熔断器Hystrix
什么是Hystrix?在分布式系统中,服务与服务之间的依赖错综复杂,一种不可避免的情况是某些服务会出现故障,导致依赖于它们的其他服务出现远程调度的线程阻塞。Hystrix是Netflix公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现的联动故障。Hystrix是通过隔离服务的访问点阻止联动故障的,并提供故障的解决方案,从而提高了整个分布式系统的弹性。Hystrix解决了什么...原创 2019-01-18 14:46:19 · 161 阅读 · 0 评论 -
Spring Cloud的声明式调用Feign
Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribb...原创 2019-01-17 11:22:58 · 232 阅读 · 0 评论