精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Go-Zero微服務快速入門和最佳實踐

開發 架構
微服務進行服務拆分一個最好理解并且最基本的原則就是:每個服務對應一個單獨的數據庫。做到服務與服務之間的解耦,劃清邊界。

并發編程和分布式微服務是我們Gopher升職加薪的關鍵。

畢竟Go基礎很容易搞定,不管你是否有編程經驗,都可以比較快速的入門Go語言進行簡單項目的開發。

雖說好上手,但是想和別人拉開差距,提高自己的競爭力,搞懂分布式微服務和并發編程還是灰常重要的,這也是我今年簽約文章的重點。

Go-Zero

我想和大家說一下安利gozero的原因:

Go-zero [1]在GitHub中已經有27.2K的star,集成了各種工程實踐的 web 和 rpc 框架。通過彈性設計保障了大并發服務端的穩定性,經受了充分的實戰檢驗。

官網

Go-Zero官方地址[2]

一個神奇的事情,如果你直接在百度搜索gozero,前幾頁的檢索結果竟然都沒有gozero官網,而是各個技術社區作者的分享。

我建議你先認真學習Go-Zero官網資料,掃清知識盲點,然后再跟著我去實踐。

技巧 & 整體開發流程

為了吸引你繼續讀下去,我先分享技巧吧:“總結一句話:用好goctl開發就是快!”

先說技巧

goctl

  1. 能使用 goctl[3] 的一定要用 goctl , goctl 是 go-zero 的內置腳手架,是提升開發效率的一大利器,可以一鍵生成代碼、文檔、部署 k8s yaml、dockerfile 等。
  2. gozero和go一樣也強調“少即是多”的思想,能用goctl生成的千萬不要手寫,不僅開發速度慢;在團隊開發中也難以保證統一的開發規范。
  3. 更重要的 goctl 支持我們自定義,后面我也會單獨整理文章出來,和你分享如何結合你的項目,定制適合自己的goctl,進一步提高效率。那具體goctl能生成什么呢?
  • api
  • grpc
  • MySQL
  • MongoDB
  • 格式化
  • 接口文檔
  • 還支持自定義
  • 甚至還支持生成php、Android等代碼

目錄結構

先帶你了解一下整體項目目錄,這樣你能更好的理解下文中的開發流程,這也是新手最頭疼的地方,不知道從哪里著手開發。

圖片圖片

  • app 所有的微服務目錄

cmd

model model層 方便cmd目錄中api和rpc調用

etc

internal

pb

服務包名 由goctl生成

main.go

desc

etc

internal

main.go

xxx.api

api api接口層 對外提供服務,可以用goctl生成

rpc rpc層 內部服務 可以用goctl生成

user

mqueue 等不同的服務

  • common 服務共享的常量、工具類等統一封裝到這里
  • deploy 項目部署配置等 比如Nginx配置
  • go.mod

歡迎關注我,下期內容會共享GitHub開源地址出來。

Go-Zero微服務項目開發流程

當你把go和gozero的開發環境安裝好之后,建議按照下面的順序進行開發:

  1. 首先設計數據庫和數據表
  2. 使用工具先生成model
  3. 先開發api層
  4. 再開發rpc層
  5. 在api層注冊rpc服務,調用rpc方法,對外提供接口
  6. 生成接口文檔

以上是整體的開發流程,請你按照這個順序開發,會非常清晰。

詳解

1)首先設計數據庫和數據表

  1. 微服務進行服務拆分一個最好理解并且最基本的原則就是:每個服務對應一個單獨的數據庫。做到服務與服務之間的解耦,劃清邊界。
  2. 這就要求我們明確項目(服務)需求之后,做好表結構設計。3.** 我們后續項目中用到的model、proto、甚至api層的結構體都可以通過工具根據數據庫生成,所以數據庫的設計至關重要!**

2)使用工具先生成model

使用goctl中的model命令生成即可:官網有講,不再贅述:mysql 代碼生成[4]

為了進一步提高效率,我們對此進行了封裝,方便我們更快更好的生成model,你也可以按照我們的方式來:

  1. 在項目根目錄下創建了script目錄,專門用于封裝各種常用的腳本
  2. 在script目錄下,我們創建了genModel目錄,用于生成model文件。
  3. 封裝genModel.sh腳本,內容如下:
#!/usr/bin/env bash  
  
# 使用方法:  
# ./genModel.sh 數據庫名 表名稱
# 比如:
# ./genModel.sh lottery lottery  
# 再將./genModel下的生成的文件剪切到對應服務的model目錄中即可  
  
#生成的表名  
tables=$2  
#表生成的genmodel目錄  
modeldir=./genModel  
  
# 數據庫配置  
host=127.0.0.1  
port=3306  
dbname=$1  
username=root  
passwd=xxxxx  
  
echo "開始創建庫:$dbname 的表:$2"  
goctl model mysql datasource -url="${username}:${passwd}@tcp(${host}:${port})/${dbname}" -table="${tables}" -dir="${modeldir}" -cache=true --home="${template}" --style=goZero

這樣,我們就可以很方便的使用./genModel.sh生成model,而不是需要拼接冗長的goctl命令

這個思路也同樣適用你使用goctl生成其他的代碼。

3)先開發api層

  1. 先定義xxx.api文件,可以參考 api demo 代碼生成[5]
  2. 使用goctl生成代碼:goctl api go -api main.api -dir ../ --style=goZero
  3. 配置生成代碼中的config目錄以及yaml文件,弄清它們兩者之間的聯系
  4. 配置生成代碼svc目錄中的文件(比如jwt之類的中間件)

4)再開發rpc層

  1. 再告訴你一個提效利器 sql2pb[6],這個工具適合我們開發新服務時使用。見名之意,也就是可以把sql轉成pb文件
  2. 注意:一旦我們的xx.proto文件有自定義修改之后,就不建議使用sql2pb了。如果不使用sql2pb的話,就直接修改xxx.proto文件
  3. 使用goctl生成pb.go文件:goctl rpc protoc lottery.proto --go_out=../ --go-grpc_out=../ --zrpc_out=../ --style=goZero
  4. 配置svc,注冊model
  5. 編寫logic,調用model,寫業務代碼

5)在api層注冊rpc服務,調用rpc方法

  1. api層配置svc,注冊rpc客戶端
  2. 調用rpc方法
  3. 返回restful api

6)生成接口文檔

  1. 注意:雖然goctl不直接支持生成swagger,但是goctl的插件支持。-   goctl-swagger[7] 通過 api 文件生成 swagger 文檔
  2. 安裝好goctl-swagger插件之后,我們就可以在api層的xxx.api同級目錄下生成swagger了
  3. 參考命令如下:其中main.api是我在api層的desc目錄中定義的,我們也在同級目錄執行goctl命令即可:
  4. goctl api plugin -plugin goctl-swagger="swagger -filename main.json" -api main.api -dir .

圖片圖片

  1. 執行之后,就會出現如下圖所示的main.json,這就是swagger文件

圖片圖片

  1. 你可以直接使用swagger進行測試,也可以導入到其他工具中,比如我習慣導入到Apifox中,可以自動生成參數,方便我們進行測試:

圖片圖片

圖片圖片

總結

這篇文章帶你梳理了使用gozero開發微服務項目的步驟和技巧,請你按我建議的方式開發和debug,會很清晰。下一篇文章將通過一個完整的功能,帶你跑通一個微服務的開發,包括:需求分析+表結構設計+api+rpc+goctl+apifox調試+細節處理。

本文轉載自微信公眾號「 王中陽Go」,作者「王中陽」,可以通過以下二維碼關注。

轉載本文請聯系「 程序員升級打怪之旅」公眾號。

責任編輯:武曉燕 來源: 王中陽Go
相關推薦

2025-05-26 04:00:00

2023-08-28 08:00:45

2023-08-10 08:00:42

令牌限流器計數器

2023-08-07 08:01:15

2018-12-17 16:39:20

Golang微服務

2018-12-17 16:44:49

Golang微服務

2024-05-16 13:13:39

微服務架構自動化

2018-12-17 16:48:05

Golang微服務

2023-11-06 08:55:31

2025-09-05 01:00:00

2021-09-08 10:32:29

微服務容器化Serverless

2022-11-02 12:17:41

2025-08-04 01:22:00

Go 語言微服務Kratos

2020-08-07 09:41:00

微服務架構數據

2023-11-20 16:06:34

軟件開發微服務架構Spring

2024-01-05 09:08:48

代碼服務管理

2020-04-27 10:20:07

微服務架構數據庫

2017-06-09 09:42:07

解耦利器

2014-09-01 09:57:11

Go產品環境最佳語言

2010-12-08 09:03:40

SQLiteAndroid
點贊
收藏

51CTO技術棧公眾號

中文字幕在线日亚洲9| 999精品免费视频| 欧美日韩1234| 影音先锋中文在线视频| 免费的一级黄色片| 亚洲宅男天堂在线观看无病毒| 三上悠亚国产精品一区二区三区| 北条麻妃在线观看| 亚洲国产精品yw在线观看| 成人羞羞网站入口免费| 成人在线观看高清| 国产欧美精品一区二区色综合| 九色porny自拍视频在线观看| 日本激情综合网| 欧美一级久久久久久久大片| 香蕉视频一区二区三区| 国产极品美女高潮无套嗷嗷叫酒店| 国产成人精品电影久久久| 国产精品一级在线| 五月婷婷六月丁香综合| 亚洲一区二区三区乱码| 欧美日韩在线亚洲一区蜜芽| 免费欧美激情| 亚洲熟妇无码久久精品| 热这里只有精品| 日韩一区二区三区三四区视频在线观看| 欧美一级精品片在线看| 精品国产乱子伦| 中文视频一区视频二区视频三区| 日韩欧美中文| 在线观看国产黄| 欧美性bbwbbwbbwhd| 欧美日韩美女一区二区| 一本到12不卡视频在线dvd| 国产精品久久久久久无人区| 欧美 国产 精品| 日韩精品极品在线观看| 91久久午夜| 亚洲美女性生活| 老熟妇仑乱视频一区二区| 日韩视频免费在线观看| 久色成人在线| 亚洲免费一在线| av成人国产| 国内精品不卡| 亚洲精品成人无码毛片| 日韩av电影中文字幕| 中文字幕五月欧美| 亚洲肉体裸体xxxx137| 国产色综合视频| 欧美xxxxx在线视频| 欧美精品福利在线| 99久久婷婷国产| 吉吉日韩欧美| 久草视频在线观| 免费在线看黄色片| 久久久精品一区二区三区| 久久久蜜桃精品| 老司机精品在线| 午夜精品一二三区| 三级网站免费看| 国产在线精品播放| 福利微拍一区二区| 激情五月***国产精品| 日韩精品亚洲人成在线观看| 99久久婷婷国产综合| 国产精品制服诱惑| 91成人在线精品| 亚洲欧洲一区二区天堂久久| 调教视频免费在线观看| 性爱在线免费视频| 欧美日韩电影一区二区三区| 国产视频久久久久| 一区视频网站| 怡春院在线视频| 91精品国产高清91久久久久久| 97在线电影| 日韩成人高清在线| 国产精品国产自产拍在线| 欧美黄色大片在线观看| 精精国产xxxx视频在线中文版| 亚洲欧美综合7777色婷婷| 99久热在线精品视频| 久久免费高清视频| 色视频欧美一区二区三区| 麻豆精品在线看| 欧美片网站免费| 国产中文字幕在线看| 国产精品麻豆免费版现看视频| 一本二本三本亚洲码 | 欧美日韩欧美| 色播视频在线播放| 免费裸体美女网站| 高清国产在线一区| 亚洲色图欧美制服丝袜另类第一页| 中文天堂在线一区| 婷婷精品进入| bestiality新另类大全| 中文字幕在线播| 久久久男人的天堂| 日本黄色a视频| **欧美日韩vr在线| 精品国产髙清在线看国产毛片 | 91chinesevideo永久地址| 色婷婷av一区二区三区gif | 欧美一级大片在线免费观看| 91精品在线免费观看| 中文在线免费一区三区高中清不卡| 狠狠综合久久| 亚洲网一区二区三区| 麻豆av在线导航| 91精品国自产| 欧美老熟妇一区二区三区| 天天干天天操天天玩| 久久国产精品99久久久久久丝袜| 欧美大片免费观看在线观看网站推荐| 欧美体内she精视频| 欧美国产日韩精品免费观看| 国产精品日本| 日韩av中文字幕一区| 自拍在线观看| 国产91免费在线观看| 久久9999久久免费精品国产| 国产成人精品一区二区三区在线观看 | 热久久久久久| www.国产精品.com| 中文字幕av影视| 永久免费av无码网站性色av| 性欧美极品xxxx欧美一区二区| 欧美日韩亚洲免费| 成人国产精品久久久| 成人444kkkk在线观看| 日韩视频不卡中文| 欧美日韩国产一区中文午夜| 久久精品欧美日韩精品| 欧美a一区二区| 一区二区日韩欧美| 91精品导航| 免费成人毛片| 夜鲁夜鲁夜鲁视频在线播放| 欧美 日韩 国产 精品| 无码人妻精品一区二区三区蜜桃91 | 欧美性受xxxx黑人猛交88| 国产精品美女诱惑| 国产精品福利观看| 久久综合免费视频| 国产一区二区三区日韩欧美| 日韩国产亚洲欧美| 女人扒开腿免费视频app| 免费在线激情视频| 久草免费福利在线| 伊人婷婷久久| 亚洲国产精品综合| 日韩啊v在线| 国产精品午夜一区二区欲梦| 欧美黄色性视频| 久久久91精品国产| 中文字幕精品一区久久久久 | free性欧美hd另类精品| 国产高清免费在线播放| 性xxxfllreexxx少妇| www.污视频| 性网爆门事件集合av| 国产青青草视频| 国产免费高清av| 国产黄色片网站| 国产一级精品毛片| 最近中文字幕在线观看| 黑人一级大毛片| 久操视频在线免费观看| 超碰人人爱人人| av日韩在线看| 99在线精品免费视频| 久久国产精品视频在线观看| 欧美亚洲日本一区二区三区 | 日本精品久久久久久| 国产哺乳奶水91在线播放| 国产精品欧美激情在线| 国产丰满美女做爰| 亚洲第一网站在线观看| 国产视频亚洲视频| 精品剧情v国产在线观看在线| 精品国产免费视频| 国产一区二区三区久久精品| 国产一二精品视频| 欧美激情福利| 国产在线一区不卡| 麻豆精品久久| 黑人操亚洲人| 欧美人成网站| 日日摸夜夜添夜夜添亚洲女人| 水野朝阳av一区二区三区| 国产在线精品国自产拍免费| 99视频热这里只有精品免费| 国产丝袜欧美中文另类| 国产精品久线在线观看| 尤物在线观看一区| 欧美影视一区在线| 精品一区精品二区| 国精产品一区一区三区有限在线| 国内精品久久久久伊人av| 国产欧亚日韩视频| 欧美日韩视频在线一区二区观看视频| 日韩视频在线观看视频| mm131亚洲精品| 中文字幕成人动漫| 日韩成年人视频| 国产精品色综合| 在线免费观看黄色av| 精品成人免费一区二区在线播放| 色爱av综合网| 国产精品日韩| 久久免费看少妇高潮| 蜜臀a∨国产成人精品| 久久久久久久久岛国免费| 欧美日韩激情网| 亚洲精品美女久久| 欧美在线视频免费| 欧美亚洲另类在线一区二区三区| 99精品在线免费视频| 大又大又粗又硬又爽少妇毛片 | 中文在线最新版地址| 亚洲宅男网av| 中出一区二区| 男人的j进女人的j一区| 亚洲欧美日韩成人高清在线一区| 欧美三级电影网| 久久99精品久久久久久青青91| 亚洲人成小说网站色在线| 久久偷拍免费视频| eeuss中文字幕| 国产口爆吞精一区二区| 欧美韩日亚洲| 亚洲精品推荐| 国产精品一级二级三级| 色诱视频网站一区| 久久亚洲国产精品| 97碰碰视频| 无人在线观看的免费高清视频| 妺妺窝人体色WWW精品| 国产99视频在线| 中文字幕在线看片| 亚洲综合中文| 91色视频在线| 欧美一区二区精品在线| 国产精品99久久久久久白浆小说 | 成人美女在线视频| 日本乱码高清不卡字幕| 欧美精品激情在线观看| 亚洲图色在线| 日韩精品xxx| 国产三级自拍视频| 在线观看特色大片免费视频| 激情久久一区| 亚洲久草在线视频| 欧美成人性色生活仑片| 一级二级三级欧美| 妺妺窝人体色www聚色窝仙踪| 天美一区二区三区| 国产福利拍拍拍| 2020av在线| 欧美性久久久| 亚洲欧美色综合| 久久夜色精品亚洲噜噜国产mv| 日本一区二区三区www| 国产人妻人伦精品1国产丝袜| 四虎免费在线观看| 91精品国产自产精品男人的天堂 | 国产一区不卡视频| 日韩一级视频免费观看在线| 91精品中文在线| 最新国产黄色网址| 成 人 免费 黄 色| 欧美三级午夜理伦三级在线观看 | 欧美亚洲专区| 亚洲二区视频在线| 国产激情久久久| 伊人免费视频二| 六月婷婷中文字幕| 国产欧美日韩影院| 综合分类小说区另类春色亚洲小说欧美| 久久久成人av| 欧美在线观看成人| 97人妻一区二区精品免费视频| 欧美爱爱视频| 国产高清久久久| 伊人青青综合网站| 菠萝蜜视频在线观看入口| 国产精品久免费的黄网站| 2019中文亚洲字幕| 91性感美女视频| 欧美高清视频在线| 色一情一区二区三区| www.五月婷婷| 亚洲香蕉av| 欧美色成人综合| 精品久久久久久亚洲| 久久免费播放视频| 亚洲精品中文字幕| 蜜臀av一级做a爰片久久| 亚洲国产精品久久久久秋霞不卡 | 国产又粗又猛又爽又黄的视频一 | 玖玖爱免费视频| 国产精品原创视频| 成人app下载| 欧美激情亚洲综合一区| 999在线精品视频| 精品视频二区| 日韩精品免费专区| 亚洲男人天堂古典| 日韩网址在线观看| 美国一级片在线免费观看视频| 伊人天天综合| 精品伦理精品一区| 男人日女人下面视频| 手机在线不卡av| 久久久久久黄| 丝袜美腿亚洲一区二区| 伊人影院综合在线| 国产高清美女一级毛片久久| 日本欧美韩国一区三区| 伊人伊成久久人综合网小说| 99久久激情视频| jzzjzzjzz亚洲成熟少妇| 美女网站一区二区| 久久视频免费观看| 69亚洲乱人伦| 国产精品亲子伦av一区二区三区| 亚洲国产经典视频| 国产精品精品久久久久久| 成人在线观看小视频| 欧美精品中文| 91黄色在线| 午夜久久久久| 亚洲天堂男人天堂| 三级网站免费看| 国产日产精品久久久久久婷婷| 亚洲人成亚洲人成在线观看图片| 97超视频免费观看| 全黄一级裸体片| 精品久久国产一区| 一区二区三区四区在线播放| 久久伦理网站| 国产伦精品一区二区三区四区 | 特级丰满少妇一级| 樱花草涩涩www在线播放| 欧美激情一区二区| 欧美凹凸一区二区三区视频| 99久久99久久久精品棕色圆| 视频精品一区二区| 97久久久免费福利网址| 欧美卡一卡二卡三| 国内精品久久久久久99蜜桃| 亚洲国产一区二区三区四区| gogo亚洲国模私拍人体| 日韩经典一区| 欧美性xxxxx极品少妇| 国产精品97在线| 亚洲精品永久免费视频| 五月综合激情婷婷六月色窝| 国产曰肥老太婆无遮挡| а√天堂资源地址在线下载| 国产精品麻豆视频| 一级日韩一区在线观看| 久久bbxx| 亚洲国产中文字幕在线视频综合| 最新av网址在线观看| 免费毛片在线看片免费丝瓜视频 | 国产精品美女久久久久久不卡| 精品久久久久久久久久久久久久久久久| 天天插天天操天天射| 欧美三级一区| 欧美日韩亚洲丝袜制服| 久久精品国产sm调教网站演员| 黄色网址视频在线观看| 伊人一区二区三区| 免费不卡av在线| 三级成人在线| 欧美一级艳片视频免费观看| 亚洲视频在线播放免费| 久久超碰99| 久久高清视频免费| 亚洲欧美综合自拍| 国产精品自拍三区| 欧美连裤袜在线视频| 国产在线1区| 色狠狠色狠狠综合| 久久久久亚洲av无码网站| 欧美精品中文| 欧美激情一二区| 老子影院午夜伦不卡大全| 中文字幕在线直播| 日韩女优av电影| 美女又爽又黄视频毛茸茸| 综合一区在线| 国产成人在线亚洲欧美| 精品人妻av一区二区三区| 国产精品色噜噜| 国产视频一视频二| 91欧美极品|