O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Bo-Yi Wu
2017.08.10
 聯發科技後端工程師
 DevOps
 Golang, PHP, Node.js ..
 維護數個 Go 開源專案
 Gitea
 Gin
 Drone
 appleboy @GitHub
 appleboy @twitter...
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
用一張圖解釋兩個差異
圖片出處: https://goo.gl/azg49a
傳統開發模式
瀏覽器
使用者介面 (UI)
產品功能 訂單功能 帳戶功能
集中管理
開發簡單
容易上手
除錯簡單
單一主機
圖片來源: https://goo.gl/J9GUD4
Happy Coding
需求變多
開發效率低
不易維護
不易開發
穩定性差
不易擴充
解決衝突
效能瓶頸
瀏覽器
使用者介面 (UI)
產品功能 訂單功能 帳戶功能
瀏覽器
使用者介面 (UI)
老闆心目中架構
需求
開發
測試
部署
上線
敏捷開發
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
拆分應用層,實現敏捷開發及部署
桌機
產品功能 訂單功能 帳戶功能
手機
 依照業務區分
 自動化部署
 高度容錯
 可快速置換
 可獨立開發
 容易擴充
用 Go 語言方案
桌機 手機
Load Balancer
API
Gateway
API
Gateway
API
Gateway
REST REST
RPC
REST REST
RPC
REST REST
RPC
Database Cache NoSQLFile
API
Gateway
REST REST
RPC
服務發現
系統監控
負載平衡
API
Gateway
程式溝通
服務發現 部署分配 消息佇列
日誌管理 服務監控 CI/CD
Caddy
seesaw
Caddy Server Config
traefikfabiotyk
RPC REST 其他
gin kit micro
kite echo goa
grpc thrift hprose
Proto file
etcd consul serf
k8s swarm
NSQ nats
appdash cloudinsight opentracing
beats elastic grafana
prometheusopen-falcon
ConcourseDrone
代碼 測試 發佈 上傳 通知
62
 測試程式碼
 分析程式碼
 程式碼品質
 編譯 Binary
 部署 Binary
 編譯 Docker Image
 部署 Docker Container
 通知訊息
63
驗證代碼品質
測試程式覆蓋率
編譯執行擋
上傳執行檔
編譯
打包
上傳到 Docker Hub
http://plugins.drone.io/mactynow/drone-kubernetes/
為什麼大家都選 Go
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
goroutine
沒輸出東西?
Go channel
對調
透過 Select 管理多個通道
正確輸出, 錯誤輸出, 指令超時
使用 sync 及 channel
等待指令完成
關閉通道
https://github.com/appleboy/drone-ssh
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
Go 語言核心開發者
https://goo.gl/jGcwXK
開發 運行
類 C
語法
編譯
快速
交叉
編譯
無依賴
部署
編譯
檢查
統一
工具
Microservices vs. Monolithic 差異
微服務核心架構 (Go 工具專案)
Go 語言核心高並發
為什麼選用 Go 語言
微服務代價跟準備
 系統複雜度提升
 系統資料一致性
 維運工作複雜化
快速建置 (Develop)
監控機制 (Monitor)
快速部署 (Deploy)
A push notification server
https://github.com/appleboy/gorush
謝謝大家參與
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
Próximos SlideShares
Carregando em…5
×

de

