物聯網學習日記18

1.go build -mod=vendor
解析:在開啓模塊支持的情況下,用這個可以退回到使用vendor的時代。

2.go mod vendor
解析:生成vendor文件夾。

3.go mod edit -fmt
解析:格式化go.mod文件。

4.go list -m
解析:查看當前的依賴和版本。

5.Go Web框架
解析:
[1]Beego:開源的高性能Go語言Web框架。
[2]Buffalo:使用Go語言快速構建Web應用。
[3]Echo:簡約的高性能Go語言Web框架。
[4]Gin:Go語言編寫的Web框架,以更好的性能實現類似Martini框架的API。
[5]Iris:全宇宙最快的Go語言Web框架。完備MVC支持,未來盡在掌握。
[6]Revel:Go語言的高效、全棧Web框架。

6.Walk框架
解析:Walk是一個寫給Golang的Window應用程序庫套件,它主要用於桌面GUI的開發,但也有更多的東西。

7.gRPC
解析:gRPC是一個高性能、通用的開源RPC框架,其由Google主要面向移動應用開發並基於HTTP/2協議標準而設計,基於ProtoBuf[Protocol Buffers]序列化協議開發,且支持衆多開發語言。gRPC提供了一種簡單的方法來精確地定義服務和爲iOS、Android和後臺支持服務自動生成可靠性很強的客戶端功能庫。客戶端充分利用高級流和鏈接功能,從而有助於節省帶寬、降低的TCP鏈接次數、節省CPU使用、和電池壽命。

8.Go第三方開源GUI庫
解析:
[1]goqt:LiteIDE作者出品,Go和QT的綁定,還未發佈
[2]go.uik:純Go實現的併發UI工具
[3]walk:Windows Application Library Kit
[4]gform:Windows GUI framework

9.內網穿透工具frp
解析:frp是一個高性能的反向代理應用,可以幫助您輕鬆地進行內網穿透,對外網提供服務,支持tcp,http,https等協議類型,並且web服務支持根據域名進行路由轉發。

10.GoAdmin
解析:GoAdmin是一款基於golang的數據可視化管理後臺搭建框架。致力於簡化saas,數據可視化系統搭建難度,提升golang開發效率,將高效率高性能的體驗帶給所有開發者。

11.RBAC[Role-Based Access Control]
解析:基於角色的訪問控制,就是通過角色與權限進行關聯。即一個用戶擁有若干角色,每一個角色擁有若干權限,這樣就構成了“用戶-角色-權限”的授權模型。在這種模型中,用戶與角色之間,角色與權限之間,一般是多對多的關係。

12.armel
解析:arm eabi little endian的縮寫。eabi是軟浮點二進制接口,這裏的e是embeded,是對於嵌入式設備而言。

13.armhf
解析:arm hard float的縮寫。

14.arm64
解析:64位的arm默認就是hf的,因此不需要hf的後綴。

15.Ubuntu Core
解析:Ubuntu Core是流行的Ubuntu Linux操作系統的精簡版,旨在安裝在各種嵌入式設備上。它由Canonical設計,旨在降低安全維護成本和軟件開發風險,因爲該公司使用了革命性的Snap通用軟件包格式。

16.snap簡介
解析:Snap的安裝包擴展名是.snap,類似於一個容器,它包含一個應用程序需要用到的所有文件和庫[snap包包含一個私有的root文件系統,裏面包含了依賴的軟件包]。它們會被安裝到單獨的目錄;各個應用程序之間相互隔離。使用snap有很多好處,首先它解決了軟件包的依賴問題;其次,也使應用程序更容易管理。

17.snap安裝
解析:

sudo apt-get install snapd
sudo apt-get install snapcraft 

18.snap常用命令
解析:
[1]列出已經安裝的snap包:sudo snap list
[2]搜索要安裝的snap包:sudo snap find <text to search>
[3]安裝一個snap包:sudo snap install <snap name>
[4]更新一個snap包:sudo snap refresh <snap name>
[5]把一個包還原到以前安裝的版本:sudo snap revert <snap name>
[6]刪除一個snap包:sudo snap remove <snap name>

19.K3OS主要功能
解析:
[1]快速安裝:K3OS只需10秒即可啓動,且與此同時k3s是無需時間、立即可用的。
[2]簡化配置:Cloud-init支持在系統引導啓動期間自動配置k3s,將其從通用鏡像快速輕鬆地轉換爲已配置的k3s實例。
[3]簡化系統補丁和升級:管理員可以通過一組通用的YAML文件管理Kubernetes發行版和Linux發行版,並利用Kubernetes協調部署操作系統升級。
[4]內置k3s:K3OS中內置了k3s,必要的一些系統服務[如ssh、udev、bash和iptables等]都已內置於分發鏡像中,無需包管理器。
[5]Ubuntu內核:Rancher藉助Canonical的Ubuntu Server Kernel團隊的出色工作,確保及時的安全更新和全面的設備支持。
[6]多架構支持:k3OS現已支持x86_64和ARM。

20.QEMU
解析:QEMU是一套由法布里斯·貝拉[Fabrice Bellard]所編寫的以GPL許可證分發源碼的模擬處理器,在GNU/Linux平臺上使用廣泛。Bochs,PearPC等與其類似,但不具備其許多特性,比如高速度及跨平臺的特性,通過KQEMU這個閉源的加速器,QEMU能模擬至接近真實電腦的速度。

21.K3S中的Containerd和Tunnel Proxy
解析:
[1]Containerd:一個獨立的運行進程
[2]Tunnel Proxy:負責維護k3s server和k3s agent之間的鏈接,採用Basic Auth的方式來進行認證

22.k3s server和k3s agnet
解析:
[1]k3s server:只有一個進程體
[2]k3s agnet:分爲兩個進程體,其中一個是Contrainerd,負責管理運行容器

23.Raft
解析:分佈式一致性協議。

24.k3s安裝後內置containerd客戶端
[1]ctr:單純的容器管理
[2]crictl:從Kubernetes視角出發,對POD、容器進行管理

25.Helm
解析:Kubernetes的一個包管理器。

參考文獻:
[1]gRPC in 3 minutes:http://www.grpc.io/docs/installation/go.html
[2]Launchpad:https://launchpad.net/
[3]snap docs:https://snapcraft.io/docs/getting-started

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章