1. 场景描述
springcloud 提供了一整套可行的构建分布式系统的方案, 使的企业 / 开发人员能够快速沟通分布式系统, 今天快速构建下 springcloud 的注册中心 Eureka.
2. 解决方案
2.1 springcloud 介绍
COORDINATE ANYTHING: DISTRIBUTED SYSTEMS SIMPLIFIED
Building distributed systems doesn't need to be complex and error-prone. Spring Cloud offers a simple and accessible programming model to the most common distributed system patterns, helping developers build resilient, reliable, and coordinated applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly.
2.2 项目构建
使用的 idea 终极版, springcloud 项目本身就是 springboot 项目 (springboot 与 springcloud 的关系).
首先在 idea 中创建项目: file-->new-->project
两个默认 next 后选择组件
默认 next->finish
2.3 配置文件 pom.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" 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">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.1.4.RELEASE</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <groupId>com.spc</groupId>
- <artifactId>eurekaserver</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>eurekaserver</name>
- <description>Demo project for Spring Boot</description>
- <properties>
- <java.version>1.8</java.version>
- <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring-cloud.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </project>
说明:
(1)springcloud 本身是 springboot 项目, 新建 springboot 项目.
(2) 需要两个 starter,eureka-server 和 eureka-client
2.4 application 启动类
- package com.spc.eurekaserver;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
- @SpringBootApplication
- @EnableEurekaServer
- public class EurekaserverApplication {
- public static void main(String[] args) {
- SpringApplication.run(EurekaserverApplication.class, args);
- }
- }
说明:
- spring:
- application:
- name: registry
- server:
- port: 8761
- eureka:
- client:
- register-with-eureka: false
- service-url:
- defaultZone: http://localhost:8761/eureka/
来源: https://www.cnblogs.com/ruanjianlaowang/p/11204981.html