中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

油漆網(wǎng)站mobanseo整站優(yōu)化方案案例

油漆網(wǎng)站moban,seo整站優(yōu)化方案案例,平臺網(wǎng)站建設網(wǎng)站,亞馬遜書店購書官網(wǎng)隨著技術的成熟和 AI 的崛起,很多原本需要團隊協(xié)作才能完成的工作現(xiàn)在都可以通過自動化和智能化的方式完成。于是乎,單個開發(fā)者的能力得到了極大的提升 - 借助各種工具,一個人就可以完成開發(fā)、測試、運維等整條鏈路上的工作,渡劫飛…

隨著技術的成熟和 AI 的崛起,很多原本需要團隊協(xié)作才能完成的工作現(xiàn)在都可以通過自動化和智能化的方式完成。于是乎,單個開發(fā)者的能力得到了極大的提升 - 借助各種工具,一個人就可以完成開發(fā)、測試、運維等整條鏈路上的工作,渡劫飛升成為真正的 “全干工程師”。

之前我們分享過一些入門級的 Hello World 教程。今天,我想通過一個實際的業(yè)務案例來展示 Devbox 并非只能開發(fā)玩具,而是一個真正的生產(chǎn)力工具。

Sealos 平臺上有很多應用,其中很多管控層面的應用都是使用 Cursor + Go + Next.js 開發(fā)的。我們的開發(fā)環(huán)境直接使用 Sealos Devbox,上線也是通過 Devbox 一鍵完成。這種開發(fā)模式讓我們團隊擁有了非常高效的作戰(zhàn)能力 - 大部分重復性工作都通過自動化或 AI 完成,讓開發(fā)者可以專注于核心業(yè)務邏輯。

以 Sealos 中的 AI Proxy 應用為例,這是一個典型的前后端分離架構的應用,主要由兩部分組成:

  1. 基于 Next.js 開發(fā)的前端應用和 BFF 層。BFF 層負責用戶鑒權,并將經(jīng)過驗證的請求轉發(fā)給后端服務。
  2. 使用 Golang 開發(fā)的后端服務,負責核心業(yè)務邏輯,包括 token 存儲、日志記錄和請求轉發(fā)等功能。

接下來,我將詳細介紹如何高效地開發(fā)這樣一個生產(chǎn)級別的系統(tǒng)。

Golang 后端

創(chuàng)建開發(fā)環(huán)境

首先在 Sealos Cloud 中打開 Debox 應用,創(chuàng)建一個新項目,選擇 Go 作為運行環(huán)境,選擇 1.23 版本。

Devbox 為開發(fā)者提供了幾個非常實用的功能:

  • 靈活的資源配置:可以根據(jù)項目需求自由調整 CPU 和內(nèi)存,選擇合適配置既保證性能又能控制成本。
  • 一鍵啟用 HTTPS:系統(tǒng)自動分配安全域名,再也不用為配置 SSL 證書發(fā)愁。
  • 全自動域名管理:從開發(fā)到測試環(huán)境,域名配置全程由系統(tǒng)處理,開發(fā)者可以專注于代碼本身。

創(chuàng)建完成后,幾秒鐘即可啟動開發(fā)環(huán)境。

環(huán)境準備好后,我們直接用 Cursor 連接開發(fā)環(huán)境。在操作選項中選擇使用 Cursor 連接:

首次打開會提示安裝 Devbox 插件,安裝后即可自動連接開發(fā)環(huán)境。

導入項目到 Cursor

首先 Fork Sealos 源碼到自己的倉庫,然后再將你自己的倉庫克隆到 Devbox 開發(fā)環(huán)境:

測試環(huán)境開發(fā)

在 Cursor 的面板中切換到 “Databse” 標簽頁,然后點擊箭頭指向的按鈕,在瀏覽器中打開 Sealos 的數(shù)據(jù)庫應用:

然后創(chuàng)建 PostgreSQL 和 Redis 實例。

回到 Cursor 面板的 “Database” 標簽頁,點擊刷新即可看到剛創(chuàng)建的數(shù)據(jù)庫實例,點擊可復制連接信息:

在終端中啟動服務:

export ADMIN_KEY=sealos-admin
export SQL_DSN=<復制的pgsql連接串>/postgres
export REDIS_CONN_STRING=<復制的redis連接串>
go run . --port 8080

提示 server stared 即為啟動成功

在 Cursor 面板的 “Network” 標簽頁中,點擊地址欄右側的 🌐 按鈕,然后在彈窗中選擇 “Copy”,將地址復制到自己電腦上使用 curl 進行測試:

curl https://mmznjndvzdrv.sealoshzh.site/api/status -H "Authorization: sealos-admin"

接口返回沒有問題。

優(yōu)化數(shù)據(jù)庫設計

在開發(fā)過程中,我們發(fā)現(xiàn)數(shù)據(jù)庫中 Group 和 Token 之間的外鍵約束增加了系統(tǒng)維護的復雜度。為了簡化這一關系,我們可以將外鍵約束改為程序層面的顯式調用,這樣可以讓代碼邏輯更加清晰和可控。

