ブログを書いてから久しぶりです。最近の流行の間、インターネット市場もますます低迷しています。自分の仕事を続け、時の洪水に圧倒されないようにするには、Spring Cloudフレームワークがすでに稼働していることを常に思い出すことが最善の方法です。数年間、多くの企業はまだ分散マイクロサービスまたはSSMフレームワークを使用しています。しかし、Spring Cloudアーキテクチャの習得は、主要企業にとって次第に標準になってきました。今日は、SpringCloud登録センターEurekaを構築する方法を紹介します。
まず、スプリングクラウドとは何かを紹介しますが、すでにマイクロサービスが配布されていませんか?なぜスプリングクラウドを使用するのですか?
1. Springcloudとは何ですか?
Spring Cloudは比較的新しいマイクロサービスフレームワークであり、1.0のリリースバージョンは2016年にリリースされただけです。ただし、その更新は特に速く、ほぼ1〜2か月ごとに更新されます。SpringCloudは最短ですが、ダボや他のRPCと比較されますフレームワーク、Spring Cloudが提供する分散システムソリューションの完全なセット。
2. Springcloudを使用する理由
Spring Cloudは、開発者に分散システムの迅速なビルドを提供します(構成管理、サービス検出、ヒューズ、ルーティング、マイクロエージェント、制御バス、ワンタイムトークン、完全なホームセキュリティ、リーダー選出、分散セッション、クラスター状態)ツール、つまりクラウドクラウドエコシステムは比較的完全であり、Spring Cloudを使用する開発者はサービスをすばやく開始したり、アプリケーションを構築したり、クラウドプラットフォームのリソースにすばやく接続したりできます。
それでは、ここで、SpringCloudサービスプロバイダー-ユーレカを構築する方法のトピックに入ります
クライアントがサーバーに登録すると、ホストとポート、URL、ホームページなどのメタデータが提供されます。Eurekaサーバーは、各クライアントインスタンスからハートビートメッセージを受信します。ハートビートがタイムアウトすると、通常、インスタンスは登録サーバーから削除されます。
次に、最初にpomファイルをアップロードする必要があります
<?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> com.spring.cloud </ groupId>
<artifactId> hello-spring-cloud-dependencies </ artifactId>
<version> 1.0.0-SNAPSHOT </ version>
<relativePath> ../ hello-spring -cloud-dependencies / pom.xml </ relativePath>
</ parent><artifactId> hello-spring-cloud-service-admin </ artifactId>
<packaging> jar </ packaging><name> hello-spring-cloud-service-admin </ name>
<url> http://www.springCloud.com </ url>
<inceptionYear> 2018-Now </ inceptionYear><dependencies>
<!-Spring Boot Begin->
<dependency>
<groupId> org.springframework.boot </ groupId>
<artifactId> spring-boot-starter-test </ artifactId>
<scope> test </ scope>
</ dependency>
<!-Spring Boot End-><!-Spring Cloud Begin->
<dependency>
<groupId> org.springframework.cloud </ groupId>
<artifactId> spring-cloud-starter-netflix-eureka-server </ artifactId>
</ dependency>
<!- -Spring Cloud End->
</ dependencies><build>
<plugins>
<plugin>
<groupId> org.springframework.boot </ groupId>
<artifactId> spring-boot-maven-plugin </ artifactId>
<configuration>
<mainClass> com.hello.spring.cloud.service .admin.ServiceAdminApplication </ mainClass>
</ configuration>
</ plugin>
</ plugins>
</ build>
</ project>
クラスを開始
応用
アノテーションで@EnableEurekaClient
自身がユーレカクライアントであることを示しました。
パッケージcom.hello.spring.cloud.service.admin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient //サービスプロバイダーであることを示すには、ここに追加する必要があります
public class ServiceAdminApplication {
public static void main(String [] args){
SpringApplication.run(ServiceAdminApplication.class、args);
}
}
設定ファイル
application.yml
春:
アプリケーション:
名前:hello-spring-cloud-service-admin//
spring.application.name
これは非常に重要であることを指摘する必要があります。これは通常、サービス間で相互に呼び出すときにこれに基づいています。重要な
とても重要
とても重要です!!
サーバー:
ポート:8762eureka:
クライアント:
serviceUrl:
defaultZone:http:// localhost:8761 / eureka /
この時、あなたは書くことができ、コントローラ Aを
パッケージcom.hello.spring.cloud.service.admin.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
パブリッククラスAdminController {@Value( "$ {server.port}")
プライベート文字列ポート。@RequestMapping(value = "hi"、method = RequestMethod.GET)
public String sayHi(@RequestParam(value = "message")String message){
return String.format( "Hi、your message is:%si am from port: %s "、メッセージ、ポート);
}
}
プロジェクトを開始し、http:// localhost:8761を開きます。EurekaサーバーのURL:
サービスに登録されているサービス、サービス名HELLO-SPRING-CLOUD-SERVICE-ADMIN
、ポートは8762
次にhttpを開きます:// localhost:8762 / hi?Message = HelloSpringとすると、ブラウザに次のように表示されます。
こんにちは、メッセージです: "HelloSpring"私はポートから来ました:8762