springcloudマイクロサービスの構築(2)単純なマイクロサービスプロジェクトの作成

springcloudマイクロサービスの構築(2)eurekaと同じ方法でspringbootプロジェクトspringcloud-accountを作成し、eurekaに登録します

springcloudマイクロサービスの構築(1)レジストリeurekaサーバーを作成します:https://blog.csdn.net/x18094/article/details/114757162

クラスを開始

@SpringBootApplication
@EnableEurekaClient
public class SpringcloudAccountApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudAccountApplication.class, args);
    }
}

application.yaml

eureka:
  client:
    serviceUrl:
#      eureka的注册中心地址
      defaultZone: http://localhost:8888/eureka/
server:
#  此项目端口号
  port: 8889
spring:
  application:
#    注册进eureka的名字
    name: account-server

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 https://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.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.org</groupId>
    <artifactId>springcloud-account</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springcloud-account</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
    </properties>

    <dependencies>
       <!--这里可以换成client,我这里直接就server了-->
        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>org.springframework.cloud</groupId>-->
            <!--<artifactId>spring-cloud-config-server</artifactId>-->
        <!--</dependency>-->
        <!--配置中心客户端依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
       <!-- 消息总线  https://liuyanzhao.com/9653.html-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </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>

http:// localhost:8888 /にアクセスすると、eurekaに登録されていることがわかります。

ユーレカ警告:これは、ユーレカが自動保護状態になったことによるものです。参照:https//www.cnblogs.com/breath-taking/articles/7940364.html

緊急!EUREKAは、そうでない場合でも、誤ってクレームインスタンスがアップしている可能性があります。更新はしきい値よりも少ないため、安全のためにインスタンスの有効期限が切れることはありません。

この状態では、サーバーは登録情報を削除しません。これにより、マイクロサービスが呼び出されたときにサービスが実際に存在しなくなる可能性があります。 
この保護ステータスは、実際には、クライアントとサーバー間のハートビートがサービス自体ではなくネットワークの問題によるものであると見なし、登録情報を単純に削除することはできません。

スタックオーバーフローに関するいくつかの提案は次のとおり
です。1。自己登録を本番環境 で開き、2台のサーバーをデプロイできます
。2 。 このマシンでテストする場合、比率を0.49などに下げることができます。3 
。モードオフ

eureka.server.enableSelfPreservation=false

 

コントローラを作成する

@RestController
public class MyController {
    @GetMapping("hello")
    public String hello() {
        return "hello";
    }
}

访问:  http:// localhost:888 9 / hello

こんにちは

シンプルなマイクロサービスが作成されます! 

 

おすすめ

転載: blog.csdn.net/x18094/article/details/114758483