SpringCloud之Eureka入门-简单demo实例
SpringCloud之Eureka入门-简单demo实例
创建Eureka-Server端
本人用IDEA开发,如果用Eclipse请自己对应翻译相关操作,如果有问题,可以留言交流,另外教程面向小白,大神轻喷。
本教程计划由浅入深,先跑起来,后解释配置,最后会撸源码。此计划会根据本人懒癌程度不定期修改。
-
搭建脚手架 ,创建一个空项目作为一个顶项目,容纳server和client项目
File -> New -> Project
选择Maven项目,创建一个空Maven项目,类似: -
创建Eureka-Server ,创建server端,接收客户端的注册。创建为上面空项目的一个子项目。
File -> New -> Module
在弹出的对话框的Add as module to 和 Parent两个配置里面选择新建的空项目,作为整个项目的顶项目。如下图: - 添加依赖 ,在顶项目的pom文件添加spring的依赖
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Camden.SR7</version>
</parent>
添加后如图:
4. 在Eureka-Server项目的pom文件添加如下依赖:
<dependencies>
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!-- spring boot test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
添加后如图:
5. 目前为止,所有的依赖和架构都已经建立完毕,开始写配置文件:
在如图的路径中创建application.yml文件(必须为此名称,默认加载此配置文件),内容如下:
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
- 写启动文件,在如图
代码如下:
package eurekaServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerMain {
public static void main(String[] args) {
SpringApplication.run(EurekaServerMain.class);
}
}
- 见证奇迹的时候到了,启动上面的main方法,如果启动成功,在浏览器输入:http://localhost:8761/ 会看到下图(不成功建议过年去抢头香)
到此,server端demo成功。下一个教程会创建一个client端注册到此server端提供服务。
创建Eureka-Client端
-
创建Eureka-Client 参考上一个教程的2步骤创建eureka-client项目,结果如图:
- 修改pom文件,添加内容
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
如图:
3. 写client启动类:创建MyEurekaClient类,代码如下:
package com.coki;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class MyEurekaClient {
public static void main(String[] args) {
SpringApplication.run(MyEurekaClient.class);
}
}
- 写配置,创建文件如下:
代码如下:
server:
port: 8088
spring:
application:
name: microapp
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka/
- 到此,此client会通过defaultZone配置的server的地址注册到server,在Eureka页面可以看到注册的client的信息
代码已经上传,参考:https://github.com/coki230/Eureka-demo