1. 程式人生 > >明晚九點| go 語言分享

明晚九點| go 語言分享

-o 升級 -i 基礎 term chan 多功能 mark 單一職責

本次公開課主題:Go 語言分享

內容:

  • go 簡介
  • go 特性
  • go 面向對象(特征和原則)
  • go 網絡編程( socket、http、rpc )
  • go 並發
  • go 明星項目( Docker、Kubernetes、Etcd、consul、InfluxDB、openfalon )
  • 如何用 go 打造一個部署系統

主講師:蘿蔔

  • 多年 go 語言開發經驗
  • 從事自動化運維和基礎架構相關工作

go 特性

  • 靜態編譯
  • 跨平臺
  • 垃圾回收
  • 簡潔的符號和語法
  • 平坦的類型系統
  • 基於 CSP 的並發模型
  • 高效簡單的工具鏈
  • 豐富的標準庫
  • Constants Interfaces packages

go 面向對象

三大基本特性

  • 封裝
  • 繼承
  • 多態

五大原則

  • 單一職責原則
  • 開放封閉原則
  • 替換原則
  • 依賴原則
  • 接口分離

go 網絡編程

  • socket
  • http
  • rpc

go 並發

  • 基於 協程( goroutine ) 和 管道( channel )
  • goroutine:輕量的"線程"
  • channel: 帶類型的,協程安全的管道,類似 unix 裏面的 pipe]
    技術分享圖片

  • goroutine
  • channel
  • select
  • Fan-in

go 明星項目

  • Docker
  • Kubernetes
  • Etcd、consul
  • InfluxDB
  • openfalon

如何用 go 打造一個部署系統

技術分享圖片

任務管理細分

技術分享圖片

Agent 設計考量

  • 分布式部署
  • 自升級
  • 多賬號執行支持
  • 任務冪等性
  • 多功能支持(監控、部署、配置)

分享時間:1月18 日晚上九點
參與方式:掃碼添加小助手微信(1251743084),備註"公開課",進入直播分享群

明晚九點| go 語言分享