springcloud提供了一整套可行的构建分布式系统的方案,使的企业/开发人员可以快速沟通分布式系统,今天快速构建下springcloud的注册中心Eureka。html
COORDINATE ANYTHING: DISTRIBUTED SYSTEMS SIMPLIFIEDjava
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.spring
使用的idea终极版,springcloud项目自己就是springboot项目(springboot与springcloud的关系)。apache
首先在idea中建立项目:file-->new-->projectspringboot
两个默认next后选择组件app
默认next->finishmaven
<?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项目。ide
(2)须要两个starter,eureka-server和eureka-clientspring-boot
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); } }
说明:
比springboot项目多了一个标签:@EnableEurekaServer,该标签用于标注是注册中心。
spring: application: name: registry server: port: 8761 eureka: client: register-with-eureka: false service-url: defaultZone: http://localhost:8761/eureka/
说明:
(1)name为项目名称;
(2)port: 8761为启动端口。
(3)eureka下面的配置暂时不用,后续用于在高可用配置的时候,做为客户端注册到另外一台注册中心,实现高可用。
I'm 软件老王,若是以为还能够的话,关注下呗!若有不许确或疑问的地方,可经过讨论区、QQ沟通,多谢!
原文出处:https://www.cnblogs.com/ruanjianlaowang/p/11204981.html