Zuul过滤器
摘要:1、Zuul过滤器生命周期Zuul大部分功能都是通过过滤器来实现的,Zuul定义了4种标准的过滤器类型,这些过滤器类型对应于请求的典型生命周期。a、pre: 这种过滤器在请求被路由之前调用。可利用这种过滤器实现身份验证、在集群中选择请求的微服务,记录调试信息等。 b、routing: 这种过滤器将请
阅读全文
posted @
2018-12-31 14:54
Ruthless
阅读(6064)
推荐(0) 编辑
Zuul路由网关
摘要:Zuul路由网关 Zuul实现自定义过滤器、动态路由、动态负载
阅读全文
posted @
2018-12-30 13:24
Ruthless
阅读(249)
推荐(0) 编辑
Feign禁用Hystrix
摘要:1、完全禁用Hystrix配置yml文件feign.hystrix.enabled=false 2、部分禁用Hystrix2.1、FeignNoHystrixConfigure.java——编写Feign客户端配置类,重写feignBuilder方法 2.2、TestClient4.java——配置
阅读全文
posted @
2018-12-29 15:14
Ruthless
阅读(3186)
推荐(0) 编辑
Feign使用Hystrix
摘要:Feign使用Hystrix开发步骤 1、导入依赖spring-cloud-starter-hystrix 2、消费启动类开启@EnableCircuitBreaker 3、配置yml文件feign.hystrix.enabled=true 4、实现FeignClient接口或FallbackFac
阅读全文
posted @
2018-12-29 13:43
Ruthless
阅读(22273)
推荐(0) 编辑
Ribbon使用Hystrix
摘要:1、导入依赖spring-cloud-starter-hystrix 2、消费启动类开启@EnableCircuitBreaker 3、TestService——设置断路器核心类 4、TestController——测试类 以上代码在cloud-consumer-ribbon-hystrix服务中,
阅读全文
posted @
2018-12-29 13:07
Ruthless
阅读(905)
推荐(0) 编辑
Hystrix参数配置
摘要:1、Hystrix参数配置文档 2、Hystrix参数配置示例
阅读全文
posted @
2018-12-28 21:19
Ruthless
阅读(2511)
推荐(0) 编辑
Hystrix隔离策略
摘要:Hystrix的资源隔离策略分为两种:线程池和信号量。说到资源隔离,我们就要明白为什么需要资源隔离。 在一个分布式系统中,服务之间都是相互调用的,如下图所示:例如,我们容器(Tomcat)配置的线程个数为1000,从服务A到服务R,其中服务I的并发量非常的大,需要500个线程来执行,此时,服务I又挂
阅读全文
posted @
2018-12-28 16:34
Ruthless
阅读(4419)
推荐(1) 编辑
Hystrix快速入门
摘要:1、引入Maven依赖 2、启动类使用@EnableCircuitBreaker注解 3、使用@HystrixCommand注解,并配置fallbackMethod@HystrixCommand由名为“javanica”的Netflix contrib库提供。Spring Cloud在连接到Hyst
阅读全文
posted @
2018-12-28 14:05
Ruthless
阅读(1176)
推荐(0) 编辑
Feign自定义编程配置
摘要:介绍 在Spring Cloud中,Feign的默认配置类是FeignClientsConfiguration,该类定义了Feigh默认使用的编码器、解码器、所使用的契约等。Spring Cloud允许通过注解@FeignClient的configuration属性自定义Feign的配置,自定义配置
阅读全文
posted @
2018-12-27 23:18
Ruthless
阅读(2036)
推荐(0) 编辑
Feign快速入门
摘要:一、Feign简介1、Feign是一个声明式的web服务客户端,使用Feign编写web服务客户端更加容易2、具有可插拔注解支持,包括Feign注解和JAX-RS注解,还支持可插拔的编码器与解码器3、Spring Cloud 增加了对 Spring MVC的注解的支持,Spring Web 默认使用
阅读全文
posted @
2018-12-27 00:30
Ruthless
阅读(2844)
推荐(0) 编辑
浅谈如何使用Netty开发高性能的RPC服务器
摘要:如何使用Netty进行RPC服务器的开发,技术原理涉及如下:1、定义RPC请求消息、应答消息结构,里面要包括RPC的接口定义模块,如远程调用的类名、方法名、参数结构、参数值等信息。 2、服务端初始化的时候通过容器加载RPC接口定义和RPC接口实现类对象的映射关系,然后等待客户端发起调用请求。 3、客
阅读全文
posted @
2018-12-16 13:34
Ruthless
阅读(1268)
推荐(0) 编辑
Netty自带连接池的使用
摘要:一、类介绍1.ChannelPool——连接池接口 2.SimpleChannelPool——实现ChannelPool接口,简单的连接池实现 3.FixedChannelPool——继承SimpleChannelPool,有大小限制的连接池实现 4.ChannelPoolMap——管理host与连
阅读全文
posted @
2018-12-16 00:24
Ruthless
阅读(9743)
推荐(0) 编辑
Netty心跳机制
摘要:一、概念介绍网络中的接收和发送数据都是使用操作系统中的SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。可是如何判断这个套接字是否还可以使用呢?这个就需要在系统中创建心跳机制。其实TCP中已经为我们实现了一个叫做心跳的机制。如果你设置了心跳,那TCP就会在一定
阅读全文
posted @
2018-12-14 20:31
Ruthless
阅读(10270)
推荐(1) 编辑
Netty入门——客户端与服务端通信
摘要:Netty简介Netty是一个基于JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。换句话说,Netty是一个NIO框架,使用它可以简单快速地开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程比如TCP和UD
阅读全文
posted @
2018-12-14 01:47
Ruthless
阅读(32756)
推荐(0) 编辑
使用配置文件自定义Ribbon配置
摘要:1、application.yml——Ribbon配置文件 2、RibbonConsumerApplication——Ribbon启动类 3、RibbonController——Ribbon测试类
阅读全文
posted @
2018-12-13 19:16
Ruthless
阅读(8689)
推荐(0) 编辑
使用Java代码自定义Ribbon配置
摘要:Ribbon策略推荐如下两种:ZoneAvoidanceRule:复合判断server所在区域的性能和server的可用性选择server(默认)WeightedResponseTimeRule:根据响应时间分配一个weight,响应时间越长,weight越小,被选中的可能性越低。 很多场景下,需要
阅读全文
posted @
2018-12-13 14:28
Ruthless
阅读(4187)
推荐(0) 编辑
Spring Cloud Ribbon入门
摘要:一、简介 Spring Cloud Ribbon是一个基于Http和TCP的客户端负载均衡工具,它是基于Netflix Ribbon实现的。它不像服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每个微服务的基础设施中。理解Ribbon对于我们使用Spring Cloud来讲非常的重要
阅读全文
posted @
2018-12-13 00:10
Ruthless
阅读(1653)
推荐(0) 编辑
负载均衡简介
摘要:面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。 从单机网站到分布式网站,很重要的区别是
阅读全文
posted @
2018-12-12 11:59
Ruthless
阅读(788)
推荐(0) 编辑
常见的几种负载均衡算法
摘要:1、轮询将所有请求,依次分发到每台服务器上,适合服务器硬件相同的场景。优点:服务器请求数目相同; 缺点:服务器压力不一样,不适合服务器配置不同的情况; 2、随机请求随机分配到各台服务器上。优点:使用简单; 缺点:不适合机器配置不同的场景 3、最少链接将请求分配到连接数最少的服务器上(目前处理请求最少
阅读全文
posted @
2018-12-12 11:27
Ruthless
阅读(8283)
推荐(0) 编辑
Eureka编程
摘要:在一些场景下,我们需要监听eureka服务中心的一些状态,譬如某个微服务挂掉了,我们希望能监听到,并给管理员发送邮件通知或钉钉告警。 一、Eureka的监听事件,可以用来监控、告警EurekaInstanceRegisteredEvent 服务注册事件EurekaInstanceRenewedEve
阅读全文
posted @
2018-12-09 22:07
Ruthless
阅读(672)
推荐(0) 编辑
Eureka多机高可用
摘要:线上Eureka高可用集群,至少三个节点组成一个集群,推荐部署在不同的服务器上,IP用域名绑定,端口保持一致。 10.1.22.26:876210.1.22.27:876210.1.22.28:8762 1、Eureka服务端集群配置文件 如何打包mima-cloud-eureka-ha.jar可执
阅读全文
posted @
2018-12-09 21:14
Ruthless
阅读(1679)
推荐(0) 编辑
Maven项目打包成可执行Jar文件
摘要:在使用Maven完成项目以后,如果需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下: 1、在项目
阅读全文
posted @
2018-12-09 14:30
Ruthless
阅读(31339)
推荐(0) 编辑
Eureka单机高可用伪集群配置
摘要:Eureka Server高可用集群理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使Eureka Server宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经缓存在本地的服务提供者不可用了,服务消费者也无法知道,所以保证Eureka Server的高可用还是很有必要的。 在分布式系
阅读全文
posted @
2018-12-09 12:27
Ruthless
阅读(1714)
推荐(1) 编辑
Eureka自我保护模式——难点重点
摘要:一、开启Eureka自我保护模式访问Eureka主页时,如果看到这样一段大红色的句子: EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN
阅读全文
posted @
2018-12-09 01:16
Ruthless
阅读(5457)
推荐(0) 编辑
Eureka核心知识点
摘要:一、Eureka特性1.当注册中心挂了,客户端之间依然可以通过原有的注册表进行调用;注册中心重启后,客户端会继续注册进来 2.当服务提供者挂了,在关闭自我保护的情况下,注册中心在规定时间(默认是60s)内移除客户端; 关闭Eureka注册中心的自我保护模式,配置如下: 注意不推荐在PRD环境中使用。
阅读全文
posted @
2018-12-09 00:25
Ruthless
阅读(1185)
推荐(1) 编辑
Eureka控制台参数说明
摘要:1、HOME进入Eureka控制台首页,首先看HOME页的头部System StatusEnvironment: 环境,默认为test,该参数在实际使用过程中,可以不用更改Data center: 数据中心,使用的是默认的是 “MyOwn”Current time:当前的系统时间Uptime:已经运
阅读全文
posted @
2018-12-08 13:42
Ruthless
阅读(30415)
推荐(4) 编辑
Eureka安全认证
摘要:Eureka 服务加入安全认证只需要在之前的服务中增加三处步骤即可: 1、在Eureka Server中加入spring-boot-starter-security依赖 注意:只要加入了security包则自动开启了默认安全认证,密码随机生成,在控制台可以看到。 2、修改application.ym
阅读全文
posted @
2018-12-07 23:34
Ruthless
阅读(3442)
推荐(0) 编辑
SpringCloud Eureka服务注册及发现——服务端/客户端/消费者搭建
摘要:Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。 Eureka服务端,实现服务注册中心,eg:mima-clo
阅读全文
posted @
2018-12-07 21:10
Ruthless
阅读(3365)
推荐(0) 编辑
Eureka的工作原理以及它与ZooKeeper的区别
摘要:1、Eureka 简介Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。 2、基本原理上图来自eureka的官方
阅读全文
posted @
2018-12-06 23:42
Ruthless
阅读(1896)
推荐(0) 编辑
分布式系统CAP理论以及注册中心选择
摘要:CAP定理:指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。 一致性(C-数据同步耗时):所有节点在同一时间具有相同的数据,节点越多,数据同步越耗时。可用性(A-保证正常响应时间
阅读全文
posted @
2018-12-06 17:45
Ruthless
阅读(1079)
推荐(0) 编辑
软件架构演进
摘要:传统架构到分布式架构详解 软件架构演进软件架构的发展经历了从单体架构、垂直架构、SOA架构到微服务架构的过程,博客里写到了这四种架构的特点以及优缺点分析,个人学习之用,仅供参考! 1.1.1 单体架构 特点:1、所有的功能集成在一个项目工程中。2、所有的功能打一个war包部署到服务器。3、应用与数据
阅读全文
posted @
2018-12-05 22:43
Ruthless
阅读(4356)
推荐(0) 编辑