接着上一篇 Spring Cloud实战(一)-项目架构搭建 现在开始搭建注册中心
一.register-server
1.pom.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2.RegisterApplication.java
package com.example.register;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author 86188
*/
@SpringBootApplication
@EnableEurekaServer //开启eureka服务
public class RegisterApplication {
public static void main(String[] args) {
SpringApplication.run(RegisterApplication.class, args);
}
}
3.application.yml
spring:
application:
name: eureka-server
profiles:
active: single
---
#单机版
spring:
config:
activate:
on-profile: single
server:
port: 1111 #当前eureka-server服务的端口号
eureka:
instance:
hostname: localhost #当前eureka-server服务的主机名
client:
register-with-eureka: false #当前eureka-server服务不需要到eureka-server上注册
fetch-registry: false #注册中心的职责是维护服务实例,不需要检索服务
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #eureka-client设置eureka-server的地址
server:
enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启
---
spring:
config:
activate:
on-profile: peer1
server:
port: 1112 #当前eureka-server服务的端口号
eureka:
instance:
hostname: peer1 #当前eureka-server服务的主机名[需要在本地 etc/hosts 中配置 127.0.0.1 peer1 ]
lease-renewal-interval-in-seconds: 30 #服务续约(心跳检测)时间,默认30秒
lease-expiration-duration-in-seconds: 90 #服务剔除时间,默认90秒
client:
service-url:
defaultZone: http://peer2:1113/eureka/ #eureka-client设置eureka-server的地址
server:
enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启
---
spring:
config:
activate:
on-profile: peer2
server:
port: 1113 #当前eureka-server服务的端口号
eureka:
instance:
hostname: peer2 #当前eureka-server服务的主机名[需要在本地 etc/hosts 中配置 127.0.0.1 peer2 ]
lease-renewal-interval-in-seconds: 30 #服务续约(心跳检测)时间,默认30秒
lease-expiration-duration-in-seconds: 90 #服务剔除时间,默认90秒
client:
service-url:
defaultZone: http://peer1:1112/eureka/ #eureka-client设置eureka-server的地址
server:
enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启
4.测试
此处我配置了单机版single和集群版peer1,peer2,集群很简单 就是相互注册.
单机版
java -jar register-server-0.0.1-SNAPSHOT.jar
集群版
java -jar register-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar register-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
至此,注册中心搭建完毕.
特别说明:
为了避免端口冲突,单机版端口全部以四位数的相同数字开始,集群最后一个数字递增.
例如:
注册中心 单机版(single):1111 集群(peer1,peer2,...):1112,1113,...
配置中心 单机版(single): 2222 集群(peer1,peer2,...):2223,2224,...
...
本地为了方便,后续如无特殊需要均以单机版为主