用 Go 語言打造微服務架構 Slide 1 用 Go 語言打造微服務架構 Slide 2 用 Go 語言打造微服務架構 Slide 3 用 Go 語言打造微服務架構 Slide 4 用 Go 語言打造微服務架構 Slide 5 用 Go 語言打造微服務架構 Slide 6 用 Go 語言打造微服務架構 Slide 7 用 Go 語言打造微服務架構 Slide 8 用 Go 語言打造微服務架構 Slide 9 用 Go 語言打造微服務架構 Slide 10 用 Go 語言打造微服務架構 Slide 11 用 Go 語言打造微服務架構 Slide 12 用 Go 語言打造微服務架構 Slide 13 用 Go 語言打造微服務架構 Slide 14 用 Go 語言打造微服務架構 Slide 15 用 Go 語言打造微服務架構 Slide 16 用 Go 語言打造微服務架構 Slide 17 用 Go 語言打造微服務架構 Slide 18 用 Go 語言打造微服務架構 Slide 19 用 Go 語言打造微服務架構 Slide 20 用 Go 語言打造微服務架構 Slide 21 用 Go 語言打造微服務架構 Slide 22 用 Go 語言打造微服務架構 Slide 23 用 Go 語言打造微服務架構 Slide 24 用 Go 語言打造微服務架構 Slide 25 用 Go 語言打造微服務架構 Slide 26 用 Go 語言打造微服務架構 Slide 27 用 Go 語言打造微服務架構 Slide 28 用 Go 語言打造微服務架構 Slide 29 用 Go 語言打造微服務架構 Slide 30 用 Go 語言打造微服務架構 Slide 31 用 Go 語言打造微服務架構 Slide 32 用 Go 語言打造微服務架構 Slide 33 用 Go 語言打造微服務架構 Slide 34 用 Go 語言打造微服務架構 Slide 35 用 Go 語言打造微服務架構 Slide 36 用 Go 語言打造微服務架構 Slide 37 用 Go 語言打造微服務架構 Slide 38 用 Go 語言打造微服務架構 Slide 39 用 Go 語言打造微服務架構 Slide 40 用 Go 語言打造微服務架構 Slide 41 用 Go 語言打造微服務架構 Slide 42 用 Go 語言打造微服務架構 Slide 43 用 Go 語言打造微服務架構 Slide 44 用 Go 語言打造微服務架構 Slide 45 用 Go 語言打造微服務架構 Slide 46 用 Go 語言打造微服務架構 Slide 47 用 Go 語言打造微服務架構 Slide 48 用 Go 語言打造微服務架構 Slide 49 用 Go 語言打造微服務架構 Slide 50 用 Go 語言打造微服務架構 Slide 51 用 Go 語言打造微服務架構 Slide 52 用 Go 語言打造微服務架構 Slide 53 用 Go 語言打造微服務架構 Slide 54 用 Go 語言打造微服務架構 Slide 55 用 Go 語言打造微服務架構 Slide 56 用 Go 語言打造微服務架構 Slide 57 用 Go 語言打造微服務架構 Slide 58 用 Go 語言打造微服務架構 Slide 59 用 Go 語言打造微服務架構 Slide 60 用 Go 語言打造微服務架構 Slide 61 用 Go 語言打造微服務架構 Slide 62 用 Go 語言打造微服務架構 Slide 63 用 Go 語言打造微服務架構 Slide 64 用 Go 語言打造微服務架構 Slide 65 用 Go 語言打造微服務架構 Slide 66 用 Go 語言打造微服務架構 Slide 67 用 Go 語言打造微服務架構 Slide 68 用 Go 語言打造微服務架構 Slide 69 用 Go 語言打造微服務架構 Slide 70 用 Go 語言打造微服務架構 Slide 71 用 Go 語言打造微服務架構 Slide 72 用 Go 語言打造微服務架構 Slide 73 用 Go 語言打造微服務架構 Slide 74 用 Go 語言打造微服務架構 Slide 75 用 Go 語言打造微服務架構 Slide 76 用 Go 語言打造微服務架構 Slide 77 用 Go 語言打造微服務架構 Slide 78 用 Go 語言打造微服務架構 Slide 79 用 Go 語言打造微服務架構 Slide 80 用 Go 語言打造微服務架構 Slide 81 用 Go 語言打造微服務架構 Slide 82 用 Go 語言打造微服務架構 Slide 83 用 Go 語言打造微服務架構 Slide 84 用 Go 語言打造微服務架構 Slide 85 用 Go 語言打造微服務架構 Slide 86 用 Go 語言打造微服務架構 Slide 87 用 Go 語言打造微服務架構 Slide 88 用 Go 語言打造微服務架構 Slide 89 用 Go 語言打造微服務架構 Slide 90 用 Go 語言打造微服務架構 Slide 91 用 Go 語言打造微服務架構 Slide 92 用 Go 語言打造微服務架構 Slide 93 用 Go 語言打造微服務架構 Slide 94 用 Go 語言打造微服務架構 Slide 95 用 Go 語言打造微服務架構 Slide 96 用 Go 語言打造微服務架構 Slide 97 用 Go 語言打造微服務架構 Slide 98 用 Go 語言打造微服務架構 Slide 99 用 Go 語言打造微服務架構 Slide 100 用 Go 語言打造微服務架構 Slide 101 用 Go 語言打造微服務架構 Slide 102 用 Go 語言打造微服務架構 Slide 103 用 Go 語言打造微服務架構 Slide 104
Próximos SlideShares
用 Go 語言打造 DevOps Bot
Avançar
Transfira para ler offline e ver em ecrã inteiro.

33 gostaram

Compartilhar

Baixar para ler offline

用 Go 語言 打造微服務架構

Baixar para ler offline

Go 語言 (又稱Golang) 是 Google 推出新一代的強大語言,今年 3 月 Google 公佈了去年底統計的問卷結果,發現 63% 用 Go 來寫網站,38% 用來開發系統程式,35% 用來做 DevOps,本次議題將會帶您瞭解為什麼 Go 語言適合打造微服務架構,Go 語言大給微服務什麼樣的特性以及 Go 語言適合用來開發什麼樣的系統?

用 Go 語言 打造微服務架構

  1. 1. Bo-Yi Wu 2017.08.10
  2. 2.  聯發科技後端工程師  DevOps  Golang, PHP, Node.js ..  維護數個 Go 開源專案  Gitea  Gin  Drone  appleboy @GitHub  appleboy @twitter  appleboy @slideshare  appleboy46 @facebook 2
  3. 3. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  4. 4. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  5. 5. 用一張圖解釋兩個差異
  6. 6. 圖片出處: https://goo.gl/azg49a
  7. 7. 傳統開發模式
  8. 8. 瀏覽器 使用者介面 (UI) 產品功能 訂單功能 帳戶功能
  9. 9. 集中管理 開發簡單 容易上手 除錯簡單 單一主機
  10. 10. 圖片來源: https://goo.gl/J9GUD4 Happy Coding
  11. 11. 需求變多
  12. 12. 開發效率低 不易維護 不易開發 穩定性差 不易擴充
  13. 13. 解決衝突
  14. 14. 效能瓶頸
  15. 15. 瀏覽器 使用者介面 (UI) 產品功能 訂單功能 帳戶功能
  16. 16. 瀏覽器 使用者介面 (UI)
  17. 17. 老闆心目中架構
  18. 18. 需求 開發 測試 部署 上線 敏捷開發
  19. 19. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  20. 20. 拆分應用層,實現敏捷開發及部署
  21. 21. 桌機 產品功能 訂單功能 帳戶功能 手機
  22. 22.  依照業務區分  自動化部署  高度容錯  可快速置換  可獨立開發  容易擴充
  23. 23. 用 Go 語言方案
  24. 24. 桌機 手機 Load Balancer API Gateway API Gateway API Gateway REST REST RPC REST REST RPC REST REST RPC Database Cache NoSQLFile
  25. 25. API Gateway REST REST RPC 服務發現 系統監控
  26. 26. 負載平衡 API Gateway 程式溝通 服務發現 部署分配 消息佇列 日誌管理 服務監控 CI/CD
  27. 27. Caddy seesaw
  28. 28. Caddy Server Config
  29. 29. traefikfabiotyk
  30. 30. RPC REST 其他
  31. 31. gin kit micro kite echo goa
  32. 32. grpc thrift hprose
  33. 33. Proto file
  34. 34. etcd consul serf
  35. 35. k8s swarm
  36. 36. NSQ nats
  37. 37. appdash cloudinsight opentracing
  38. 38. beats elastic grafana
  39. 39. prometheusopen-falcon
  40. 40. ConcourseDrone
  41. 41. 代碼 測試 發佈 上傳 通知 62
  42. 42.  測試程式碼  分析程式碼  程式碼品質  編譯 Binary  部署 Binary  編譯 Docker Image  部署 Docker Container  通知訊息 63
  43. 43. 驗證代碼品質 測試程式覆蓋率
  44. 44. 編譯執行擋
  45. 45. 上傳執行檔
  46. 46. 編譯 打包
  47. 47. 上傳到 Docker Hub
  48. 48. http://plugins.drone.io/mactynow/drone-kubernetes/
  49. 49. 為什麼大家都選 Go
  50. 50. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  51. 51. goroutine
  52. 52. 沒輸出東西?
  53. 53. Go channel
  54. 54. 對調
  55. 55. 透過 Select 管理多個通道
  56. 56. 正確輸出, 錯誤輸出, 指令超時
  57. 57. 使用 sync 及 channel
  58. 58. 等待指令完成 關閉通道
  59. 59. https://github.com/appleboy/drone-ssh
  60. 60. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  61. 61. Go 語言核心開發者
  62. 62. https://goo.gl/jGcwXK
  63. 63. 開發 運行
  64. 64. 類 C 語法 編譯 快速
  65. 65. 交叉 編譯 無依賴 部署
  66. 66. 編譯 檢查 統一 工具
  67. 67. Microservices vs. Monolithic 差異 微服務核心架構 (Go 工具專案) Go 語言核心高並發 為什麼選用 Go 語言 微服務代價跟準備
  68. 68.  系統複雜度提升  系統資料一致性  維運工作複雜化
  69. 69. 快速建置 (Develop) 監控機制 (Monitor) 快速部署 (Deploy)
  70. 70. A push notification server https://github.com/appleboy/gorush
  71. 71. 謝謝大家參與
  • SIMPLYBOYS

    Feb. 16, 2020
  • wangshung

    Jan. 13, 2020
  • GuanChengLin1

    Dec. 5, 2019
  • JayChang17

    May. 17, 2019
  • popolar01

    Apr. 12, 2019
  • dwdcwg

    Apr. 5, 2019
  • zx1986

    Mar. 26, 2019
  • apoyu

    Mar. 21, 2019
  • ssuser218787

    Feb. 18, 2019
  • seanyu095

    Dec. 22, 2018
  • lyrata

    Nov. 25, 2018
  • ssusera550dd

    Oct. 21, 2018
  • ssuser61a1c8

    Sep. 6, 2018
  • ssusere40855

    Aug. 30, 2018
  • ssuser454983

    Jul. 20, 2018
  • xianghan

    Jul. 9, 2018
  • 510295402

    Jun. 23, 2018
  • holmeszhang

    Jun. 19, 2018
  • JhihMing

    Jun. 15, 2018
  • sevenjay

    May. 4, 2018

Go 語言 (又稱Golang) 是 Google 推出新一代的強大語言,今年 3 月 Google 公佈了去年底統計的問卷結果,發現 63% 用 Go 來寫網站,38% 用來開發系統程式,35% 用來做 DevOps,本次議題將會帶您瞭解為什麼 Go 語言適合打造微服務架構,Go 語言大給微服務什麼樣的特性以及 Go 語言適合用來開發什麼樣的系統?

Vistos

Vistos totais

10.509

No Slideshare

0

De incorporações

0

Número de incorporações

5.941

Ações

Baixados

233

Compartilhados

0

Comentários

0

Curtir

33

×