Spring Cloud CLI简介
Spring Cloud CLI简介
1.简介
在本文中,我们将介绍Spring Boot Cloud CLI(或简称Cloud CLI)。该工具为Spring Boot CLI提供了一组命令行增强功能,有助于进一步抽象和简化Spring Cloud部署。
CLI于2016年底推出,允许使用命令行、.yml配置文件和Groovy脚本快速自动配置和部署标准Spring Cloud服务。
2.安装
Spring Boot Cloud CLI 1.3.x需要Spring Boot CLI 1.5.x,因此请务必从Maven Central获取最新版本的Spring Boot CLI (安装说明)以及Maven资源库中的最新版本的Cloud CLI (官方Spring存储库)!
本文中使用的是spring-boot-cli 1.5.18.RELEASE,spring-cloud-cli 1.3.2.RELEASE。
1、首先安装Spring Boot CLI并可以使用,验证只需运行:
$ spring --version
2、然后安装最新的稳定版Cloud CLI:
$ spring installorg.springframework.cloud:spring-cloud-cli:1.3.2.RELEASE
3、最后验证Cloud CLI:
$ spring cloud --version
可以在官方Cloud CLI 页面上找到更多安装说明!
3.默认服务和配置
CLI提供七种核心服务,可以使用单行命令运行和部署。
在http://localhost:8888上启动Cloud Config服务器:
$ spring cloud configserver
http://localhost:8761上启动Eureka服务器:
$ spring cloud eureka
在http://localhost:9095上启动H2服务器:
$ spring cloud h2
在http://localhost:9091上启动Kafka服务器:
$ spring cloud kafka
在http://localhost:9411上启动Zipkin服务器:
$ spring cloud zipkin
在http://localhost:9393上启动Dataflow服务器:
$ spring cloud dataflow
在http://localhost:7979上启动Hystrix仪表板:
$ spring cloud hystrixdashboard
列出可部署的应用服务:
$ spring cloud --list
帮助命令:
$ spring help cloud
有关这些命令的更多详细信息,请查看官方博客。
4.使用YML自定义云服务
还可以使用相应命名的.yml文件配置可通过Cloud CLI部署的云服务:
spring:profiles:active: gitcloud:config:server:git:uri: https://github.com/spring-cloud-samples/config-repo
这是一个简单的配置文件,我们可以使用它来启动Cloud Config Server。
上面的例子中,我们指定一个Git存储库作为URI源,当我们发出’spring cloud configserver’命令时,它将被自动克隆和部署。
Cloud CLI使用Spring Cloud Launcher。这意味着Cloud CLI支持大多数Spring Boot配置机制。这是Spring Boot属性的官方列表。
Spring Cloud配置符合’spring.cloud … '约定。可以在此链接中找到Spring Cloud和Spring Config Server的设置。
我们还可以直接在下面的yml文件中指定几个不同的模块和服务:
spring:cloud:launcher:deployables:- name: configservercoordinates: maven://...:spring-cloud-launcher-configserver:1.3.2.RELEASEport: 8888waitUntilStarted: trueorder: -10- name: eurekacoordinates: maven:/...:spring-cloud-launcher-eureka:1.3.2.RELEASEport: 8761
该yml允许通过使用Maven或Git库,添加自定义的服务或模块。
5.运行自定义Groovy脚本
自定义组件可以用Groovy编写并高效部署,因为Cloud CLI可以编译和部署Groovy代码。
这是一个非常简单的REST API实现示例:
@RestController
@RequestMapping('/api')
class api {@GetMapping('/get')def get() { [message: 'Hello'] }
}
假设脚本保存为restapi.groovy,我们可以像这样启动我们的服务:
$ spring run restapi.groovy
访问http://localhost:8080/api/get应该显示:
{"message":"Hello"}
6.加密/解密
Cloud CLI还提供了加密和解密工具(可在org.springframework.cloud.cli.command.*中找到),可以直接通过命令行使用,也可以通过将值传递给Cloud Config Server端点来间接使用。
让我们设置它,看看如何使用它。
6.1 安装
Cloud CLI和Spring Cloud Config Server都使用org.springframework.security.crypto.encrypt.* 来处理加密和解密的命令。
因此,都需要通过Oracle提供的JCE Unlimited Strength Extension,可在这里找到。
6.2 命令行加密和解密
要通过终端加密’ my_value ',请调用:
$ spring encrypt my_value --key my_key
可以使用“@”后跟路径(通常用于RSA公钥)代表文件路径(替换上面的“ my_key ”):
$ spring encrypt my_value --key @${WORKSPACE}/foos/foo.pub
'my_value’现在将被加密为:
c93cb36ce1d09d7d62dffd156ef742faaa56f97f135ebd05e90355f80290ce6b
可通过命令行进行解密:
$ spring decrypt --key my_key c93cb36ce1d09d7d62dffd156ef742faaa56f97f135ebd05e90355f80290ce6b
我们现在还可以在配置YAML或属性文件中使用加密值,在加载时它将由Cloud Config Server自动解密:
encrypted_credential: "{cipher}c93cb36ce1d09d7d62dffd156ef742faaa56f97f135ebd05e90355f80290ce6b"
6.3 使用Config Server加密和解密
Spring Cloud Config Server公开RESTful端点,其中密钥和加密值对可以存储在Java安全存储或内存中。
有关如何正确设置和配置Cloud Config Server以接受对称或非对称加密的详细信息,请查看官方文档。使用“ spring cloud configserver ”命令配置并运行Spring Cloud Config Server后,您就可以调用其API:
$ curl localhost:8888/encrypt-d mysecret
//682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda$
curl localhost:8888/decrypt-d 682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
//mysecret
7.结论
我们在这里专注于Spring Boot Cloud CLI的介绍。有关更多的信息,请查看官方文档。
转载来源:https://blog.csdn.net/peterwanghao/article/details/85144526 原作者:peterwanghao
Spring Cloud CLI简介相关推荐
- Spring Cloud Alibaba 简介
概述 2018 年 10 月 31 日的凌晨,这个伟大的日子里,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器,并在 Maven 中央库发布了第一个版本. ...
- spring cloud微服务分布式云架构 - Spring Cloud集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- (十六)spring cloud微服务分布式云架构-集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- Spring Cloud简介
2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具.它为微服务框架中涉及的配置管理.服务治理.断 ...
- Spring Cloud微服务分布式云架构—集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- spring cloud zuul 原理简介和使用
一 spring cloud zuul 简介 Spring Cloud Zuul 是 Spring Cloud Netflix 子项目的核心组件之一,可以作为微服务架构中的 API 网关使用,支持动态 ...
- 关于SpringCloud微服务云架构构建B2B2C电子商务平台之- Spring Cloud集成项目简介(三)...
2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的 ...
- (三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介
2019独角兽企业重金招聘Python工程师标准>>> 电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud集成项目有很多,下面我们列举一下和Spring C ...
- spring cloud微服务分布式云架构 - Spring Cloud集成项目简介(三)
点击上面 免费订阅本账号! 本文作者:it菲菲 原文:https://yq.aliyun.com/articles/672242 点击阅读全文前往 Spring Cloud集成项目有很多,下面我们列举 ...
最新文章
- 二分查找算法的一点改进
- 声音定位研究中遇到的困难
- VUE 项目作为服务启动
- linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计
- WebGL学习笔记(二)
- HTML简介与历史版本
- mysql 时间段内的周末_淘宝用户行为数据分析(MySQL)
- Linux shell (一)
- C语言通过枚举网卡,API接口可查看man 7 netdevice--获取接口IP地址
- 【Java学习笔记】数组的相关事项
- Atitit 泛型原理与理解attilax总结
- 计算机毕业设计SSM电影票网上订票系统【附源码数据库】
- 2003年第三批全国名老中医
- 数据链路层的基本概念
- VMware Fusion 13 正式版终于来了
- Java语言之父James Gosling
- 大数据处理——Java
- 服务注册中心consul
- android 8.0卡顿,安卓8.0是真的快!但一直说安卓卡的人,却不是iPhone用户
- k8s常见报错解决--持续更新