1.白话负载均衡 在上一篇的介绍中,我们创建了两个一模一样的服务提供者:Provider1和Provider2,然后它们提供的服务也一模一样,都叫Hello-Service.为什么一样的服务我们要部署两遍?其实理由很简单: 比如,在一个电商网站中,一开始的时候,用户并没有那么多,我们只需要把网站部署在一台服务器上就可以了.但是随着用户量越来越大,一台服务器就再也满足不了要求了,这样,我们就需要把这个一模一样的网站部署在多台服务器上,但是对外它们提供的服务却都是一样的,包括域名(或者说IP地址)也…
1.Feign概述 在上一篇的HelloService这个类中,我们有这样一行代码: return restTemplate.getForObject("http://hello-service/hello",String.class); 对于代码有一定洁癖的你来说,一定感觉到了,这个url应该是可以被配置的.既然说到配置,那我们首先想到的就是使用java注解的方式.Feign就是这样一个注解框架,它也是netflix为我们提供的,方便我们整合ribbon和hystrix(后面会学习)…
一.eureka-server服务中心项目不再创建 二.eureka-common-empdept公共组件项目不再掩饰 三.创建eureka-client-provider-empdept-one提供者项目 3.1 结构如下 pom.xml文件内容如下: <dependencies> <dependency> <groupId>cn.kgc</groupId> <artifactId>eureka-common-empdept</artif…
1.什么是路由网关 截至目前为止的例子中,我们创建了一个service,叫做:HelloService,然后我们把它部署到了两台服务器(即提供了两个provider),然后我们又使用ribbon将其做了负载均衡.目前为止这一切都看上运作的很好,我们通过地址访问地址http://localhost:9291/hello,实际是路由到了http://localhost:9191/hello和http://localhost:9192/hello两个服务器上. 紧接着,随着业务更进一步,我们又创建了U…
1.断路器(Circuit Breaker)模式 在上文中,我们人为停掉了一个provider,在实际的生产环境中,因为意外某个服务down掉,甚至某一层服务down掉也是会是有发生的.一旦发生这种情况,我们需要将损失减少到最低限度. 那怎么减少损失.在电力系统中,如果某个电器发生过载等问题,该段电路的继电器中的保险丝就会熔断.在分布式系统中,我们也可以设计这样的模式,并为它赋有专有名词:断路器(Circuit Breaker)模式. 其基本模式在Martin Fowler的一篇文章中进行过专有…
1.创建Parent Parent很简单,创建一个空的maven项目,pom如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&…
1.核心注解 在上文中,我们讲到了@SpringBootApplication是SpringBoot的核心注解. 可以很方便的在idea中下载源码来查看该注解的源码,如下: 可以看到,该注解本身又被其它注解所叠加.其中最重要的注解是@SpringBootConfiguration和@EnableAutoConfiguration.第一个支持表明当前类相当于是一个配置文件,第二个注解表明当前应用程序支持自动配置,即允许SpringBoot来提供对web应用的配置.这里就要注意了,我们说Spring…
1.Ribbon负载均衡,Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端.负载均衡的工具. 答:简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等.简单的说,就是在配置文件中列出Load Balancer(简称LB,负载均衡)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接…
SpringCloud版本:Finchley.SR2 SpringBoot版本:2.0.3.RELEASE 源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 写博客一个多月了,断断续续的更新,今天有小伙伴催更新了,很高兴,说明我的分享是有意义的. 于是乎,更新来了,还顺便给该系列教程改了个名儿<最适合入门的SpringCloud教程> 通过之前的几篇文章,在代码中会有三个项目,分别是两个注册中心和一个客户端,如下图: 今天将…
简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具,在注册中心对Ribbon客户端进行注册后,Ribbon可以基于某种负载均衡算法,如轮询(默认).随机.加权轮询.加权随机等自动帮助服务消费者调用接口. 项目介绍 sc-parent,父模块(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-eureka,注册中心(请参照SpringCloud学习笔记(1):Eureka注册中心) sc-provider-random…