成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5 分鐘搭建 Node.js 微服務原型

新聞 前端
微服務已成為在 Node.js 中構建可擴展且強大的云應用的主流方法。同時也存在一些門檻,其中一些難點需要你做出決策。

 5 分鐘搭建 Node.js 微服務原型

微服務已成為在 Node.js 中構建可擴展且強大的云應用的主流方法。同時也存在一些門檻,其中一些難點需要你在以下方面做出決策:

  • 組織項目結構。
  • 將自定義服務連接到第三方服務(數據庫,消息代理等)
  • 處理微服務之間共享的代碼。
  • 將項目容器化。
  • 在本地運行和調試,然后將其部署到云中。

SMF 框架是開箱即用的解決方案:

https://github.com/krawa76/smf

讓我們看看它如何幫你創建和部署微服務原型而 無需編寫任何代碼。

創建項目

安裝框架,創建一個新項目并 cd 到項目目錄:

  1. 1$ npm install -g sokyra-microservice-factory 
  2. 2$ smf new test-stack 
  3. 3$ cd test-stack 

帶有演示服務的樣板代碼已生成,我們可以輕松地運行該項目:

  1. 1$ smf up 

這將生成 Docker工件(docker-compose 和環境變量文件),構建映像并在本地運行容器:

5 分鐘搭建 Node.js 微服務原型

docker-compose 日志

如果在編輯器中打開項目,則會看到帶有 main.ts 模塊的自動生成的 demo 服務,該服務在上面的日志中生成了記錄。其他的重要文件是 smf-stack.json (項目配置), smf-env.json (容器 env 變量),通用的 Dockerfile 和 smf-docker.yml (docker-compose):

5 分鐘搭建 Node.js 微服務原型

演示服務,main 模塊

要停止項目,請運行

  1. 1$ smf down 

添加新服務

讓我們添加一項服務,該服務可以通過消息代理發送和接收消息,并將某些內容保存到數據庫中:

  1. 1$ smf add service service1 

選擇 RabbitMQ 和 MongoDB ,然后輸入 “0” 退出菜單:

5 分鐘搭建 Node.js 微服務原型

這將在 main 模塊中創建新的帶有樣板代碼的 service 子文件夾:

5 分鐘搭建 Node.js 微服務原型

讓我們再次運行該項目查看其運行情況:

  1. 1$ smf up 

現在我們有 4 個容器在運行:RabbitMQ、MongoDB、demo 和 service1。后者通過 RabbitMQ 發送接收消息,并將模擬數據保存到 MongoDB:

5 分鐘搭建 Node.js 微服務原型

docker-compose 日志

可以再次使用 smf down 命令停止該項目。

我們可以類似地添加更多服務,如果選擇相同的消息代理服務,它們都會通過消息中心交換消息。

部署

將我們的項目部署到安裝了 Docker 和 Docker-Compose 的遠程服務器上很容易。如果你還沒有,請按照以下簡單說明在 Amazon AWS EC2 中創建它:

https://github.com/krawa76/smf/blob/master/README-provisioner.md

還需要 Docker Hub 帳戶。如果丟失,你可以在這里免費注冊:

https://hub.docker.com/

在編輯器中打開 smf-deploy.json 文件,并填寫 Docker Hub 登錄名及密碼、主機地址和遠程計算機 SSH 憑據(ssh密鑰路徑)。

5 分鐘搭建 Node.js 微服務原型

運行以下命令部署項目:

  1. 1$ smf deploy 

當該過程結束時,我們可以 ssh 到遠程機器,并查看在那里運行的微服務:

  1. 1$ ssh -i "/Users/me/.ssh/aws-key.pem" ubuntu@ec2-x-x-x-x.compute1.amazonaws.com$ docker ps 
  2. 2(gives the list of services)$ docker logs -f test-stack-service1 
  3. 3(give the live log) 

現在,我們在云中有了容器化微服務棧的有效原型。

下一步是什么?

開始添加更多邏輯。由于每個服務都是一個單獨的NPM軟件包,因此我們可以進入到 service 文件夾,安裝其他軟件包,在 main.ts 模塊中編寫模式代碼,添加新的 JavaScript 模塊,等等:

  1. 1$ cd services/service1 
  2. 2$ npm install ... 

編碼愉快!

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2012-02-06 10:36:04

Node.js

2022-08-22 07:26:32

Node.js微服務架構

2020-10-12 08:06:28

HTTP 服務器證書

2022-09-12 15:58:50

node.js微服務Web

2019-02-15 10:49:37

Node.jsweb服務器

2023-04-07 09:07:11

2020-05-29 15:33:28

Node.js框架JavaScript

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2013-11-01 09:34:56

Node.js技術

2022-08-28 16:30:34

Node.jsDocker指令

2021-09-12 22:22:45

Mock數據服務

2014-04-21 14:56:45

NodeJSOAuth2服務器

2011-11-10 08:55:00

Node.js

2012-10-24 14:56:30

IBMdw

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2021-12-25 22:29:57

Node.js 微任務處理事件循環

2013-08-15 09:14:55

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品久久久久久 | 国产无人区一区二区三区 | 亚洲成人免费av | 亚洲三级av | 亚洲精品久久久久国产 | 国产一区二区免费电影 | 精品中文字幕在线观看 | 天天射天天干 | 亚洲永久免费观看 | 亚洲精品一区二区三区中文字幕 | 国产一区二区三区四 | 国产精品久久国产精品99 gif | 日本久久一区二区三区 | 日韩精品一区二区三区 | 久久久www成人免费精品 | 欧美一级免费黄色片 | 黑人中文字幕一区二区三区 | 免费亚洲婷婷 | 天天久久| 中文字幕在线观看 | 日韩一级免费电影 | 99re在线视频 | 国产aⅴ爽av久久久久久久 | 欧美男人的天堂 | 久草中文在线 | 色婷婷综合久久久中字幕精品久久 | 日韩欧美国产精品一区二区 | 色就干 | 国产成人综合亚洲欧美94在线 | 久久夜色精品国产 | 国产高清一二三区 | 欧美一区不卡 | 亚洲一区二区三区四区在线观看 | 日韩欧美三级电影 | 干狠狠| 九九热免费在线观看 | 99pao成人国产永久免费视频 | 亚洲精品一区二区三区四区高清 | 国产91一区二区三区 | v片网站| 国产精品夜夜夜一区二区三区尤 |