物联网学习日记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

发布了400 篇原创文章 · 获赞 423 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/shengshengwang/article/details/104736585