springcloud(1)Eureka配置及集群
springcloud微服务包含的技术种类众多,eureka作为其注册中心,一直处于主流,但在今年已经处于永久停更状态,但其优秀的能力还是值得学习。
整体价格采用聚合工程,后续也存在于聚合工程内。
1.首先配置pom工程的依赖。
<dependencies> <!-- eureka-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <!-- 引用自己定义的api通用包 --> <dependency> <groupId>com.bai</groupId> <artifactId>cloud-api-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--监控--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- 一般通用配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
2.yml文件配置格式。
注意为了配合后续的集群,将本地127.0.0.1映射为eureka7001.com等等,具体改host方法自行搜索。
# 端口
server:
port: 7001
spring:
application:
name: cloud-eureka-server
# Eureka配置
eureka:
instance:
# eureka服务端的实例名称
hostname: eureka7001.com
client:
# false表示不向注册中心注册自己
register-with-eureka: false
# false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检查服务
fetch-registry: false
# 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
service-url:
defaultZone: http://localhost:7001/eureka
3.主启动类
@EnableEurekaServer @SpringBootApplication public class Eureka7001 { public static void main(String[] args) { SpringApplication.run(Eureka7001.class,args); } }
4.配置多个集群分布式。
eureka集群要遵循互相守望的原则。在自己的yml文件中去注册其他所有集群的地址。除了yml文件格式,其他大致都相同。
service-url:
defaultZone: http://eureka7002.com:7002/eureka
有多少个集群就需要在defaultZone中注册多少个。
注意yml文件内的代码格式要正确,级别要对齐。
本篇所有代码均在GitHub: