您的位置:首页 > 编程语言 > Java开发

从0开始学习SpringCould(9)--Eureka 服务注册发现

2017-12-24 19:05 676 查看

本篇文章写在平安夜前夕,愿世界和平。同时希望所有单身的coder们,抱团共同抵制即将到来的平安夜圣诞节秀恩爱这波邪恶力量,共勉~

前8篇文章,简单介绍了SpringBoot的使用,从此开始,正式介绍SpringCloud的应用,大概会按照以下节奏进行:

SpringCloud Eureka 服务注册发现

SpringCould Feign 服务远程调用

hystrix 熔断器

SpringCloud Ribbon 服务远程调用和负载均衡

SpringCloud Config 服务配置中心

SpringCloud Zuul 网关



想到新东西再添加

简单介绍构成部分

使用IntelliJ IDEA作为演示IDE,同时会把相关pom文件贴在文末,使用其他IDE的同学,可以直接使用pom构建项目,具体可以参见第一篇文章从0开始学习SpringCould(1)–SpringBoot项目搭建

使用maven多module构建项目

演示源码上传gitee

一、使用IDEA搭建SpringBoot项目

File–>New–>Module,选择 Spring Initializr



设置项目信息



选择所使用到的组件,我们这选择Eureka Server



选择项目所在路径



以上步骤完成以后,可以停一停前进的步伐了,等等IDE让它把你所需要的依赖都下载下来

5. 项目结构



二、Eureka配置

1、 依旧沿用使用yml配置的风格

resources
目录下新建
application.yml


2、
application.yml
完整配置

前几篇有介绍过的最进本的配置 此处会贴出来,但是不在做解释。

server:
port: 9610

eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/[/code] 
registerWithEureka
fetchRegistry
设置为
false
,来区分,当前应用是一个Eureka Server;

3、 添加注解

在核心类上添加
@EnableEurekaServer




三、配置到此,启动程序

1、启动

启动方式在和SpringBoot一致,右键 –> Run ‘CloudDemoApplication’

2、访问



能访问到以上的界面,说明Eureka Server已经启动成功,可以看到目前列表中没有任何应用被注册进来。

四、创建测试应用

1、步骤和上面相同,或者直接copy下项目,改下名字即可

2、修改
application.yml

完整配置如下:

server:
port: 9000

spring:
application:
name: cloud-eureka-app
eureka:
client:
serviceUrl:
defaultZone: http://localhost:9610/eureka/ instance:
hostname: localhost


eureka.client.serviceUrl.defaultZone
表示要往哪个Eureka注册中心注册

3、核心入口类注解

删除
@EnableEurekaServer
,新增注解
@EnableDiscoveryClient




4、启动应用,并刷新刚刚的eureka监控界面



可以观察到,刚刚新建的
cloud-eureka-app
服务已经被注册到Eureka中

五、完整pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>cloud-eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>


第一篇有详细说明,使用其他IDE的同学可以参照第一篇使用该pom文件创建

源码:https://gitee.com/11230595/cloud_demo.git

本篇结束,谢谢! 祝小伙伴们有个开心的平安夜 and 圣诞节~

更多内容请关注微信公众号:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring eureka