springcloud(4):詳細ユーレカの設定

ユーレカのサービス管理システムでは、2つの異なる役割にサーバとクライアントに分け、ユーレカ構成紹介サービス・レジストリのためのサーバー、各インタフェースのマイクロサービスアプリケーションを提供するためのクライアント。

ユーレカサーバの設定

実際には、我々はユーレカは、サーバがより多くの既製品のように、ほとんどの場合、私たちはその設定を変更する必要はありませんされている間、クライアント操作の内容を設定することですか。

あなたが知りたい場合は、このクラスビューorg.springframework.cloud.netflix.eureka.server.EurekaServerConfigBeanに行くことができ、サーバの属性はeureka.serverが付いています。

メイン設定ユーレカクライアント

その上のサービスレジストリのアドレス、サービスの取得間隔、使用可能な領域とを含むサービスレジストリの設定情報、。
サービス・インスタンスの名前、IPアドレス、ポート番号、パスやその他の健康チェックを含むサービスインスタンスの設定情報、。


クラスのサービスのレジストリ設定

org.springframework.cloud.netflix.eureka.EurekaClientConfigBeanを通じて見ることが可能なクラス登録サービスに関する設定情報、設定情報のプレフィックスはeureka.clientです。

登録センターを指定する次のようeureka.client.serviceUrlパラメータによって実現、このパラメータは、HashMapの型に格納された設定値を定義し、デフォルト値のセットを有する、デフォルトキーはdefaultzoneあり、デフォルト値はhttp:// localhostの:8761 /ユーレカ。eureka.client.serviceUrl.defaultZone =します。http:// localhost:1111 /ユーレカ/私たちは、この設定により、レジストリをリセットすることができます。レジストリは、複数のアドレス間で可用性の高いカンマがある場合。

プライベート地図<文字列、文字列>のserviceURL =新しいHashMapの<>();
他の構成

これらの構成は、eureka.clientし始めています

 

 

クラスのサービスインスタンス構成

クラスのサービスインスタンスに関する構成情報がorg.springframework.cloud.netflix.eureka.EurekaInstanceConfigBeanクラスで見ることができ、これらのプレフィックスの構成情報がeureka.instanceです。

メタデータ

Org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean構成情報に、コンフィギュレーションは、サービスインスタンスのメタデータの大規模なコンテンツを持っているクライアントが、サービスレジストリに登録要求を送信するときに、メタデータは、ユーレカを指し、このようなサービス名、インスタンス名、例えばIP、強度ポートとして標準化されたメタデータの数を含むオブジェクト自体を記述したサービス情報。

春クラウドユーレカを使用する場合は、すべての構成情報がorg.springframework.cloud.netflix.eureka.EurekaInstanceConfigBeanによってロードされているが、実際のサービス登録にまだ顧客ユーレカにcom.netflix.appinfo.InstanceInfoオブジェクトにパッケージ化されます終わり。これらの2つのクラス定義がcom.netflix.appinfo.InstanceInfoクラス地図<文字列、文字列>メタデータ=新しいのConcurrentHashMap <文字列、文字列>()カスタムメタデータ情報に他の人が正規化された要素であるが、非常によく似ていますデータ情報。

我们可以通过eureka.instance.<properties>=<value>的格式对标准化的元数据信息直接进行配置,其中<properties>就是EurekaInstanceConfigBean对象中的成员变量名。而对于自定义元数据,可以通过eureka.instance.metadataMap.<key>=<value>的格式进行配置,比如:

eureka.instance.metadataMap.zone=shanghai
实例名配置

它是区分同一服务不同实例的唯一标识。在Netflix Eureka的原生实现中,默认是以主机名作为默认值,这样的设置使得在同一主机上无法启动多个相同的服务实例。所以在Spring Cloud Eureka中针对同一主机启动多个实例的情况,对实例名的默认命名做了更合理的扩展,采用如下规则

 ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}
我们可以通过eureka.instance.instanceId来配置实例名。当我们在本地做负载均衡调试时,采用的是指定多个端口来启动同一服务的多个实例,但这样你会发现实例名其实还是一样的只是端口不一样,我们可以这样设置指定不同的实例名

eureka.instance.instanceId=${spring.application.name}:${random.int}
这样就可以通过不指定端口就启动同一服务的多个实例。

端点配置

在org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean类中,有一些URL的配置信息,如homePageUrl、statusPageUrl、healthCheckUrl。其中状态页和健康检查的URL默认是使用actuator提供的info和health端点。我们必须保证客户端的health端点是一个可以被注册中心正确访问到的地址,否则注册中心不会根据应用的健康检查来改变应用状态(仅当开启了healthcheck功能时,以该端点信息作为健康检查标准而不是心跳)。如果info端点不能正常访问,则在Eureka面板单击服务时不能访问到服务实例提供的信息接口。一般情况下我们不需要配置这些信息,如果你修改了info端点和health端点的路径,那么就需要修改这个配置了,只需要和actuator的做同样修改即可,比如加上相同的前缀、改为同样的新路径等。

eureka.instance.statusPageUrlPath=info端点的路径
eureka.instance.healthCheckUrlPath=health端点的路径
上述配置是使用相对路径进行配置,如果客户端应用以HTTPS的方式而不是HTTP的方式来暴露服务和监控端点时,要使用绝对路径。

eureka.instance.statusPageUrlPath=https://${eureka.instance.hostname}/actuator/info
eureka.instance.healthCheckUrlPath=https://${eureka.instance.hostname}/actuator/health
其他配置

 

 

除了前三个可能会修改外,其余使用默认配置就可以。


---------------------
作者:myCat、
来源:CSDN
原文:https://blog.csdn.net/WYA1993/article/details/82288605
版权声明:本文为博主原创文章,转载请附上博文链接!

おすすめ

転載: www.cnblogs.com/holly8/p/11225894.html