云计算
文章平均质量分 83
云原生(Cloud Native)技术的普及和可持续发展
weixin_35688430
这个作者很懒,什么都没留下…
展开
-
GO终端读取
GO终端读取Go语言获取标准输入Go语言 fmt 包下有 fmt.Scan、fmt.Scanf、fmt.Scanln 三个函数,可以在程序运行过程中获取用户输入。func Scan(a …interface{}) (n int, err error)Scan从标准输入扫描文本,将成功读取的空白分隔的值保存进成功传递给本函数的参数。换行视为空白。返回成功扫描的条目个数和遇到的任何错误。如果读取的条目比提供的参数少,会返回一个错误报告原因。func Scanf(format string, a …in原创 2021-04-01 14:50:53 · 692 阅读 · 0 评论 -
GO数据格式
GO数据格式Go语言json格式JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。Go语言对json的解析函数在encoding/json包里面,主要是编码和解码两个函数。Marshal函原创 2021-04-01 11:41:42 · 527 阅读 · 0 评论 -
GO反射
GO反射Go语言反射获取反射介绍反射可以在运行时动态获取变量的相关信息。Go语言中reflect包实现了运行时反射,允许程序操作任意类型的对象。典型用法是用静态类型interface{}保存一个值,通过调用TypeOf获取其动态类型信息,该函数返回一个Type类型值。调用ValueOf函数返回一个Value类型值,该值代表运行时的数据。Zero接受一个Type类型参数并返回一个代表该类型零值的Value类型值。反射获取常用函数和方法:func TypeOf(i interface{}) Type原创 2021-03-31 17:31:49 · 144 阅读 · 0 评论 -
GO并发编程
GO并发编程Go语言并发介绍Golang从语言层面就对并发提供了支持,而goruntine是Go语言并发设计的核心。Go语言的并发机制运用起来非常舒适,在启动并发的方式上直接添加了语言级的关键字就可以实现,和其他编程语言相比更加轻量。进程&线程A、进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B、线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C、一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并原创 2021-03-31 11:58:42 · 138 阅读 · 0 评论 -
Go语言接口规则
Go语言接口规则接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 “实现” 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值,该类型也可以有其他方法。接口赋值对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个复制品的指针,既无法修改复制品的状态,也无法获取指针。package mainimport "fmt"type User struct { id int原创 2021-03-30 17:50:25 · 168 阅读 · 0 评论 -
GO方法
GO方法Go语言方法定义方法介绍在 Go 语言中有一个概念和函数极其相似,叫做方法 。Go 语言的方法其实是作用在接收者(receiver)上的一个函数,接收者是某种非内置类型的变量。因此方法是一种特殊类型的函数。接收者类型可以是(几乎)任何类型,不仅仅是结构体类型:任何类型都可以有方法,甚至可以是函数类型,可以是 int、bool、string 或数组的别名类型。但是接收者不能是接口类型。方法的声明和普通函数的声明类似,只是在函数名称前面多了一个参数,这个参数把这个方法绑定到这个参数对应的类型上原创 2021-03-30 17:36:29 · 962 阅读 · 0 评论 -
Go函数
GO函数Go语言函数定义函数是基本的代码块,用于执行一个任务。Go语言函数特点:1、关键字func用来声明一个函数funcName;2、函数可以有一个或者多个参数,每个参数后面带有类型,通过逗号(,)分隔;3、函数可以返回多个值;4、返回值可以使用声明变量,如果不想声明也可以直接使用返回值的类型;5、如果只有一个返回值且不声明返回值变量,那么你可以省略 包括返回值 的括号;6、如果没有返回值,可以直接省略最后的返回信息;7、如果有返回值, 必须在函数的外层添加return语句,否则会引发原创 2021-03-30 17:31:13 · 146 阅读 · 0 评论 -
Go流程控制
流程控制Go 语言 if 条件语句条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。if 语句 由一个布尔表达式后紧跟一个或多个语句组成。if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。第一种,直接判断bool类型package mainimport "fmt"func main() { if true { fmt.Println原创 2021-03-26 16:53:52 · 99 阅读 · 0 评论 -
Go语言常见语法错误
Go语言常见语法错误1、开大括号不能放在单独的一行错误代码:package mainimport "fmt"func main() { fmt.Println("hello world!")}编译错误:./main.go:5:6: missing function body for “main”./main.go:6:1: syntax error: unexpected semicolon or newline before {正确代码:package main原创 2021-03-24 11:40:00 · 1870 阅读 · 0 评论 -
Go语言引用类型
Go语言引用类型Go语言切片Go语言切片是对数组的抽象。数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。需要说明,slice 并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案。切片定义第一种,声明一个切片:var slice []int切片定义并初始化var slice0 []int = []int{1, 2, 3}var原创 2021-03-23 14:32:14 · 593 阅读 · 0 评论 -
Go语言基本类型
Go语言基本类型Go语言fmt包详解格式化输出函数func Print(a …interface{}) (n int, err error)Print采用默认格式将其参数格式化并写入标准输出。如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格,返回写入的字节数和遇到的任何错误。func Printf(format string, a …interface{}) (n int, err error)Printf根据format参数生成格式化的字符串并写入标准输出,返回写入的字节数和遇到的任原创 2021-03-11 12:08:32 · 321 阅读 · 1 评论 -
Go语言程序结构
Go语言程序结构Go语言变量变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。Go语言是静态类型语言,不能在运行期间改变变量类型。使用关键字 var 定义变量,自动初始化为零值。如果提供初始化值,可省略变量类型,由编译器自动推断。Go语言中变量可以在三个地方声明:函数外定义的变量称为全局变量函数内定义的变量称为局部变量函数定义中的变量称为形式参数接下来让我们具体了解全局变量、局部变量和形式参数。全局变量在函数体外声明的变量称之为全局变量,全局变量可以原创 2021-03-06 16:30:24 · 149 阅读 · 1 评论 -
Go语言基础
Go语言基础Go语言介绍Go语言简介Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go语言主要特征1、可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。2、静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。3、语言层面原创 2021-03-06 16:26:31 · 66 阅读 · 0 评论 -
云原生技术之 Kubernetes(一)
Kubernetes 单点安装一、环境准备二、KubernetesInstallMaster配置1.安装CFSSL工具2.生成ETCD证书3.安装启动ETCD4.安装Docker5.安装Kubernetes6.生成分发Kubernetes证书7.master节点配置8.Master上安装node节点Node节点配置1.Docker安装2.分配证书3.Node节点配置4.创建 nginx代理5.认证原创 2020-09-24 17:27:25 · 631 阅读 · 0 评论 -
云计算技术之 OpenStack
.1 云计算简介云计算(英语:cloudcomputing ),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。1.1.1 云计算的特点互联网原创 2020-09-24 16:29:47 · 1257 阅读 · 0 评论 -
虚拟化技术之 KVM (一)
1.1 前言1.1.1 什么是虚拟化?在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。图 – 虚拟化示意图由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和数据存储。由于原创 2020-09-24 15:45:58 · 1105 阅读 · 0 评论 -
虚拟化实现之 LXC (四)
1.1 LXC是什么?1.1.1 关于LXCLXC,其名称来自Linux软件容器(LinuxContainers)的缩写,一种操作系统层虚拟化(Operating system–levelvirtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的名字空间和共用API来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得Linux用原创 2020-09-24 15:33:36 · 2777 阅读 · 0 评论 -
虚拟化实现之 docker(三)
网络管理1.13.1docker的网络类型类型说明None不为容器配置任何网络功能,没有网络 –net=noneContainer与另一个运行中的容器共享Network Namespace,–net=container:containerIDHost与主机共享Network Namespace,–net=hostBridgeDocker设计的NAT网络模型**(默认类型)**Bridge默认docker网络隔离基于网络命名空间,在物理机上创建dock原创 2020-09-24 15:27:50 · 240 阅读 · 0 评论 -
虚拟化实现之 docker(二)
官网:https://docs.docker.com/v18.03/Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像rootfs运行,并由该镜像提供支持进程所需的全部文件。容器镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。1:chroot,ldd2:lxc namespace(6大命名空间)和cgroup3:docker和kvm区别,docker镜像基础操作,docker容器日常操作,commit制作镜像,dockfile来自动构原创 2020-08-14 15:41:14 · 252 阅读 · 0 评论 -
CNCF开源项目概述
目录CNCF简介KubernetesEnvoy Proxy需求背景Envoy Proxy简介CoreDNS简介架构原理TUF简介Jaeger简介架构Vitess简介etcd简介应用场景NATS简介使用场景CloudEventsPrometheus简介监控的目标与常见监控系统比较常用的监控系统的不足Prometheus的优势gRPCgRPC简介什么是RPC特性基于HTTP/2IDL使用ProtoBuf多语言支持(C, C++, Pytho转载 2020-09-24 14:26:27 · 1099 阅读 · 0 评论 -
Sidecar模式:下一代微服务架构的关键
Sidecar设计模式正在收到越来越多的关注和采用。作为Service Mesh的重要要素,Sidecar模式对于构建高度高度可伸缩、有弹性、安全且可便于监控的微服务架构系统至关重要。而Service Mesh也已经被证明,正在改变企业IT的“游戏规则”,它降低了与微服务架构相关的复杂性,并提供了负载平衡、服务发现、流量管理、电路中断、遥测、故障注入等功能特性。什么是Sidecar模式?Sidecar模式是一种将应用功能从应用本身剥离出来作为单独进程的方式。该模式允许我们向应用无侵入添加多种功能,避免了转载 2020-09-24 10:43:20 · 561 阅读 · 0 评论 -
虚拟化实现之 docker(一)
Docker部署文档官方安装文档地址Docker安装一、环境[root@linux-node1 ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@linux-node1 ~]# uname -r3.10.0-693.el7.x86_64二、docker的版本选择因为测试版、实验版的版本号格式不统一,所以通过制定版本的方式安装可能存在问题。Ubuntu的测试版、实验版的版本号格式示例: 1.12.0~r原创 2020-05-14 17:19:38 · 145 阅读 · 0 评论