六、服务治理

来源:互联网 发布:发送短信的软件 编辑:程序博客网 时间:2024/05/16 02:44

Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的 一 部分, 它基于 Netflix
Eureka 做了二次封装, 主要负责完成微服务架构中的服务治理功能。 Spring Cloud 通过为
Eureka 增加了 Spring Boot 风格的自动化配置,我们只需通过简单引入依赖和注解配置就能
让 Spring Boot 构建的微服务应用轻松地与 Eureka 服务治理体系进行整合

*服务注册:

在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号,版本号,通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。
eg:
我们有两个提供服务A的进程分别运行于 192.168.0.100:8000和192.168.0.101:8000位置上,
另 外 还 有三个 提 供 服 务B的 进 程 分别运行于192.168.0.100:9000 、
192.168.0.101:9000、 192.168.0.102:9000位置上。 当这些进程均启动,
并向注册中心注册自己的服务之后, 注册中心就会维护类似下面的
一 个服务清单。另外, 服务注册中心还需要以心跳的方式去监测清单中的服务是否可用, 若不可用
需要从服务清单中剔除, 达到排除故障服务的效果。
这里写图片描述

*服务发现

由于在服务治理框架下运作, 服务间的调用不再通过指定具体的实例地
址来实现, 而是通过向服务名发起请求调用实现。 所以, 服务调用方在调用服务提
供方接口的时候, 并不知道具体的服务实例位置。 因此, 调用方需要向服务注册中
心咨询服务, 并获取所有服务的实例清单, 以实现对具体服务实例的访问。 比如,
现有服务C希望调用服务A, 服务C就需要向注册中心发起咨询服务请求, 服务注
册中心就会将服务A的位置清单返回给服务C, 如按上例服务A的情况,C便获得
了服务A的两个可用位置 192.168.0.100:8000和192.168.0.101:8000。
当服务C要发起调用的时候, 便从该清单中以某种轮询策略取出
一 个位置来进行服务调用, 这就是后续我们将会介绍的客户端负载均衡

原创粉丝点击