服务注册与发现

Spring Cloud中服务注册与发现使用的是Spring Cloud Eureka

一.什么是Spring Cloud Eureka

  • 是基于Netflix Eureka做了二次封装
  • 两个组件构成
    • Eureka Server注册中心:供服务注册的服务器,服务注册的中心。
    • Eureka Client服务注册:用来简化与服务器的交互,作为轮训负载均衡器,并提供服务的故障切换支持
    • 系统中的其他微服务使用Eureka客户端,连接Eureka Server,并维持心跳连接,这样就能检测系统中各个微服务是否正常运行。

二.注册中心Eureka Server的使用

  • Eureka Server为注册中心,用于服务的注册与发现,记录所有应用的信息和状态,应用叫什么名字,在哪台服务器上,目前是不是正常工作等。
  • 在微服务架构时,我们通常将一个应用称之为一个服务。
1.创建项目
  • 使用IDEA创建SpringCloud Eureka项目(选择Cloud Discovery -> Eureka Server)

  • 创建项目的版本

    • SpringBoot 2.0.0.M3
    • SpringCloud Finchley.M2
    • 项目的版本对应可以到spring.io官网上查看
2.启动项目
  • 在启动类上添加注解@EnableEurekaServer,注解标识该项目由注册中心的功能

  • 正常启动项目

  • 访问localhost:8080查看浏览器图形化展示

    • System Status表示注册中心的系统状态
    • DS Replicas表示注册中心Server端有多少应用
    • Instances currently registered with Eureka表示要注册要注册中心的应用
    • General Info表示系统信息
      • 其中registered-replicas默认使用的是8761端口
  • 运行项目可能会报错,因为@EnableEurekaServer注解内部还有@EnableEurekaClient,故该应用即是server端也是client端,两个端同时开启,当server端没有完成时,注册client就会报错。但server和client采用心跳的方式进行连接,故当server完成时,client就可以被注册。

  • 还有一种报错的原因可能是由于server和client启动在同一个端口和地址上,故需要在application.yml中添加如下代码

    eureka:
    	client:
    		server-url:
    			#java应用都是8080端口,不好管理,故此处设为8761端口
    			defaultZone:http://localhost:8761/eureka/
    		register-with-eureka:false #由于eureka本身就是注册中心,则可以
    #如果没添加下述代码,则注册的应用则为UnKnow
    spring:
    	application:
    		name:eureka
    #修改当前项目的端口
    server:
    	port:8761
    

三.服务注册Eureka Client的使用

1.创建项目

未完待续…

2.启动项目

未完待续…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值