1、pm2 start xxxx // 啟動服務
2、pm2 save // 保存服務
3、pm2 startup // 把已啟動服務加到systemd中
執行以上上三步可實現自動重啟
systemctl reboot // 重啟,發現之前的服務都已經啟動
pm2 unstartup systemd // 刪除自動啟動服務
服務名稱:pm2-root.service
命令:pm2 start npm -- run dev
語法:pm2 start npm --watch --name <taskname> -- run <scriptname>
micro servers
微服務和微前端是類似的,微前端就是借鑒了微服務的理念去實現的,那么微服務指的就是,將應用程序拆分成為一系列小型、獨立的服務,每個服務都是專注于執行特定的業務,比如文章的服務就執行,文章的邏輯,用戶的服務,就執行用戶的邏輯,這些服務可以獨立開發,測試,部署以及擴展,并且可以通訊。
直觀圖 左側單體架構 右側微服務架構
tips不是必須按照我這個方式構建我只是舉個例子 沒有固定的實現方式根據自己業務調整
目前流行monorepo架構 也就是多項目使用一個倉庫
需要pnpm支持
npm install pnpm -g
目錄結構
app/
├── common/
│ └── index.ts
├── packages/
│ ├── gateway/ //其實這就是一個單獨的項目
│ │ ├── index.ts
│ │ └── package.json
│ ├── user/ //其實這就是一個單獨的項目
│ │ ├── index.ts
│ │ └── package.json
│ └── post/ //其實這就是一個單獨的項目
│ ├── index.ts
│ └── package.json
├── tsconfig.json
├── pnpm-workspace.yaml
├── package.json
配置monorepo支持 根目錄新建pnpm-workspace.yaml
packages:
- 'packages/*'
- 'common
執行
pnpm install #就會自動安裝common目錄里面的依賴 和packages目錄下面的所有的依賴都會安裝
微服務多個服務之間還會進行點對點的通訊這是重中之重下一章會講微服務之間的通訊核心知識
文章轉自:https://juejin.cn/post/7373964489681338431