首先切換到 fix-aiproxy 分支:

sealos/service/aiproxy/model/group.go 文件中,我們需要將 Group 結構體中一個外鍵約束改成在程序內(nèi)顯示調用更新和刪除來降低維護心智。

這里我選擇使用 Cursor 的 Chat 功能讓 AI 自己寫代碼,最后生成的結果如下:

這種實現(xiàn)方式的優(yōu)勢在于:當刪除 Group 時,相關的 Token 刪除操作會在同一個事務中完成。由于是在事務內(nèi)進行,我們不需要擔心刪除失敗或系統(tǒng)宕機導致的數(shù)據(jù)不一致問題。

我們可以通過一系列測試來驗證這個優(yōu)化是否達到預期效果。首先編譯并運行服務:

go build . && ./aiproxy --port 8080

然后通過以下 API 調用來測試完整的 Group 和 Token 生命周期:

# 創(chuàng)建一個group
curl https://gawavirgsomu.sealosbja.site/api/group/ -H "Authorization: sealos-admin" -d '{"id": "ns-admin"
}'# 創(chuàng)建一個token
curl https://gawavirgsomu.sealosbja.site/api/token/ns-admin -H "Authorization: sealos-admin" -d '{"name": "token 1"
}'# 查詢token
curl https://gawavirgsomu.sealosbja.site/api/tokens/ -H "Authorization: sealos-admin"# 刪除group
curl https://gawavirgsomu.sealosbja.site/api/group/ns-admin -H "Authorization: sealos-admin" -X DELETE# 再次查詢token
curl https://gawavirgsomu.sealosbja.site/api/tokens/ -H "Authorization: sealos-admin"

測試結果符合預期,確認優(yōu)化方案可行。接下來我們就可以提交這些更改并創(chuàng)建 Pull Request 了。

上線到生產(chǎn)環(huán)境

首先在 Cursor 目錄頂層的 endpoint.sh 中設置啟動命令,在文件中添加以下啟動配置:

cd sealos/service/aiproxy
export ADMIN_KEY=sealos-admin
# 可以再創(chuàng)建一個單獨的生產(chǎn)環(huán)境數(shù)據(jù)庫,與開發(fā)環(huán)境隔離
export SQL_DSN=<復制的pgsql連接串>/postgres
export REDIS_CONN_STRING=<復制的redis連接串>
# 使用編譯好的二進制文件
./aiproxy --port 8080

然后來到 Devbox 發(fā)布頁面發(fā)布版本:

點擊發(fā)布按鈕后,等待發(fā)布流程完成。發(fā)布成功后,點擊 “上線” 按鈕進入部署頁面,然后點擊 “部署應用” 即可:

部署完成后,進入應用的詳情頁面,等待應用變成 running 狀態(tài),然后復制公網(wǎng)地址:

這個公網(wǎng)地址就是生產(chǎn)環(huán)境的域名,我們可以使用生產(chǎn)環(huán)境的域名進行測試:

# 這里使用的是生產(chǎn)環(huán)境的域名
curl https://jpesudzryuhp.sealosbja.site/api/tokens/ -H "Authorization: sealos-admin"

完美!

Next.js 前端

前端項目搭建

前端環(huán)境的搭建與后端類似,具體步驟如下:

  1. 在 Devbox 中創(chuàng)建一個 Node.js 環(huán)境,版本選擇 20,端口改成 3000。由于 pnpm 安裝依賴比較消耗資源,建議選擇 4c 16G 的配置。然后克隆你自己 Fork 的 Sealos 倉庫:git clone https://github.com/xxx/sealos.git。AI Proxy 的前端代碼位于 sealos/frontend/providers/aiproxy 目錄。

  2. 切換到 sealos/frontend 目錄,首先修改 sealos/frontend/package.josn 文件,去除 node 版本限制,直接刪除 "node": "20.4.0""pnpm": "8.9.0" 這兩行即可,這一步很重要,不然代碼構建依賴會不成功。

  3. 執(zhí)行命令 pnpm i 安裝依賴。

  4. 執(zhí)行命令 pnpm -r --filter ./packages/client-sdk run build 構建 client-sdk 包。

  5. 為了讓 Cursor 的 i18n 插件正常工作,我們需要將項目根目錄切換到 sealos/frontend/providers/aiproxy

    切換目錄后,建議安裝所有 @recommended 插件以獲得最佳的開發(fā)體驗:

  6. 之前只是構建出了 Sealos Desktop SDK,并沒有安裝 aiproxy 的依賴,aiproxy 的依賴需要在 aiproxy 工作目錄下 sealos/frontend/providers/aiproxy 進行安裝。直接執(zhí)行命令 pnpm i 安裝即可:

對接后端環(huán)境

項目搭建完成后,我們需要配置環(huán)境變量來對接后端服務。在項目根目錄創(chuàng)建一個 .env 文件,需要配置以下幾個關鍵變量:

