API 文件就是你的伺服器,REST 的另一個選擇:gRPC
在前幾個星期的文章中我們提到了「比起 JSON 更方便、更快速、更簡短的 Protobuf 格式」,但這還沒完。Google 為此推出了一個新的程式呼叫協議 gRPC,簡單說就是能夠從你的 Protobuf 檔案生出一個伺服器出來,這個好處就是不需要像傳統 RESTful API 伺服器ㄧ樣撰寫一堆路由。 當我們撰寫傳統 RES...
建置自己的 Git 伺服器與網站:Gitea(Gogs)
Gitea 是一個由 Golang 撰寫的 Git 伺服器(含網頁介面),如果你曾用過 GitHub 或 Gitlab 那麼你一定對這種東西不陌生。詳情可以參考「什麼是 Git?我要怎麼在 Ubuntu 上安裝 Git?」文章。 Gitea 主要是由 Gogs 分歧的版本,兩者的差異在於 Gogs 由單人維護...
在 Ubuntu 安裝 Docker 和 Docker Compose
以往要在一台電腦上建立更多主機時,我們會用上像是 VMware 這樣的虛擬技術軟體,也就是所謂的「虛擬機」,但在 Docker 出來之後這一切就改變了。 Docker 的用途就像是 VMware,但因為環境並不是「虛擬」出來的⋯⋯等種種原因,令 Docker 啟動一個「系統」的速度不到五秒,比起傳統的虛擬機的...
比起 JSON 更方便、更快速、更簡短的 Protobuf 格式
Protocol Buffers 是由 Google 所推出的一格式(後台真硬),你可以把它想像成是 XML 或 JSON 格式,但是更小、更快,而且更簡潔。這能夠幫你節省網路與硬體資源,且你只需要定義一次資料結構,接著就會自動生成符合你程式語言的檔案,讓你能夠直接在你的程式上使用。 而且有趣的是一但你定義了資料結構,你就能在...
以 JSON Web Token 替代傳統 Token
JSON Web Token (JWT) 是由 Auth0 所提構出的一個新 Token 想法,這並不是一套軟體、也不是一個技術,如果你在做網站時有用 Token 驗證使用者身份的習慣,那麼這個方法你應該很快就能上手。本篇將解說為什麼 JWT 會比起傳統 Token 要來得好。 在傳統網站中我們會以 Session 來辨別使用者是否有登入,由於 Sessio...
用 Golang 實作 Prometheus:服務效能測量監控系統
Prometheus 是一個基於 Golang 語言所撰寫的服務效能測量監控系統。實際上就只是把統計數據視覺化而已,這很適合用在大型系統、微服務上。你可以從 Prometheus 查看你所有服務的效能狀態等。 但這些事情可能沒有你想像的那麼自動,因為有些數據的加總、值的異動都需要自行在程式裡面處理,然後 Prometheus 會向你的程式要求這些資料。 1....
用 Golang 實作 NSQ:微服務訊息/事件傳遞系統
NSQ 是和 Event Sourcing 理念有所關聯的即時性分布式訊息傳遞系統,看到這裡你可能會以為是作即時通訊軟體用的,但實際上並不是。額外有趣的一點是 NSQ 也是以 Golang 所撰寫的。 我們會在文章中以實際情況、為什麼需要 NSQ 來解答疑惑並且實作一個真正的範例。 在閱讀本篇之前,也許你可以看看另一個相關的文章:「用 Golang 實作 E...
用 Golang 實作 Event Store:微服務事件儲藏中心
Event Store 是一個基於 CQRS 與 Event Sourcing 理念所衍生出來的新概念並由 C# 撰寫。這是一個微服務事件儲藏中心,這可能很難懂,但別緊張,這些都會在本文中得到答案。 在微服務結構中,每個服務都是獨立的,這意味著沒有服務該依賴另一個服務(無相依性),那麼我們應該要怎麼在服務之間互相溝通?一但有了這個問題就會開始陷入死循環,最終...
安裝 Drone 0.5 自動測試平台並與 Github 連結
Drone 來自 Drone.io,但他們有將自己的平台開源,所以任何人都可以自己架設一個 Drone。什麼是 Drone?簡單說就是一個自動化測試平台。 我們為什麼需要自動測試平台?一個小型的程式可以透過手動的方式來測試其功能,但遇到了大型程式,就不方便逐一測試了。這個時候我們可以交給機器自行測試,當發生錯誤時就自動向我們回報。 若要達到上述這種效果就需事...
Golang 微服務相關工具
因為這些工具都十分地進階,所以在這裡僅稍微介紹並指引如何安裝,有趣的是這些全部都是用 Golang 撰寫的。 Go kit—微服務框架 https: //github.com/go-kit/kit 當你要撰寫微服務時,你也許會需要一個框架。而 Go kit 就是 Golang 中目前知名度最高的微服務框架,接下來我們會以 Go kit 實作微服務架構的應用程...
目前第 3 頁,共有 6 頁