springcloud 版本_SpringCloud极简入门|第一讲:服务的注册与发现Eureka(F版本)

efffd1b2fae2346826fbb8090bc816ad.png

前言:

上一章讲了SpringCloud相关概念,本章将介绍注册中心(Eureka)和生产者之间的关系,并提供一个demo

最白话的语言讲解:生产者我们可以看成一个卖东西的小商家 ,商家的产品向外卖为什么还需要注册中心呢?

我们可以把注册中心理解成某东或者某宝,我们购物的时候去注册中心购买是不是方便很多呢。(自然这只是一方面,像统一管理、高可用、易负载等等)

那我们deome开始,快速构建一个注册中心(Server端)和一个生产者

Eureka服务端构建

注:此章节以springcloud-01-eureka-producer-consumer模块为例进行讲解(代码在文末共享)

60b6dacc60ab51ec94097ff2a85e4c25.png

​创建spring-cloud-eureka7001(注册中心服务端)模块,接触SpringCloud了相信一定有SpringBoot的基础了吧,如何创建模块不再重复说了,可以参考上个SpringBoot专栏讲解。

Pom引入:

不过需要说的是创建注册中心模块需要勾选如下Eureka Server组件,同时注意SpringBoot右上角的版本选择

43173ecc72dec68b3c1afb25bad78c62.png

贴下pom文件吧(都是自动生成的)

d0b9c05e060bc632fa1662086b2efd29.png
d1ab73ff81fa5e1fdfedbed04e50ab26.png

注意此时引入的是如下

:不同的版本会有稍微区别,如果你是SpringCloud低版本升级到F版本,可以参考我的SpringCloud专栏那篇升级攻略

 org.springframework.cloud spring-cloud-starter-netflix-eureka-server 

启动类:加上@EnableEurekaServer

@SpringBootApplication@EnableEurekaServerpublic class SpringCloudEureka7001Application {public static void main(String[] args) {SpringApplication.run(SpringCloudEureka7001Application.class, args);System.out.println("/**************spring-cloud-eureka 7001 starting...*********************/");}}

配置文件:application.properties

spring.application.name=spring-cloud-eureka7001#配置端口server.port=7001eureka.client.register-with-eureka=falseeureka.client.fetch-registry=false#eureka地址eureka.client.serviceUrl.defaultZone=http://localhost:7001/eureka/

在默认情况下erureka server也是一个eureka client ,通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.。

完了,就上面3步,注册中心就完了,启动后如下图所示

3bf6ad25b47a33bad316b10af22e4337.png

No application available 因为没有注册服务,所以没有服务被发现 。但消费者(也就是小商贩向商城注册后,此时我们才是能看到的)

下面我们该整生产者了,是不是更简单呢?

生产者构建

spring-cloud-provider (eureka client)为生产者模块

pom文件(自动生成的)

b1b10426a647576250fea13f11856937.png

注意引入问题

当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除

启动类 加上@EnableEurekaClient表明自己是一个eurekaclient.

@SpringBootApplication@EnableEurekaClientpublic class SpringCloudProviderApplication {public static void main(String[] args) {SpringApplication.run(SpringCloudProviderApplication.class, args);System.out.println("/***************spring-cloud-provider 8001 starting.....**********************/");}}

Controller类:写个简单的controller接口

访问hello/name的时候我们会收到问候信息

@RestControllerpublic class ProviderController { @RequestMapping("/hello") public String hello(@RequestParam String name){ System.out.println("/*************provider hello controller*************/"); return "hello spring-cloud "+name; }}

配置文件:

spring.application.name=spring-cloud-producerserver.port=8001eureka.client.serviceUrl.defaultZone=http://localhost:7001/eureka/

application.name这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name

生产者也完了。启动生产者看下效果吧

End

访问注册中心网址我们可以看到小商家(生产者)已经注册进来,大功告成

9c04dd1e08b23130a236f38f833599f9.png

说在最后的话:

为了快速成型demo像父级pom或者其优化没有涉及,所以正式环境请严格“按章办事”。

此外,demo只是为了让我们更好的理解生产者和注册中心,凡是涉及代码疑问可在下方留言,有问必有回,更多信息可以关注今日头条@架构师速成记

SpringCloud正式开讲了,感兴趣的可以关注转发下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值