代码随想录Day44 --- 2023第一天
Eureka服务注册与发现:
服务注册中心:
1.启动后,从其他节点拉取服务注册信息。
2.运行过程中,定时运行 evict 任务,剔除没有按时 renew 的服务(包括非正常停止和网络故障的服务)。
3.运行过程中,接收到的 register、renew、cancel 请求,都会同步至其他注册中心节点
服务提供者:
1.启动后,向注册中心发起 register 请求,注册服务
2.在运行过程中,定时向注册中心发送 renew 心跳,证明“我还活着”。
3.停止服务提供者,向注册中心发起 cancel 请求,清空当前服务注册信息。
服务消费者:
1.启动后,从注册中心拉取服务注册信息
2.在运行过程中,定时更新服务注册信息。
3.服务消费者发起远程调用:a> 服务消费者(北京)会从服务注册信息中选择同机房的服务提供者(北京),发起远程调用。只有同机房的服务提供者挂了才会选择其他机房的服务提供者(青岛)。b> 服务消费者(天津)因为同机房内没有服务提供者,则会按负载均衡算法选择北京或青岛的服务提供者,发起远程调用。
1、作为服务注册中心:
主类:
加@EnableEurekaServer
yml:
server:
port: 7001
eureka:
instance:
hostname: localhost #eureka服务端的实例名称
client:
#false表示不向注册中心注册自己
register-with-eureka: false
#false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
fetch-registry: false
service-url:
#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2、作为服务提供者:payment-8001
pom添加依赖,yml文件添加配置条件注册进eureka注册中心,主类添加@EnableEurekaClient
pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
yml:
eureka:
client:
#表示是否将自己注册进EurekaServer默认为true。
register-with-eureka: true
#是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置true才能配合ribbon 使用负载均衡
fetch-registry: true
service-url:
defaultZone: http://localhost:7001/eureka
instance:
prefer-ip-address: true # 使用ip地址注册
主类:
@EnableEurekaClient
3、作为服务消费者 order-81
和作为服务的提供者类似,订单微服务对于支付来说是消费者,对于其他来说可能作为提供者。配置方式和服务提供者类似。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
2017-01-01 final和包装类