zoukankan      html  css  js  c++  java
  • 服务路由、负载均衡和服务配置中心的基本概念

    摘要:浅谈服务路由、负载均衡和服务配置中心的基本概念。

      SOA:公共的业务被拆分出来,形成可共用的服务,最大程度地保障代码和逻辑的复用,避免重复造轮子,这种设计称为SOA(面向服务架构)。

      路由:SOA架构中,服务消费者通过服务名称,在众多服务中心找到要调用的服务的地址列表,称为服务的路由。

      负载均衡:对于负载高的服务,一般有多台服务器组成的集群,当请求到来时,为了将请求均衡的分配到后端服务器,负载均衡程序将从服务对应的地址列表中,通过相应的负载均衡算法和法则,选取一台服务器进行访问,这个过程称为服务的负载均衡。

      当负载较小时,可以依赖硬件负载均衡设备,或者使用nginx等软件方案进行调度。一旦服务规模越来越大,这些方案都会逐渐出现瓶颈,单点故障的问题也越来越明显。

      服务配置中心:当服务越来越多,规模变大,单靠人工管理或简单维护配置已经不能满足,并且单一软硬件负载调度的单点故障问题凸显,因此需要一个能动态注册和获取服务信息的地方,来统一管理服务名称和其对应的服务器列表信息,这个就是服务配置中心。

      -->工作原理

    • 服务提供者启动时,将提供的服务名称、服务器地址注册到服务配置中心;
    • 服务消费者通过服务配置中心来获取需要调度的服务机器列表;
    • 通过负载均衡算法之后,选取一台服务器调用;
    • 当服务器宕机或下线,相应的机器动态从服务配置中心移除,并通知相应的服务消费者;
    • 服务消费者一次访问服务配置中心之后,会将查询到的信息缓存到本地,后面调用先查缓存,从而降低服务配置中心压力。

      读后有收获,小礼物走一走,请作者喝咖啡。

    赞赏支持

  • 相关阅读:
    使用jquery.js写可增行删行可编辑的table
    当Ext.js中xtype: 'checkboxfield'时,没勾选则向后台发送的数据没有字段的解决方法
    沉迷js不能自拔~
    kubernetes concepts -- Pod Overview
    kubernetes concepts (一)
    所有锁的unlock要放到try{}finally{}里,不然发生异常返回就丢了unlock了
    Java故障定位方法总结
    年度计划
    minikube 设置CPU和内存
    Ubuntu 设置中文输入法
  • 原文地址:https://www.cnblogs.com/east7/p/14739012.html
Copyright © 2011-2022 走看看