- 直接调用即可,为什么用Eureka
- 什么是服务治理?
多个服务调用,需要有依赖中心管理 - 什么是服务注册?
有一个注册中心,当服务器启动时,会把自己的信息注册到注册中心上 - 什么是服务发现?
Client通过注册中心进行访问
1.构建过程
- 构建Eureka Server:微服务节点配置后再其注册
@EnableEurekaServer - 构建EurekaClient:实际提供服务的server,在这里用CS架构。
- 8001入驻Eureka Server
8001的名称要注意,一定要和注册中心的名字保持一致 - 自我保护机制
- 80入驻EureKa Server
- yml控制文件 空格和层次
2.服务注册中心需要集群(单点故障)
- 服务注册与发现:存key 服务 取value 调用地址
- 整体流程:即启动注册中心, 注册支付服务地址与服务别名,消费者oder调用时去服务注册中心获取RPC调用地址,然后实现远程调用
- 如果服务注册中心故障,那整个环境不可用,故需要搭建Eureka注册中心集群,实现负载均衡,故障容错
- 集群:互相注册,相互守望
- 此时写两个EurekaService并互相注册
- 多个服务,写两个服务(此时注册名称虽然相同,但是端口号不同)
CLOUD-PAYMENT-SERVICE n/a (2) (2) UP (2) - localhost:cloud-payment-service:8002 , localhost:cloud-payment-service:8001
- 负载均衡配置
- 配置其他
- 服务发现Discovery 注册的服务可以获得服务基本信息
- eurecka自我保护(CAP里的AP分支)好死不如赖活着
如果Eureka在server端一定时间内没收到,便会注销
短时间内丢失过多客户端时,节点进入自我保护机制
不会立刻注销任何微服务(某一个微服务不可用,但是依旧会保存) - 禁止自我保护
设置一下7001和8001
3.eureka总结
问题1:为什么使用服务注册?
服务越来越多,负责存储和管理维护服务地址
问题2:如何通过名称访问地址?
即服务中心存储的为名称+地址的键值对,服务注册中心会通过名称来返回访问地址(ip地址)