1.eurekaServer的搭建:
pom.xml中必要的依赖:
<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>
application.yml配置:
spring:
profiles:
active: dev2
---
spring:
application:
###当前服务名
name: eureka-peer
profiles: dev
server:
##端口号
port: 10000
---
spring:
profiles: dev1
application:
name: eureka-peer2
server:
port: 10001
---
spring:
profiles: dev2
application:
name: eureka-peer3
server:
port: 10002
---
eureka:
instance:
hostname: dev1
client:
##检索服务
fetch-registry: false
##是否将自己注册到eureka
register-with-eureka: false
##客户端默认去这个地址找注册中心
service-url:
defaultZone: http://localhost:10000/eureka/,http://localhost:10001/eureka/,http://localhost:10002/eureka/
server:
### 当eureka启动时,不能从集群节点中获取到instance注册信息,应该等多久
wait-time-in-ms-when-sync-empty: 0
enable-self-preservation: true
###eureka多长时间更新一次数据
peer-eureka-nodes-update-interval-ms: 100000
启动类的注解配置:
package com.eurekaServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
- eurekaClient的配置:
pom.xml必要依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
application.proprties配置:
eureka.port1=10000
eureka.port2=10001
eureka.port3=10002
server.port=8763
eureka.instance.hostname=localhost
spring.application.name=eureka-client
eureka.client.healthcheck.enabled=true
#在此指定服务注册中心地址
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${eureka.port1}/eureka/,http://${eureka.instance.hostname}:${eureka.port2}/eureka/,http://${eureka.instance.hostname}:${eureka.port3}/eureka/
management.endpoints.web.exposure.include= "*"
management.endpoints.web.cors.allowed-origins="*"
management.endpoints.web.cors.allowed-methods= "*"
启动类的配置:
package come.eurekaclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class EurekaclientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaclientApplication.class, args);
}
}
demo代码地址:https://github.com/luohong12/springcloud-eurakaclient.git
https://github.com/luohong12/springcloud-eurekaServer.git
3.springboot在linux环境上的发布:
springboot官方是建议以jar包的形式发布
发布eurekaServer:
cd /usr/local/src/
git clone -b master https://github.com/luohong12/springcloud-eurekaServer.git
cd springcloud-eurekaServer/
mvn clean install
mkdir /usr/local/project
cp target/Eureka-Server-0.0.1-SNAPSHOT.jar /usr/local/project/
cd /usr/local/project/
mkdir logs
java -jar Eureka-Server-0.0.1-SNAPSHOT.jar -> logs/EurekaServer.out &
tail -f logs/EurekaServer.out
访问检验是否发布成功:
eurekaClient发布方式是一样的,这里就不写,直接看结果: