springcloud-注册中心快速构建

1. 场景描述

springcloud提供了一整套可行的构建分布式系统的方案,使的企业/开发人员可以快速沟通分布式系统,今天快速构建下springcloud的注册中心Eureka。html

2. 解决方案

2.1 springcloud介绍

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

2.2 项目构建

使用的idea终极版,springcloud项目自己就是springboot项目(springboot与springcloud的关系)。apache

首先在idea中建立项目:file-->new-->projectspringboot

两个默认next后选择组件app

默认next->finishmaven

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项目。ide

(2)须要两个starter,eureka-server和eureka-clientspring-boot

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);
    }

}

说明:

比springboot项目多了一个标签:@EnableEurekaServer,该标签用于标注是注册中心。

2.5 application.yml文件

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下面的配置暂时不用,后续用于在高可用配置的时候,做为客户端注册到另外一台注册中心,实现高可用。

2.6 启动应用


I'm 软件老王,若是以为还能够的话,关注下呗!若有不许确或疑问的地方,可经过讨论区、QQ沟通,多谢!

原文出处:https://www.cnblogs.com/ruanjianlaowang/p/11204981.html

相关文章
相关标签/搜索