SpringCloud1:使用Eureka注册与发现服务

工程结构如下:

1个主工程,两个module工程


工具:Eclipse
JDK版本:1.8
SpringBoot版本:最新版本即可

创建一个Maven主工程,打包方式为POM。
备注:创建springboot工程有多种方式,可以先创建module工程再引入starter依赖,也可以直接创建starter工程,移入目录到工程,也可以复制一个工程,修改pom中的项目名,没有区别。

一、创建Eureka Server
1、使用Spring Start Project创建向导,创建一个Springboot工程,名称为eurekaServer

2、Dependencies选择 Eureka Server

3、工程创建完成
在EurekaServerApplication类上添加 @EnableEurekaServer 注解

1
2
3
4
5
6
7
8
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

4、修改application.properties配置文件

1
2
3
4
5
eureka.instance.hostname=127.0.0.1
server.port=8900
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false 
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

指定服务端的端口为8900

5、启动工程
打开http://127.0.0.1:8900,查看服务端管理界面

二、创建Eureka Client
1、使用Spring Start Project创建向导,创建一个Springboot工程,名称为eurekaClient

2、Dependencies选择 Eureka Discovery

3、工程创建完成
在EurekaServerApplication类上添加 @EnableEurekaClient 注解
添加@RestController以返回内容
创建home()方法,指定/hello入口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@EnableEurekaClient
@SpringBootApplication
@RestController
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }
   
    @Value("${server.port}")
    String port;
    @RequestMapping("/hello")
    public String home(@RequestParam String name){
        return "Hello, "+name+",I am from port:" +port;
    }
}

4、修改application.properties配置文件

1
2
3
eureka.client.service-url.defaultZone=http://127.0.0.1:8900/eureka/
server.port=8922
spring.application.name=service-my

第一行指定了服务端的地址,第二行指定了服务端的端口;第三行指定了服务的名称

5、启动工程
服务会自动注册到服务端
查看服务端管理界面:http://127.0.0.1:8900

6、浏览器访问
http://localhost:8922/hello?name=baozi

源码地址:
https://github.com/baijy/springcloudlearn/tree/master/chapter1

详细释义参考(原文使用IDEA,本文使用Eclipse):
http://blog.csdn.net/forezp/article/details/69696915

SpringCloud学习资料:
链接:http://pan.baidu.com/s/1kVj8zqR 密码:ly1p