领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多开始使用 Spring Cloud 可能令人望而生畏。如果您看过 Josh Long 的精彩演讲Cloud Native Java,您会注意到在看到应用程序运行之前,您需要创建几个支持应用程序。
作为从 Spring XD 过渡到Spring Cloud Data Flow的一部分,一个提取的项目称为Spring Cloud Deployer。Deployer 允许在各种平台上启动应用程序,包括在开发人员机器上启动。
我们希望简化用户体验 Spring Cloud 的能力,因此诞生了spring cloud
命令。
spring cloud
命令会自动运行在 Spring Cloud 环境中运行应用程序所需的一些支持服务器,例如 Config Server 和 Eureka。
第一步是安装Spring Boot CLI(spring
命令)。所需的最低版本为1.4.1.RELEASE
。我个人更喜欢SDKMAN 方法。
$ sdk install springboot
$ spring --version
Spring Boot v1.4.1.RELEASE
接下来,您需要通过 Spring Boot CLI 安装 Spring Cloud 启动器 CLI(spring cloud
命令)。
$ spring install org.springframework.cloud:spring-cloud-cli:1.2.1.RELEASE
如果您在没有任何参数的情况下运行spring cloud
,则会启动 Config Server 和 Eureka。Config Server 在其他服务之前启动,以便其他服务可以拉取其配置。
以下服务器可供启动
$ spring cloud --list
configserver dataflow eureka h2 hystrixdashboard kafka zipkin
要运行一组特定的服务器,只需将它们列为参数即可
$ spring cloud configserver eureka hystrixdashboard
前面的命令运行 Config Server、Eureka 和 Hystrix Dashboard。
$ spring help cloud
spring cloud - Start Spring Cloud services, like Eureka, Config Server, etc.
Option Description
------ -----------
-d, --debug Debug logging for the deployer
-l, --list List the deployables (don't launch
anything)
-v, --version Show the version (don't launch
examples:
Launch Eureka:
$ spring cloud eureka
Launch Config Server and Eureka:
$ spring cloud configserver eureka
List deployable apps:
$ spring cloud --list
Show version:
$ spring cloud --version
每个进程可以使用普通的 Spring Boot 外部配置文件进行配置,并使用特殊的名称和位置。文件名称基于进程的名称(再次查看spring cloud --list
以获取完整列表)。例如,Config Server 可以配置在名为configserver.yml
或configserver.properties
的文件中。配置文件的搜索路径是当前目录(.
)、./config
和$HOME/.spring-cloud/
。
默认情况下,configserver
进程使用其 JAR 中的native
配置文件和配置。例如,让我们全局配置 Config Server 以从 GitHub 存储库加载属性。$HOME/.spring-cloud/configserver.yml
的内容可能是
spring:
profiles:
active: git
cloud:
config:
server:
git:
uri: https://github.com/spring-cloud-samples/config-repo
进程 | 端口 | URL |
---|---|---|
configserver |
8888 | /info |
eureka |
8761 | N/A |
hystrixdashboard |
7979 | /hystrix |
dataflow |
9393 | /dashboard |
kafka |
9092 | N/A |
zipkin |
9411 | N/A |
h2 |
9095 | / |
URL 列是注册到 Eureka(如果正在运行)的内容。这允许您在 Eureka 仪表板中单击实例链接。
如果某个进程向 Eureka 注册,它将使用“进程”列中的值作为spring.application.name
。
kafka
进程还在端口 2181 上启动 ZooKeeper。Kafka 用于 Spring Cloud Bus。
h2
数据库在端口 9096 上可用,具有以下 JDBC URL:jdbc:h2:tcp://127.0.0.1:9096/./target/test
。可以通过spring.datasource.url
属性自定义 H2 URL。
请在GitHub上查看该项目。团队感谢社区提出的问题和增强请求。