摘要: ribbon有7种负载均衡策略可供选择: 如果想要创建一个全局的负载策略,只需添加一个配置类,也可自己扩展,添加逻辑,如下: 如果想要对某个服务源设置特有的策略,可以在工程启动类上添加@RibbonClient注解,当然,对应配置代码也需要调整: 如果想使用配置文件的方式,进行配置负责策略,语法是 阅读全文
posted @ 2019-10-18 16:15 KingJames、 阅读(15103) 评论(0) 推荐(3) 编辑
摘要: 公共依赖: 1、创建eureka-server注册中心工程 a、eureka-server工程pom依赖: b、eureka-server启动类: c、eureka-server工程配置文件:eureka-server\src\main\resources\bootstrap.yml d、启动注册中 阅读全文
posted @ 2019-10-17 21:21 KingJames、 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:Mysql主从复制原理及同步延迟问题 主从复制解决的问题 数据分布:通过复制将数据分布到不同地理位置 负载均衡:读写分离以及将读负载到多台从库 备份:可作为实时备份 高可用性:利用主主复制实现高可用 复制原理 复制的原理其实很简单,仅分为以下三步: 在主库上把数据更改记录到二进制日志bi 阅读全文
posted @ 2019-10-17 18:52 KingJames、 阅读(2048) 评论(0) 推荐(2) 编辑
摘要: 本文转载自:JWT 身份认证优缺点分析以及常见问题解决方案 Token 认证的优势 相比于 Session 认证的方式来说,使用 token 进行身份认证主要有下面三个优势: 1.无状态 token 自身包含了身份验证所需要的所有信息,使得我们的服务器不需要存储 Session 信息,这显然增加了系 阅读全文
posted @ 2019-10-17 18:09 KingJames、 阅读(5726) 评论(0) 推荐(0) 编辑
摘要: 使用feign调用服务的时候,存在一个问题,比如当前服务调用A服务,在请求头中包含了某些特殊的字段信息,比如当前操作人的token信息,调用A的时候可以正常拿到token,然而在去调用B服务的时候,可能就会丢失token信息,自然也就调用B服务失败。解决方式就是在feign调用的时候,向请求头里添加 阅读全文
posted @ 2019-10-16 17:37 KingJames、 阅读(2497) 评论(0) 推荐(0) 编辑
摘要: 当feign和ribbon整合hystrix之后,可能会出现首次调用失败的问题,出现原因分析如下: hystrix默认的超时时间是1秒,如果接口请求响应超过这个时间,将会执行fallback,spring在装配bean的机制以及懒加载原因,feign的首次请求都会相对较慢,如果请求超过1秒,就会出现 阅读全文
posted @ 2019-10-16 02:33 KingJames、 阅读(1793) 评论(0) 推荐(0) 编辑
摘要: 话不多说,上代码。。。。 项目公共依赖配置: 1、创建注册中心工程 a、eureka server工程pom依赖: b、eureka server工程启动类: c、eureka server工程配置文件:eureka-server\src\main\resources\bootstrap.yml 2 阅读全文
posted @ 2019-10-16 01:31 KingJames、 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: 说明: feign默认情况下使用的是JDK原始的URLConnection发送的HTTP请求,没有使用到连接池,但是对每个地址会保持长连接,即HTTP的persistence connection。我们可以利用Apache的HTTP client替换原始的HTTP client,通过设置连接池,超时 阅读全文
posted @ 2019-10-15 21:01 KingJames、 阅读(3662) 评论(0) 推荐(1) 编辑
摘要: SpringCloudFeign支持对请求和响应进行gzip压缩,以此来提高通信效率。 1、搭建gzip-demo工程 1.1、工程依赖: 1.2、工程启动类: 1.3、编写测试代码: client接口: config配置类: controller类: 1.4、工程配置文件: 2、启动工程 访问 h 阅读全文
posted @ 2019-10-13 22:27 KingJames、 阅读(3096) 评论(0) 推荐(0) 编辑
摘要: 首先看一下@FeignClient注解的源码: 可以看出@FeignClient注解被@Target(ElementType.TYPE)修饰,表示@FeignClient注解的作用目标在接口上。 针对其常用属性做如下归纳: String name():指定FeignClient的名称,如果项目使用了 阅读全文
posted @ 2019-10-13 21:52 KingJames、 阅读(2168) 评论(0) 推荐(0) 编辑