這篇文章主要介紹“如何用Mac M1玩轉SpringCloud”,在日常操作中,相信很多人在如何用Mac M1玩轉SpringCloud問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用Mac M1玩轉SpringCloud”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網站空間、營銷軟件、網站建設、昭化網站維護、網站推廣。
本文主要內容如下:
Nacos 作為配置中心和注冊中心,是必須要啟動的。
Nacos 下載地址:
https://github.com/alibaba/nacos/releases
最新版是 2.0.0-bugfix,我下載后,啟動成功了,但是無法訪問 Nacos 后臺,懷疑是本地環境有問題,所以換了一個低版本的 1.4.1,可以正常工作。另外我之前在 windows 機器上使用的 1.2.1 的版本,拷貝到 Mac 上也能正常運行。
進入 nacos 根目錄,執行命令:
sh startup.sh -m standalone
執行后的結果如下圖所示:
看到 nacos is starting withi standalone 就表示啟動成功。注意:啟動成功不代表正常運行。
接下來訪問 nacos 的后臺管理系統:
http://127.0.0.1:8848/nacos/#/login
賬號和密碼都是 nacos
。
添加 7 個微服務的命名空間:
新建命名空間時需要填寫的字段:
在配置列表添加幾個微服務的配置,目前保證 question 微服務和 thirdparty 微服務有配置即可。
如下圖所示,添加三個配置項:數據源,mybatis 配置,其他配置。詳細的配置參數參照這篇來配置:《SpringCloud 整合 Nacos 配置中心》。
主要是配置阿里云 OSS,用來保存圖片的。配置如下圖所示,key 需要大家到自己登陸到阿里云并申請 OSS 才能獲取到。參照這篇《SpringCloud 實戰項目-整合 OSS 對象存儲》。
創建數據庫、表、初始化數據這些工作都需要做,下載一個 MySQL 客戶端還是要方便點,然后找 Mac 上好用的客戶端軟件,下面是安裝軟件的艱辛歷程。
首先需要安裝 mac 版的 MySQL,下載地址:
https://dev.mysql.com/downloads/mysql/
選擇第一個就可以了,官網已經提示該版本兼容 Mac M1
Packages for Catalina (10.15) are compatible with Big Sur (11)
下載后點擊安裝,安裝成功后,到系統偏好配置里面找到 MySQL,并單擊打開。
可以看到運行的 MySQL 實例是 MySQL 8.0.23,且默認開機運行。
![]
我試過安裝 workbench 后,不能運行。
安裝 Squel Pro 后,切換數據庫的時候程序崩潰。
經過上面兩個軟件的崩潰后,我最后還是下載了試用版的 Navicat,可以免費用 14 天,對于初始化數據足夠了。
下載地址:
http://www.navicat.com.cn/download/navicat-for-mysql
下載 macOS 的最新版 15,它是兼容 M1 芯片的。
然后需要執行三個 SQL 文件,文件我已經上傳到倉庫上了,
/passjava-platform/data/sql
依次執行上面的三個文件后,會生成 6 個數據庫:一個系統數據庫,五個業務數據庫。
主要啟動 4 個核心服務:網關微服務
、題目微服務
、第三方微服務
、系統管理微服務
。
架構圖如下所示:
目前這幾個微服務已經整合了 Nacos、OpenFeign、Gateway、統一異常處理、鏈路追蹤,redis 等。
啟動都是基于 IDEA 開發工具直接啟動的,所以需要下載 IDEA。
我安裝的 IDEA 是旗艦版 2020.3 的,試用版 30 天。大家可以下載免費的社區版 Community,功能上也能滿足。
性能非常快,我的 Windows 的配置:ThinkPad、 32 G 內存、1T 固態硬盤,啟動一個微服務需要 10 秒以上,而 Mac 只需要 3 秒
。
官網下載地址:
https://www.jetbrains.com/idea/download/#section=mac
我的開源項目的后臺框架用的人人框架,它的主要功能就是后臺的登陸、系統管理功能,所以必須啟動 renren-fast
服務才能使用后臺管理。
大家可以啟動 RenrenApplication 這個 Service,啟動成功后,會提示以下信息:
renren-fast 服務暴露的端口是 8080,但是這個端口對前端是不可見的,前端 API 都是走網關的 8060 端口。將前端的請求轉發到 renren-fast 的 8060 端口,比如登陸請求。注意:一定要初始化完數據才能啟動成功。
網關微服務沒有什么特殊要求,我都配置好了,直接啟動就好了。另外如果遇到端口被占用的情況,可以通過如下命令解決:
lsof -i:8060kill -9 <進程 id>
網關微服務暴露的端口是 8060,啟動后如下圖所示:
題目服務是核心模塊,很多實戰案例都是基于這個模塊進行講解的。啟動服務之前,需要配置數據庫 MySQL 的連接。
文件路徑:/passjava-question/src/main/resources/application.yml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/passjava_qms?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT username: root password: xxx
另外我們也可以通過 nacos 來配置:
IDEA 工具中直接啟動就可以了,暴露的端口是 11000,啟動后如下圖所示:
用 postman 測試網關+題目微服務是否正常工作:
由于我的數據庫中是有數據的,所以會返回很多數據,大家后面可自行添加數據。
這個第三方不是指另外一方的服務,而是我把與第三方中間件交互的服務都歸在這個服務里面了,比如對阿里云 OSS(對象存儲) 的操作。
這個服務的名字叫做:passjava-thirdparty
。另外需要注意,OSS 需要大家到阿里云官網申請,有免費額度哦~配置方式可以參照這篇:《SpringCloud 實戰項目-整合 OSS 對象存儲》。
啟動成功后,如下圖所示:
Admin 管理后臺的技術選型還是用的 Vue,所以需要使用 npm 工具來安裝依賴。
使用 homebrew 安裝 npm
brew install npm
使用 homebrew 安裝 nvm
brew install nvm
默認的 npm 使用的是官方的鏡像源,我們切換為國內的淘寶鏡像源。
npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose
倉庫里面并沒有將依賴包一起上傳,因為依賴包太大了,所以可在本地通過如下命令安裝依賴包,這個是一次性的,后面不需要再執行。
進入到 passjava-platform/passjava-portal 目錄,執行如下命令來安裝依賴:
cnpm install
啟動前端portal
npm run dev
報錯,提示 Node Sass 不兼容當前的系統:
Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Unsupported runtime (88)
根據網上提供的解決方案,要先卸載 Node Saas
cnpm uninstall node-sass
但是又提示 chromedriver 安裝失敗(當前操作系統不兼容),根據網上的解決方案,單獨安裝,但依舊提示 64 位系統不兼容,于是我把 package.json 文件中的 "chromedriver": "2.27.2" 刪掉了,問題迎刃而解!(最新的代碼已刪除該依賴項配置)
我們接著往下執行:
先刪除之前安裝的 node_modules:
rm -rf ./node_modules/
再次執行卸載 node-sass 的命令:
cnpm uninstall node-sass
卸載成功后,安裝 node-sass:
cnpm install node-sass --unsafe-perm --save-dev
重新安裝依賴:
cnpm install
在根目錄執行如下命令就可以啟動后臺了:
npm run dev
啟動成功后,會自動打開瀏覽器,訪問的地址是 http://localhost:8081
賬號密碼都是 admin,輸入驗證碼即可登錄。注意:如果驗證碼沒有出現,說明 RenrenApplication 微服務有異常,請查看 IDEA 中打印出的 log。
登錄后臺界面如下圖所示:
PassJava 后臺
首先需要給題目添加分類,在后臺點擊新增類型,如下圖所示:
注意:上傳圖片前需要啟動 thirdparty 微服務,且 OSS 配置正確。
我的開源項目中要用 Elasticsearch 和 Kibana,且它們是運行在 docker 上的,但目前這些鏡像在 M1 上還未適配。所以用不了 ES 和 Kibana,難過????
小程序的開發和測試在這里也不演示了, M1 上開發小程序完全沒問題~
到此,關于“如何用Mac M1玩轉SpringCloud”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!