SpringCloud之Eureka入门-简单demo实例

SpringCloud之Eureka入门-简单demo实例

创建Eureka-Server端

本人用IDEA开发,如果用Eclipse请自己对应翻译相关操作,如果有问题,可以留言交流,另外教程面向小白,大神轻喷。
本教程计划由浅入深,先跑起来,后解释配置,最后会撸源码。此计划会根据本人懒癌程度不定期修改。

  1. 搭建脚手架 ,创建一个空项目作为一个顶项目,容纳server和client项目
    File -> New -> Project
    SpringCloud之Eureka入门-简单demo实例
    选择Maven项目,创建一个空Maven项目,类似:
    SpringCloud之Eureka入门-简单demo实例
  2. 创建Eureka-Server ,创建server端,接收客户端的注册。创建为上面空项目的一个子项目。
    File -> New -> Module
    SpringCloud之Eureka入门-简单demo实例
    在弹出的对话框的Add as module to 和 Parent两个配置里面选择新建的空项目,作为整个项目的顶项目。如下图:
    SpringCloud之Eureka入门-简单demo实例
  3. 添加依赖 ,在顶项目的pom文件添加spring的依赖
    <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-parent</artifactId>
        <version>Camden.SR7</version>
    </parent>

添加后如图:
SpringCloud之Eureka入门-简单demo实例
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>

添加后如图:
SpringCloud之Eureka入门-简单demo实例
5. 目前为止,所有的依赖和架构都已经建立完毕,开始写配置文件:
SpringCloud之Eureka入门-简单demo实例
在如图的路径中创建application.yml文件(必须为此名称,默认加载此配置文件),内容如下:

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  1. 写启动文件,在如图
    SpringCloud之Eureka入门-简单demo实例
    代码如下:
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);
   }
}

  1. 见证奇迹的时候到了,启动上面的main方法,如果启动成功,在浏览器输入:http://localhost:8761/ 会看到下图(不成功建议过年去抢头香)
    SpringCloud之Eureka入门-简单demo实例
    到此,server端demo成功。下一个教程会创建一个client端注册到此server端提供服务。

创建Eureka-Client端

  1. 创建Eureka-Client 参考上一个教程的2步骤创建eureka-client项目,结果如图:
    SpringCloud之Eureka入门-简单demo实例
  2. 修改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>

如图:
SpringCloud之Eureka入门-简单demo实例
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);
   }
}
  1. 写配置,创建文件如下:
    SpringCloud之Eureka入门-简单demo实例
    代码如下:
server:
  port: 8088

spring:
  application:
    name: microapp
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

  1. 到此,此client会通过defaultZone配置的server的地址注册到server,在Eureka页面可以看到注册的client的信息
    SpringCloud之Eureka入门-简单demo实例
    代码已经上传,参考:https://github.com/coki230/Eureka-demo