手机网站制作费用,软件开发网站开发副业,深圳南山网的工作,小程序网站制作公司我有机会与Spring-Cloud一起创建了一组云就绪微服务的样本集#xff0c;Spring-Cloud如何使不同的基础架构组件和服务很好地协同工作给我留下了深刻的印象。 我习惯于基于基于Netflix OSS的堆栈创建微服务#xff0c;通常在Netflix堆栈中#xff0c; Eureka被认为是微服务进… 我有机会与Spring-Cloud一起创建了一组云就绪微服务的样本集Spring-Cloud如何使不同的基础架构组件和服务很好地协同工作给我留下了深刻的印象。 我习惯于基于基于Netflix OSS的堆栈创建微服务通常在Netflix堆栈中 Eureka被认为是微服务进行自我注册和发现彼此的枢纽。 本着这种模式的精神我想尝试一系列看起来像这样的服务 这里有2种微服务 响应“ ping”消息的样本乒乓服务 使用“乒乓”微服务的抽样服务 并且有两个基础架构组件 Sample-config为2个微服务提供集中配置 尤里卡Eureka是中央枢纽为服务注册和发现其他服务提供了一种方式 因此首先我将介绍如何使用spring-cloud开发两个基础架构组件并紧跟其后如何开发微服务以使用这些组件。 整个项目在我的github位置上可用。 尤里卡 Spring-cloud使创建Eureka的实例非常简单所需要做的只是遵循以下几行的类 package org.bk.eureka;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;SpringBootApplication
EnableEurekaServer
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
} 可以启动多个Eureka实例并将其配置为以弹性方式协同工作尽管在这里我只想演示一个独立的Eureka实例并且可以使用类似以下的配置来完成本质上是在端口8761上启动eureka并且在独立模式下不尝试查找对等方 ---
# application.yml
server:port: 8761eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: false配置服务器 Spring-Cloud提供了一个集中式配置服务器微服务可用于加载其属性。 通常微服务可能希望采用以下两种方式之一 使用Eureka作为中心找到配置服务 使用配置服务并找到尤里卡 我个人更喜欢Eureka优先方法在此示例配置服务器中向Eureka注册了自己当微服务启动时他们首先向Eureka进行了检查找到Configuration服务并使用该服务加载其属性。 配置服务器也很容易使用Spring-cloud编写以下是所需的所有代码 package org.bk.configserver;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;SpringBootApplication
EnableConfigServer
EnableEurekaClient
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}
} 以及向Eureka注册此服务的配置 ---
# bootstrap.yml
spring:application:name: sample-configprofiles:active: nativeeureka:instance:nonSecurePort: ${server.port:8888}client:serviceUrl:defaultZone: http://${eureka.host:localhost}:${eureka.port:8761}/eureka/---
# application.yml
spring:cloud:config:server:native:searchLocations: classpath:/configserver:port: 8888 配置服务器从端口8888启动并从类路径提供配置。 在实际的应用程序中可以将配置设置为从中央git存储库加载这种方式为版本属性提供了一种简洁的方法并且可以集中管理属性。 在这种特定情况下由于它提供了两个微服务的属性因此类路径中有两组文件并为调用应用程序提供了适当的属性 ---
#sample-pong.yml
reply:message: Pong---
# sample-ping.yml
send:message: Ping启动Eureka和配置服务器 由于这两个应用程序都是基于Spring-boot的因此可以通过运行以下命令来分别启动它们 mvn spring-boot:run 一旦Eureka和Configuration Server正常启动Eureka将提供一个不错的界面其中包含向其注册的服务的详细信息在这种情况下Configuration Server的名称为“ SAMPLE-CONFIG” 配置服务器通过端点通过以下模式为调用应用程序提供属性 /{application}/{profile}[/{label}] 因此要检索“ sample-pong”应用程序的属性应用程序将在内部使用以下URL http://localhost:8888/sample-pong/default 对于“ sample-ping”应用程序属性可以从http://localhost:8888/sample-ping/default派生 到此结束了有关如何启动云就绪系统的基础架构组件的详细说明。 我将继续介绍如何利用这些基础架构组件开发微服务。 这些示例背后的代码可在我的github存储库中找到 。 翻译自: https://www.javacodegeeks.com/2015/06/learning-spring-cloud-infrastructure-and-configuration.html