在五分钟内创建,运行和部署Spring微服务

通过优锐课中的java学习分享中,我们可以看到在五分钟内创建,运行和部署Spring微服务的一些相关信息,码了很多知识点,整理给大家参考学习。对微服务架构又有了更深的了解,其中的架构思维导图梳理起来太清晰了。

使用IBM Cloud Developer Tools CLI插件创建,运行和部署Spring微服务

学习目标

使用IBM Cloud Developer Tools CLI生成Spring微服务,为其配置和绑定服务,然后部署到IBM Cloud。 了解所生成的代码,以及如何为你开始添加自己的代码提供一个很好的起点。

先决条件

安装IBM Cloud Developer Tools CLI。

预计时间

阅读和遵循本操作步骤中的步骤大约需要一个小时。

流程

步骤1.生成代码

如果你尚未尝试安装,则需要按照说明安装IBM Cloud Developer Tools CLI。 你可以使用如下所示的CLI生成Spring微服务,并将生成的代码放入当前目录下的文件夹中。

spring $bx dev create
? Select a pattern:
1. Web App
2. Mobile App
3. Backend for Frontend
4. Microservice
5. MFP
Enter a number> 4

? Select a starter:
1. Basic
Enter a number> 1

? Select a language:
1. Java ? MicroProfile / Java EE
2. Node
3. Python
4. Java ? Spring Framework
Enter a number> 4

? Enter a name for your project> springmsdemo
? Enter a hostname for your project> springmsdemo
? Do you want to add services to your project? y/n
? Select a service:
1. Cloudant NoSQL Database
2. Object Storage
Enter a number> 1

? Select a service plan:
1. Lite
2. Standard
3. Dedicated Hardware
Enter a number> 1

Successfully added service to project.

? Do you want to add another service? y/n
The project, springmsdemo, has been successfully saved into the current directory.
OK

在继续之前,让我们看一下我们刚刚选择的内容和生成的内容。 前两个选择确定了我们需要微服务,并且它将使用Spring。 提供服务选项后,事情会变得很有趣。 如果选择一种服务(在本例中为Cloudant),则不仅会生成绑定到该服务的代码,而且还可以对其进行调配以供使用。

在docker容器中本地运行应用程序时,将使用生成的其他文件。 自述文件是一个很好的起点,它将提供有关已生成内容的概述以及有关所选服务的更多信息。

步骤2.运行微服务

然后使用CLI在本地构建和运行微服务。 构建阶段将创建一个docker容器,该容器提供构建微服务所需的工具,然后使用第二个容器来运行构建的容器。

springmsdemo $bx dev build
Deleting the container named ‘bx?dev?springmsdemo?tools‘ ...
Creating image bx?dev?java?maven?tools based on Dockerfile?tools...
Image will have user added
OK
Creating a container named ‘bx?dev?springmsdemo?tools‘ from that image...
OK
Starting the ‘bx?dev?springmsdemo?tools‘ container...
OK
Building the project in the current directory started at Wed Aug 23 13:49:37 2017
OK
Stopping the ‘springmsdemo‘ container...
The ‘springmsdemo‘ container was not found
Stopping the ‘bx?dev?springmsdemo?tools‘ container...
OK
springmsdemo $bx dev run
Stopping the ‘springmsdemo‘ container...
The ‘springmsdemo‘ container was not found
Creating image springmsdemo based on Dockerfile...
OK
Creating a container named ‘springmsdemo‘ from that image...
OK
Starting the ‘springmsdemo‘ container...
OK
Executing run command started at Wed Aug 23 13:50:17 2017

  .   _
 /\ / ‘   ()     \ \ \
( ( )__ | ‘ | ‘| | ‘ \/ ` | \ \ \
 \/  )| |)| | | | | || (| |  ) ) ) )
  ‘  |_| .|| ||| |\, | / / / /
 =========||==============|__/=///_/
 :: Spring Boot ::        (v1.5.4.RELEASE)

2017?08?23 12:50:22.167  INFO 17 ??? [           main] application.SBApplication                : Starting SBApplication v1.0?SNAPSHOT on d6e23df14534 with PID 17 (/project/springmsdemo?1.0?SNAPSHOT.jar started by root in /project)
...
(output snipped)

你现在可以通过转至http:// localhost:8080 / v1 / cloudant在本地测试微服务。

真正的好处是,尽管数据库列表为空,但该列表是从先前提供的Cloudant服务实例中读取的。

@RestController
public class Example {

  @Autowired @ServiceName(name="springmsdemo?cloudantNoSQLDB?4dce")
  private CloudantClient client;

  @RequestMapping("v1/")
  public @ResponseBody ResponseEntity<String> example() {
    List<String> list = new ArrayList<>();
    //return a simple list of strings
    list.add("Some data");
    return new ResponseEntity<String>(list.toString(), HttpStatus.OK);
  }

  @RequestMapping("v1/cloudant")
  public @ResponseBody ResponseEntity<String> cloudant(){
      List<String> list = new ArrayList<>();
      try {
          list = client.getAllDbs();
      } catch (NullPointerException e) {
          return new ResponseEntity<String>("Server Error", HttpStatus.INTERNAL_SERVER_ERROR);
      }
      return new ResponseEntity<String>("Available databases : " + list.toString(), HttpStatus.OK);
  }

}

步骤3.部署到IBM Cloud

最后一步是将微服务部署到IBM Cloud。 只需在命令行中输入bx dev deploy即可。 然后,你可以在IBM Cloud控制台(以及创建的服务)中查看微服务。
摘要

在本方法中,你学习了如何使用IBM Cloud Developer Tools CLI插件来创建绑定到Cloudant数据库的Spring微服务,在本地构建和运行它,然后在五分钟内将其部署到IBM Cloud中。

原文地址:https://blog.51cto.com/14634606/2461964

时间: 2024-10-07 20:07:09

在五分钟内创建,运行和部署Spring微服务的相关文章

日志分析 &nbsp; 取出访问最多的IP,URL,以及五分钟内的访问流量

日志分析! 对最近五分钟的日志进行分析,取出访问最多的IP,URL,以及五分钟内的访问流量 #!/bin/sh name=`cat /etc/salt/minion | grep "^id" | awk '{print $2}'` ipaddr=`/sbin/ifconfig | grep "inet addr" | egrep -v "10\.|127\." | awk  -F'[: ]+' '{print $4}'` #LogPath='/u

8分钟学会Consul集群搭建及微服务概念

原文:8分钟学会Consul集群搭建及微服务概念 Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value 存储.多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等),使用起来也较为简单. Consul的如何实现的? Consul 用 Golang 实现,因此具有天然可移植性(支

一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路

原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 高可用集群 弹性云 故障转移 总结 分布式 小马正在经营一个在线购物网站,名叫TT猫,有商品管理.订单管理.用户管理.支付管理.购物车等

三分钟读懂TT猫分布式、微服务和集群之路

三分钟读懂TT猫分布式.微服务和集群之路 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 高可用集群 弹性云 故障转移 总结 分布式 小马正在经营一个在线购物网站,名叫TT猫,有商品管理.订单管理.用户管理.支付管理.购物车等等模块,每个模块部署到独立的云服务主机. 现在,程序员小明同学浏览TT猫,想买一款牛逼的cherry机械键盘来提升自己的

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

基于docker部署的微服务架构(四): 配置中心

原文:http://www.jianshu.com/p/b17d65934b58%20 前言 在微服务架构中,由于服务数量众多,如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理和维护.在 spring cloud 中使用 config-server 集中管理配置文件,可以使用 git.svn.本地资源目录 来管理配置文件,在集成了 spring cloud bus 之后还可以通过一条 post 请求,让所有连接到消息总线的服务,重新从config-server 拉取配置文

SpringCloud分布式事务实战(七)在微服务1中创建整合函数,调用微服务2

(1) 添加jar pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> (2)在主程序中添加注解@EnableFeignClients (3)编写调用微服务的代码(调用服务2)1 创建theme实体 public class

01uni-app的创建 运行在不同端上的配置 tarBar的配置

uni-app的创建 01==>创建uni-app的项目非常简单.不需要注意什么注意点哈!! 创建项目的时候 可以参考官网 https://uniapp.dcloud.io/quickstart 在使用uni-app的时候,你要创建下载huildex 和微信小程序开发者工具 在你使用HUilderX编译的过程中第一次大概需要五分钟 02==>运行uni-app 在浏览器中可以直接运行H5版本 03==>如何运行到小程序上 配置小程序运行的路径 我的是 E:\开发工具\xiaocehngx

利用脚本实现mysql主库到备库数据同步(每五分钟同步一次增量)

目标: 将主库数据(IP1)每五分钟一次同步到备库(IP2) 服务器备库上,只同步增加量 思路: 利用crontab 每五分钟一次定时执行脚本进行数据同步 在脚本中编译实现查询五分钟内的数据增加量,并将增加量导入到备库 实现过程及代码(以record 表为例): bash脚本中内容 vi transaction.sh----建立transaction脚本实现同步 #!/bin/bash source.bash_profile (由于定时执行的功能使用crontab实现,需要在bash中添加使环境