springcloudeureka闭源了怎么办(SpringCloud极简入门第一讲)
springcloudeureka闭源了怎么办(SpringCloud极简入门第一讲)贴下pom文件吧(都是自动生成的)不过需要说的是创建注册中心模块需要勾选如下Eureka server组件,同时注意SpringBoot右上角的版本选择注:此章节以springcloud-01-eureka-producer-consumer模块为例进行讲解(代码在文末共享)创建spring-cloud-eureka7001(注册中心服务端)模块,接触SpringCloud了相信一定有SpringBoot的基础了吧,如何创建模块不再重复说了,可以参考上个SpringBoot专栏讲解。pom引入:
前言:上一章讲了SpringCloud相关概念,本章将介绍注册中心(Eureka)和生产者之间的关系,并提供一个demo
最白话的语言讲解:生产者我们可以看成一个卖东西的小商家 ,商家的产品向外卖为什么还需要注册中心呢?
我们可以把注册中心理解成某东或者某宝,我们购物的时候去注册中心购买是不是方便很多呢。(自然这只是一方面,像统一管理、高可用、易负载等等)
那我们deome开始,快速构建一个注册中心(Server端)和一个生产者
Eureka服务端构建注:此章节以springcloud-01-eureka-producer-consumer模块为例进行讲解(代码在文末共享)
创建spring-cloud-eureka7001(注册中心服务端)模块,接触SpringCloud了相信一定有SpringBoot的基础了吧,如何创建模块不再重复说了,可以参考上个SpringBoot专栏讲解。
pom引入:
不过需要说的是创建注册中心模块需要勾选如下Eureka server组件,同时注意SpringBoot右上角的版本选择
贴下pom文件吧(都是自动生成的)
注意此时引入的是如下
:不同的版本会有稍微区别,如果你是SpringCloud低版本升级到F版本,可以参考我的SpringCloud专栏那篇升级攻略
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
启动类:加上@EnableEurekaServer
@SpringBootapplication @EnableEurekaServer public 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=7001 eureka.client.register-with-eureka=false eureka.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步,注册中心就完了,启动后如下图所示
No application available 因为没有注册服务,所以没有服务被发现 。但消费者(也就是小商贩向商城注册后,此时我们才是能看到的)
下面我们该整生产者了,是不是更简单呢?
生产者构建spring-cloud-provider (eureka client)为生产者模块
pom文件(自动生成的)
注意引入问题
当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除
启动类 加上@EnableEurekaClient表明自己是一个eurekaclient.
@SpringBootApplication @EnableEurekaClient public 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的时候我们会收到问候信息
@RestController public 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-producer server.port=8001 eureka.client.serviceUrl.defaultZone=http://localhost:7001/eureka/
application.name这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name
生产者也完了。启动生产者看下效果吧
End访问注册中心网址我们可以看到小商家(生产者)已经注册进来,大功告成
说在最后的话:
为了快速成型demo像父级pom或者其优化没有涉及,所以正式环境请严格“按章办事”。
此外,demo只是为了让我们更好的理解生产者和注册中心,凡是涉及代码疑问可在下方留言,有问必有回,更多信息可以关注今日头条@架构师速成记
SpringCloud正式开讲了,感兴趣的可以关注转发下