NEXT_PUBLIC_MOCK_USER=""
AI_PROXY_BACKEND_KEY=""
APP_TOKEN_JWT_KEY="test123"
AI_PROXY_BACKEND=""
AI_PROXY_BACKEND_INTERNAL=""
ADMIN_NAMESPACES=""
  • NEXT_PUBLIC_MOCK_USER:由于 AI Proxy 是 Sealos Desktop 的一部分,用戶認證通過 JWT Token 實現(xiàn),AI Proxy 只做解析 Token,JWT Token 的簽發(fā)由 Sealos Desktop 完成。在開發(fā)階段,我們需要 mock 一個 JWT Token。NEXT_PUBLIC_MOCK_USER 的值就是 mock 出來的 JWT Token??梢允褂迷诰€工具 https://www.lddgo.net/encrypt/jwt-generate 生成。

    mock 數(shù)據(jù)如下:

    {"workspaceId" : "test"
    }

  • APP_TOKEN_JWT_KEY:JWT Token 的密鑰 (隨便寫)

  • AI_PROXY_BACKEND_KEY:后端 API 的訪問密鑰 (也就是后端項目的 ADMIN_KEY)

  • AI_PROXY_BACKEND:后端服務的公網(wǎng)地址

  • AI_PROXY_BACKEND_INTERNAL:后端服務的內(nèi)網(wǎng)地址 (開發(fā)測試階段可以不填)

  • ADMIN_NAMESPACES:管理員用戶名,開發(fā)時填 test 就行,和 token 中的 “workspaceId”:“test” 保持一致

環(huán)境變量配置完成后,運行 pnpm dev 即可啟動開發(fā)服務器。項目的發(fā)布和部署流程與前面介紹的后端開發(fā)流程完全一致。

總結

Sealos AI Proxy 前端項目采用了經(jīng)典的 Next.js App Router 架構,其中 app/[lng] 目錄用于頁面路由,app/api 目錄則用于后端 API 路由。

在這個項目中,Next.js 的后端實際上是一個中間層,它主要負責用戶認證相關的業(yè)務邏輯,并將經(jīng)過認證的請求轉發(fā)給真正的 Golang 后端服務。這種分層設計可以讓 Golang 后端專注于核心業(yè)務邏輯,不需要關心認證等基礎設施,從而提高了代碼的靈活性和可移植性。

http://www.risenshineclean.com/news/48853.html

相關文章:

  • 企業(yè)建站技術軟文營銷名詞解釋
  • 辦網(wǎng)站租服務器東莞優(yōu)化排名公司
  • 哪個網(wǎng)站可以做身份核驗大地資源網(wǎng)在線觀看免費
  • 企業(yè)做網(wǎng)站建設百度一下瀏覽器
  • icp網(wǎng)站建設seo手機搜索快速排名
  • W做網(wǎng)站怎么建立自己的企業(yè)網(wǎng)站
  • 做的網(wǎng)站怎么放到域名模板網(wǎng)站如何建站
  • 購物商城網(wǎng)站建設電商網(wǎng)站建設開發(fā)
  • 黑龍江省建設造價協(xié)會網(wǎng)站在線網(wǎng)站seo診斷
  • 什么網(wǎng)站發(fā)布找做效果圖的電腦優(yōu)化是什么意思
  • wordpress的文件結構百度刷seo關鍵詞排名
  • 網(wǎng)站建設行業(yè)數(shù)據(jù)seo推薦
  • 商洛免費做網(wǎng)站百度廣告聯(lián)系方式
  • 豐金網(wǎng)絡 做網(wǎng)站數(shù)字營銷網(wǎng)站
  • 怎么做培訓班網(wǎng)站石家莊關鍵詞優(yōu)化軟件
  • 什么是網(wǎng)絡營銷包含哪些內(nèi)容全網(wǎng)營銷與seo
  • 清理網(wǎng)站數(shù)據(jù)庫源碼交易平臺
  • 南昌那個公司做網(wǎng)站好今日最新國際新聞頭條
  • 金昌網(wǎng)站seo合肥seo推廣培訓班
  • 蘇州專業(yè)做網(wǎng)站公司有哪些小說推廣關鍵詞怎么弄
  • 做網(wǎng)站需要的照片網(wǎng)站建設公司哪個好呀
  • 建站公司 萬維科技外鏈交換平臺
  • 網(wǎng)站設置密碼百度網(wǎng)站域名注冊
  • 給企業(yè)做宣傳網(wǎng)站的好處百度上如何發(fā)廣告
  • 開發(fā)平臺游戲名詞解釋搜索引擎優(yōu)化
  • 貴陽疫情最新消息今天寧波seo排名優(yōu)化培訓
  • 網(wǎng)站建設公司信息搜索引擎營銷的優(yōu)勢和劣勢
  • 織夢的手機端網(wǎng)站模板技能培訓有哪些科目
  • 破解版下載大全免費下載seo優(yōu)化軟件有哪些
  • 湛江免費建站哪里有淘寶聯(lián)盟怎么推廣