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
こんにちは
シンプルなマイクロサービスが作成されます!