春クラウドアリババ戦闘サービス登録とナコスの発見

登録やサービスの発見、サービスの発見は主に、様々なマイクロ登録サービスインスタンスを自動化するために使用し、サービスがマイクロガバナンスの中核である、春クラウドアリババを学んで、我々は最初のサービスの登録と発見コンポーネント--Nacosの枠組みを理解しなければならないことがわかりました。

A、春のクラウドサービスの登録と発見コンポーネント

クラウドユーレカストームクローズドソースを1.Spring

春の雲のサブプロジェクトでは、春のクラウドNetflixのディスカバリサービスを実装するためにユーレカを提供しています、ユーレカのサービスは、2つの主要コンポーネントを含んでいることが分かっ:

サーバー検出コンポーネント(EurekaServer)とクライアントの検出コンポーネント(ユーレカクライアント)。

図に示すユーレカサービス発見メカニズム。

など、注釈を走るときにクライアントサービスプログラムは、コードに埋め込まれている場合、それ自体がレジストリに提供して登録したクライアント・サービス・ディスカバリ・コンポーネントであること、そして定期的にハートビートサービスを送り、更新されます、

三つの連続ハートビートがサービスを見つけることができませんした後、その後、ユーレカノードサービスは、サービスレジストリから削除されます。

残りは、様々なサービス間の登録情報で登録したコールセンターを達成するための方法になり、サービスは名前によって直接呼び出すことができます。

2012年には、ネットフリックスは、Euerkaが広く春クラウドにEuerkaオープンソースを使用しますが、2018年6月には、ネットフリックスは、クローズドソースEuerka 2.0を発表し、コミュニティの統合は、現在のバージョンは1.0です。

クローズドソースの後、サービスの発見は、答えはナコスであるコンポーネントを選択します。

 

2.アリババオープンソースナコス

ナコスを見つけることがアリババ関係者は、「動的なクラウドネイティブアプリケーション・サービス・ディスカバリー、構成管理およびサービス管理プラットフォームを構築しやすい。」であります

ナコスは、サービス発見、統合コンフィギュレーション・センター、およびデータ管理サービスなどの機能をサポートしています。

 

二、ナコスローカルインストールと起動

ナコスは、ここで私たちは、ソースコードやビルドをダウンロード、二つの方法で、ソースとディストリビューションによって得ることができます。

Githubのからソースコードをダウンロードしてコンパイル

gitのクローンhttps://github.com/alibaba/nacos.git 
CDのナコス/ 
MVN -Prelease-ナコスクリーンインストール-U   
のls -al分配/ターゲット/ 

//あなたの実際のパスに$バージョン変更
のCD配布/ターゲット/ナコスを$バージョン/ナコス/ binが-server-

  

スタートナコスサービス

Linux / Unixの/ Macのシステム
起動コマンド(スタンドアロンはスタンドアロンモード、非クラスタモードを表します):

SH startup.sh -mスタンドアロン

  

Windowsシステム

Startコマンド:

` 
cmdをSTARTUP.CMD 
`

  


ファイルまたは実行STARTUP.CMDをダブルクリックします

アプリケーションが起動された後、訪問  http://127.0.0.1:8848/nacos/はナコス/ナコス:、Nacos0.8バージョンは、簡単なログイン機能、デフォルトのユーザー名/パスワードをサポートしています。

 

第三に、春のクラウドサービス発見の統合

あなたは春のクラウドプロジェクトを作成するに精通していない場合は、このブログの記事の前で見ることができます。

ビューの間の関係の最新バージョン  奥付ウィキ

サービスプロバイダを作成します。

1.ナコススプリング・クラウドという新しい春ブーツプロジェクト、Nocosに依存関係を追加する、注:バージョン0.2.x.RELEASEは春ブーツ2.xのバージョンに対応し、バージョン0.1.x.RELEASEは春に対応ブート1.xのバージョン。

    <dependencyManagement>
        <dependencies>
            <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.2.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.1.0</version> </dependency> </dependencies> </dependencyManagement>

2.添加一个模块,nacos-spring-cloud-provider,作为 服务提供者,Pom文件配置如下

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.0.Final</version> </dependency> </dependencies>

3.创建启动类,在启动类中添加一个Restful类型的方法,作为服务实现。

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class NacosProviderApplication { public static void main(String[] args) { SpringApplication.run(NacosProviderApplication.class, args); } @RequestMapping(value = "/hello/{string}", method = RequestMethod.GET) public String echo(@PathVariable String string) { return "Hello " + string; } } 

4.修改配置文件,注册到 Nacos 控制台。

server.port=8070
spring.application.name=service-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

5.启动工程,查看 Nacos 控制台。

 

创建服务消费者

1.添加一个新 module,nacos-spring-cloud-consumer,作为服务消费者。

2.在启动类中添加一个Restful类型的方法,Pom文件依赖如下:

<properties>
        <spring-cloud-openfeign.version>2.0.0.RELEASE</spring-cloud-openfeign.version> <spring-cloud-netflix.version>2.0.0.RELEASE</spring-cloud-netflix.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <version>${spring-cloud-netflix.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>${spring-cloud-openfeign.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </dependency> </dependencies>

3.创建启动类和测试方法,来调用提供者的服务。

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication { public static void main(String[] args) { SpringApplication.run(NacosConsumerApplication.class, args); } @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } }

通过RestTemplate调用服务:

@RestController
public class TestController { @Autowired private RestTemplate restTemplate; @RequestMapping(value = "/hello/{str}", method = RequestMethod.GET) public String echo(@PathVariable String str) { return restTemplate.getForObject("http://service-provider/hello/" + str, String.class); } }

4.修改配置文件,订阅服务

server.port=8080
spring.application.name=service-consumer
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

5.启动工程,查看 Nacos 控制台。

6.测试服务调用,正常返回。

四、总结

这个小教程用一个简单的示例,搭建了基于Nacos的 Spring Cloud 服务发现,可以看到 Nacos 的控制台还有配置管理的功能,下一节会学习 Nacos 的配置管理。

おすすめ

転載: www.cnblogs.com/binyue/p/12095310.html
おすすめ