博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud微服务架构解决方案(三)--springcloud负载均衡Ribbon
阅读量:5807 次
发布时间:2019-06-18

本文共 889 字,大约阅读时间需要 2 分钟。

hot3.png

    1. 什么是负载均衡

负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过硬件设备及软件来实现,硬件比如:F5、Array等 ,软件比如:LVS、Nginx等 。

如下图是负载均衡的架构图:

3057837434a5d7c967fe54472b7a2ba88ed.jpg

用户请求先到达负载均衡器(也相当于一个服务),负载均衡器根据负载均衡算法将请求转发到微服务。负载均衡算法有:轮训、随机、加权轮训、加权随机、地址哈希等方法,负载均衡器维护一份服务列表,根据负载均衡算法将请求转发到相应的微服务上,所以负载均衡可以为微服务集群分担请求,降低系统的压力。

    1. Spring Cloud Ribbon

Spring Cloud Ribbon是基于客户端的负载均衡工具,负载均衡分为服务端负载均衡和客户端负载均衡,3.1小节的图形指的是服务端负载均衡,客户端负载均衡与服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从Eureka Server获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务。

如下图是Ribbon负载均衡的流程图:

507a3b8e020708c575fcee01d82db6820fc.jpg

1、在消费微服务中使用Ribbon实现负载均衡,Ribbon先从Eureka Server中获取服务列表。

2、Ribbon根据负载均衡的算法进行负载均衡,将请求转发到其它微服务。

    1. 实战

43772544330c6b5b7dc9c9ba6d7441e0f94.jpg

      1. 开发单点登录服务

单点登录服务提供用户登录、用户退出等功能。

单点登录服务需要调用用户信息服务查询用户信息。

单点登录服务采用Spring Boot、SpringMVC开发。

 

      1. 服务发现

单点登录服务需要从EurekaServer查询用户信息服务。

1、配置Eureka Server服务地址。

2、在SpringBoot的启动类中添加注解@EnableDiscoveryClient

ee9713faa2a3bb1aa83f38d7e45f15e2fdb.jpg

      1. Ribbon编程

1、定义RestTemplate对象

2、配置 @LoadBalanced

3、设置负载均衡算法。

4、使用RestTemplate调用微服务。

转载于:https://my.oschina.net/bigdataer/blog/1860013

你可能感兴趣的文章
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
一维数组
查看>>
Linux学习笔记之三
查看>>
Floyd最短路算法
查看>>
Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
查看>>
CentOS 6.6 FTP install
查看>>
C#------判断btye[]是否为空
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>