iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 1
1
Software Development

Go Distributed & Go Consistently系列 第 1

Day1 系列文結構介紹

前言

HiHi~/images/emoticon/emoticon37.gif時隔多年又回來參賽拉,本次希望已經涉入軟體系統開發的工程師可以從此系列文中得到一些想法,也希望還沒應用到分散式架構或對一致性不太了解的朋友,可以體會看看遇到什麼問題的時候會需要這樣的架構編排

基礎需求

  • Basic programming : 知道 var, for loop, function 等基本程式概念,有了基處的程式概念後,我們可以更快速的進入一致性、併發、分散式架構的探討
  • Terminal : 除了 golang 的編譯外,系列文也會對機器或虛擬機器進行操作,例如 docker 或 drone 的部分都會使用到 terminal

大綱

  • 資料一致性
  • CAP
  • Go 語法
  • Transactions
  • Race condition
  • 分散式架構
  • Docker & docker-compose
  • Kubernetes
  • Istio (load balance)
  • NSQ
  • drone CI/CD

我們會從資料一致性重要性與各種情境來預想一些服務會碰到的難題,如何在一致、容錯、反應時間之間做出取捨,是我們設計服務第一個需要考慮的問題。其次在考量高可用與高流量的情境下介紹分散式架構,以主流的 kubernetes 來實現分散式的服務,提供一些分散式常見需求與問題解法。最後以持續整合與部屬的觀念下,提供一套 golang 編寫的 CI/CD套件,希望可以幫助大家在服務維護上可以有更好且一致的體驗。

除了理論的說明以外,如何使用 golang 實作出一個符合情境系統,也會於內文逐步的由已討論過的主題漸漸堆疊而出。


下一篇
Day2 Data consistency
系列文
Go Distributed & Go Consistently30

尚未有邦友留言

立即登入留言