zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_05-Feign远程调用-客户端负载均衡介绍

    2 Feign远程调用
    在前后端分离架构中,服务层被拆分成了很多的微服务,服务与服务之间难免发生交互,比如:课程发布需要调用
    CMS服务生成课程静态化页面,本节研究微服务远程调用所使用的技术。
    下图是课程管理服务远程调用CMS服务的流程图:


    1、cms服务将自己注册到注册中心。
    2、课程管理服务从注册中心获取cms服务的地址。
    3、课程管理服务远程调用cms服务。


    2.1 Ribbon
    2.1.1 Ribbon介绍
    Ribbon是Netflix公司开源的一个负载均衡的项目(https://github.com/Netflix/ribbon),它是一个基于HTTP、
    TCP的客户端负载均衡器
    1、什么是负载均衡?
    负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过
    硬件设备及软件来实现,硬件比如:F5、Array等,软件比如:LVS、Nginx等。
    如下图是负载均衡的架构图:


    用户请求先到达负载均衡器(也相当于一个服务),负载均衡器根据负载均衡算法将请求转发到微服务。负载均衡
    算法有:轮训、随机、加权轮训、加权随机、地址哈希等方法,负载均衡器维护一份服务列表,根据负载均衡算法
    将请求转发到相应的微服务上,所以负载均衡可以为微服务集群分担请求,降低系统的压力。
    2、什么是客户端负载均衡?
    上图是服务端负载均衡,客户端负载均衡与服务端负载均衡的区别在于客户端要维护一份服务列表,Ribbon从
    Eureka Server获取服务列表,Ribbon根据负载均衡算法直接请求到具体的微服务,中间省去了负载均衡服务。
    如下图是Ribbon负载均衡的流程图:


    1、在消费微服务中使用Ribbon实现负载均衡,Ribbon先从EurekaServer中获取服务列表。
    2、Ribbon根据负载均衡的算法去调用微服务。



     

  • 相关阅读:
    c#/asp.net实现炫酷仿调色板/颜色选择器功能
    c#程序员机试题
    如何定义最佳 Cache-Control 策略
    HTTP 缓存之ETag 和Cache-Control的使用方法介绍
    ASP.NET MVC 提高运行速度的几种性能优化方法
    c#FTP操作类,包含上传,下载,删除,获取FTP文件列表文件夹等Hhelp类
    C#实现GridView导出Excel
    C#文件上传类,文件流,字节数组等
    c#XML操作类的方法总结
    c#实现list,dataset,DataTable转换成josn等各种转换方法总和
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11661660.html
Copyright © 2011-2022 走看看