Eureka架构中,微服务角色有几类?
两类:
第一类是EurekaServer:服务端,注册中心,主要功能是完成记录服务信息以及进行心跳监控。
第二类是EurekaClient:客户端。客户端分为Provider(服务提供者,主要作用是注册自己的信息到EurekaSercer 以及每隔30秒向EurekaServer发送心跳)和consumer:(服务消费者,主要作用是根据服务名称从EurekaClient拉去服务列表以及基于服务列表做负载均衡,选中一个微服务后发起远程调用)
Eureka的作用。
1.消费者如何获取服务者具体信息?
服务提供者启动时向Eureka注册自己的信息,消费者根据服务名称向Eureka拉取服务者信息。
2.如果有多个服务消费者,消费者应该如何选择?
服务消费者利用负载均衡算法,从服务列表中挑选一个。
3.消费者如何感知服务提供者健康状况?
服务消费者每隔30秒会向EurekaServer发送心跳请求,报告健康状况。
Eureka会根据收到的最新消息进行更新,会剔除心跳不正常的,从而保证消费者拉取到最新的消息。
如何搭建EurekaServer
a:引入eureka-server依赖
b:添加@EnableEurekaServer注解
c:在application.yml中配置eureka地址
如何进行客户端注册(服务注册)
1.服务注册
a:引入eureka-client依赖
b:在application.yml中配置eureka地址(无论在消费者还是提供者,引入eureka-client依赖,并在application.yml中填写自己服务的名称以及填写eruka地址)
如何服务发现
1.引入eureka-client依赖
2.在application.yml中配置eureka地址
3.给RestTemplate添加@LoadBalanced注解(RestTemplate——Spring 框架已为我们封装了一套后端访问http接口的模板工具:RestTemplate。)
4.用服务提供者的服务名称远程调用