Heim  >  Artikel  >  Java  >  Registrierung des SpringCloud-Tutorialdienstes (Konsul)

Registrierung des SpringCloud-Tutorialdienstes (Konsul)

无忌哥哥
无忌哥哥Original
2018-07-20 10:59:492135Durchsuche

In diesem Artikel wird hauptsächlich die Spring Cloud Consul-Komponente vorgestellt, ein Tool zur Diensterkennung und -konfiguration. Consul ist verteilt, hochverfügbar und hoch skalierbar.

1. Einführung in Consul

Consul hat die folgenden Eigenschaften:

  • Diensterkennung: Consul registriert Dienste über http und Dienste und Dienstleistungen gegenseitige Induktion zwischen ihnen.

  • Dienstzustandsüberwachung

  • Schlüssel-/Wertspeicherung

  • Mehrere Rechenzentren

Consul kann auf Mac, Windows, Linux und anderen Computern ausgeführt werden.

2. Consul-Installation

Linux

$ mkdir -p $GOPATH/src/github.com/hashicorp && cd $!
$ git clone https://github.com/hashicorp/consul.git
$ cd consul
$ make bootstrap
$ make bootstrap

Installation unter Windows:
Sehen Sie, wie man Consul unter Windows installiert

3. Bauprojekt

Erstellen Sie ein Consul-Miya-Springboot-Projekt und importieren Sie die Abhängigkeit Spring-Cloud-Starter-Consul-Discovery. Seine Abhängigkeitsdatei:

<?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>

    <groupId>com.forezp</groupId>
    <artifactId>consul-miya</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>consul-miya</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</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>Dalston.RELEASE</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>

Fügen Sie die Annotation @EnableDiscoveryClient zu seiner Eintragsdatei ConsulMiyaApplication hinzu, um die Diensterkennung zu aktivieren :

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ConsulMiyaApplication {

    @RequestMapping("/hi")
    public String home() {
        return "hi ,i&#39;m miya";
    }

    public static void main(String[] args) {
        new SpringApplicationBuilder(ConsulMiyaApplication.class).web(true).run(args);
    }
}

Gibt den Port des Konsul-Dienstes als 8500 in seiner Konfigurationsdatei application.yml an:

spring:
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        healthCheckPath: ${management.contextPath}/health
        healthCheckInterval: 15s
        instance-id: consul-miya
  application:
    name: consul-miya
server:
  port: 8502

Starten Sie das Projekt und besuchen Sie localhost:8500. Sie können feststellen, dass consul-miya registriert ist.

Das obige ist der detaillierte Inhalt vonRegistrierung des SpringCloud-Tutorialdienstes (Konsul). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn