如何部署、創(chuàng)建和運(yùn)行Spring微服務(wù)

簡(jiǎn)介

寶興網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),寶興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為寶興上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的寶興做網(wǎng)站的公司定做!

微服務(wù)是一種架構(gòu)風(fēng)格,是以開(kāi)發(fā)一組小型服務(wù)的方式來(lái)作為一個(gè)獨(dú)立的應(yīng)用系統(tǒng),每個(gè)服務(wù)都運(yùn)行在自已的進(jìn)程中,服務(wù)之間采用輕量級(jí)的HTTP通信機(jī)制 ( 通常是采用HTTP的RESTful API )進(jìn)行通信。這些服務(wù)都是圍繞具體業(yè)務(wù)進(jìn)行構(gòu)建的,并且可以獨(dú)立部署到生產(chǎn)環(huán)境上。這些服務(wù)可以用不同的編程語(yǔ)言編寫(xiě),并且可以使用不同的數(shù)據(jù)存儲(chǔ)技術(shù)。對(duì)這些微服務(wù)我們只需要使用一個(gè)非常輕量級(jí)的集中式管理來(lái)進(jìn)行協(xié)調(diào)。

學(xué)習(xí)目標(biāo)

使用IBM Cloud Developer Tools CLI生成Spring微服務(wù),為其配置和綁定服務(wù),然后部署到IBM Cloud。 了解所生成的代碼,以及如何為你開(kāi)始添加自己的代碼提供一個(gè)很好的起點(diǎn)。

先決條件

安裝IBM Cloud Developer Tools CLI。

預(yù)計(jì)時(shí)間

閱讀和遵循本操作步驟中的步驟大約需要一個(gè)小時(shí)。

流程

步驟1.生成代碼

如果你尚未嘗試安裝,則需要按照說(shuō)明安裝IBM Cloud Developer Tools CLI。 你可以使用如下所示的CLI生成Spring微服務(wù),并將生成的代碼放入當(dāng)前目錄下的文件夾中。

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

在繼續(xù)之前,讓我們看一下我們剛剛選擇的內(nèi)容和生成的內(nèi)容。 前兩個(gè)選擇確定了我們需要微服務(wù),并且它將使用Spring。 提供服務(wù)選項(xiàng)后,事情會(huì)變得很有趣。 如果選擇一種服務(wù)(在本例中為Cloudant),則不僅會(huì)生成綁定到該服務(wù)的代碼,而且還可以對(duì)其進(jìn)行調(diào)配以供使用。

在docker容器中本地運(yùn)行應(yīng)用程序時(shí),將使用生成的其他文件。 自述文件是一個(gè)很好的起點(diǎn),它將提供有關(guān)已生成內(nèi)容的概述以及有關(guān)所選服務(wù)的更多信息。

步驟2.運(yùn)行微服務(wù)

然后使用CLI在本地構(gòu)建和運(yùn)行微服務(wù)。 構(gòu)建階段將創(chuàng)建一個(gè)docker容器,該容器提供構(gòu)建微服務(wù)所需的工具,然后使用第二個(gè)容器來(lái)運(yùn)行構(gòu)建的容器。

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)

你現(xiàn)在可以通過(guò)轉(zhuǎn)至http:// localhost:8080 / v1 / cloudant在本地測(cè)試微服務(wù)。

真正的好處是,盡管數(shù)據(jù)庫(kù)列表為空,但該列表是從先前提供的Cloudant服務(wù)實(shí)例中讀取的。

@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

最后一步是將微服務(wù)部署到IBM Cloud。 只需在命令行中輸入bx dev deploy即可。 然后,你可以在IBM Cloud控制臺(tái)(以及創(chuàng)建的服務(wù))中查看微服務(wù)。

新聞名稱(chēng):如何部署、創(chuàng)建和運(yùn)行Spring微服務(wù)
網(wǎng)頁(yè)URL:http://www.muchs.cn/article14/ippjde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、建站公司品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)