我们这里就简单的输出hello为例!
项目搭建
一,建立一个父项目
pom文件的代码如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>import</scope>
<exclusions>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
然后我们再父工程的基础上建立两个module,一个是服务注册中心,一个是客户端
二,服务注册中心
pom文件如下:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
然后再写一个启动类Application.java
代码如下:
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
我们这里要添加注解:EnableEurekaServer,这个注解的作用就是标注该应用程序是一个注册中心。
我们还要再Resources中创建一个application.yml文件。
代码如下:
server:
port: 8761
eureka:
server:
enable-self-preservation: false
instance:
preferIpAddress: true
hostname: ${spring.cloud.client.ipAddress}
instanceId: ${spring.cloud.client.ipAddress}:${server.port}
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
- eureka.server.enable-self-preservation:是否开启自我保护,默认为 true,在开启自我保护的情况下,注册中心在丢失客户端时,会进入自动保护模式,注册中心并不会将该服务从注册中心删除掉。这里我设置为 false,即关闭自我保护。根据我的经验,如果设置为 true,在负载均衡条件下,一个服务挂掉后,注册中心并没有删掉该服务,会导致客户端请求的时候可能会请求到该服务,导致系统无法访问,所以我推荐将这个属性设置为 false。
- eureka.instance.preferIpAddress:是否以 IP 注册到注册中心,Eureka 默认是以 hostname 来注册的。
搭建成功样式
我们现在启动一下这个项目看能否成功:
如果看到这个界面就说明服务注册中心创建成功!!
下面就是再创建一个服务提供者
三,服务提供者(客户端)
pom文件代码如下:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
创建一个启动类Application.java
@SpringBootApplication
@EnableEurekaClient
public class Application {
public static void main(String[] args) {
org.springframework.boot.SpringApplication.run(Application.class, args);
}
}
我们这里用到了一个注解:EnableEurekaClient,标注了此注解,说明该项目是一个服务提供者。
这里也要在Resources中创建一个application.yml
代码如下:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
server:
port: 8762
spring:
application:
name: eurekaclient
其中,spring.application.name 为该服务的名字,eureka.client.serviceUrl.defaultZone 的作用是指定注册中心的地址。
在服务提供者的 module 下创建 HelloController 类,添加内容如下:
@RestController
public class HelloController {
@RequestMapping("hello")
public String index(){
return "Hello World!";
}
}
接下来启动项目
搭建成功样式
我们现在看一下服务注册中心就会多一个东西
这样我们就搭建了一个超级简单的springcloud项目!!1