日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JAVA天天 2020-03-11 16:28:57

 

5 分鐘搭建 Node.js 微服務(wù)原型

 

 

微服務(wù)已成為在 Node.js 中構(gòu)建可擴(kuò)展且強(qiáng)大的云應(yīng)用的主流方法。同時也存在一些門檻,其中一些難點需要你在以下方面做出決策:

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

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

https://github.com/krawa76/smf

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

創(chuàng)建項目

安裝框架,創(chuàng)建一個新項目并 cd 到項目目錄:

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

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

1$ smf up

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

5 分鐘搭建 Node.js 微服務(wù)原型

 

docker-compose 日志

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

5 分鐘搭建 Node.js 微服務(wù)原型

 

演示服務(wù),main 模塊

要停止項目,請運(yùn)行

1$ smf down

添加新服務(wù)

讓我們添加一項服務(wù),該服務(wù)可以通過消息代理發(fā)送和接收消息,并將某些內(nèi)容保存到數(shù)據(jù)庫中:

1$ smf add service service1

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

5 分鐘搭建 Node.js 微服務(wù)原型

 

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

5 分鐘搭建 Node.js 微服務(wù)原型

 

讓我們再次運(yùn)行該項目查看其運(yùn)行情況:

1$ smf up

現(xiàn)在我們有 4 個容器在運(yùn)行:RabbitMQ、MongoDB、demo 和 service1。后者通過 RabbitMQ 發(fā)送接收消息,并將模擬數(shù)據(jù)保存到 MongoDB:

5 分鐘搭建 Node.js 微服務(wù)原型

 

docker-compose 日志

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

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

部署

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

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

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

https://hub.docker.com/

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

5 分鐘搭建 Node.js 微服務(wù)原型

 

運(yùn)行以下命令部署項目:

1$ smf deploy

當(dāng)該過程結(jié)束時,我們可以 ssh 到遠(yuǎn)程機(jī)器,并查看在那里運(yùn)行的微服務(wù):

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

現(xiàn)在,我們在云中有了容器化微服務(wù)棧的有效原型。

下一步是什么?

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

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

編碼愉快!

最后:更多相關(guān)資料私信【Java】就可以免費(fèi)領(lǐng)取噠

 

5 分鐘搭建 Node.js 微服務(wù)原型

 

 

分享到:
標(biāo)簽:Node js
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定