- 博客(79)
- 收藏
- 关注
原创 【6】Go语言运算符
参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。(了解下就行了,一般算法用的多,当然你也可以写个子网掩码计算器)or运算符,两边只需要成立一个,否则为False。“a>>b”是把a的各二进位全部右移b位。参与运算的两数各对应的二进位相与。参与运算的两数各对应的二进位相或。左右位先相加,再把右边的值赋给左边。左右位先减,再把右边的值赋给左边。左右位先乘,再把右边的值赋给左边。左右位先除,再把右边的值赋予左边。左移n位就是乘以2的n次方。右移n位就是除以2的n次方。左边是否大于等于右边。
2023-01-12 11:34:38 395 1
原创 【5】变量和常量
/类型推到的作用是不会要自己申明类型,编译器通过你的值来推推导出变量类型 var name = "张鹏程" //后面跟着字符串,则编译器自动识别为string类型 vat age = 16 //后面跟着int类型编译器自动识别为int类型。const ( a = iota //此时作为初始的iota,会将常量值初始为0 b //遵循上面的iota,但是iota会自增,此时b的值为 1 c //2 d //3 )常量是相当于变量的概念,常量多用于定义程序运行期间不会改变的那些值,常量在定义时必须加赋值。
2023-01-12 11:34:03 376
原创 【4】Gomodule依赖管理
/格式化文件(不是go.mod文件,是格式化依赖包的文件) go mod edit //添加依赖 go mod edit -require=golang.org/x/text //移除依赖 go mod edit -droprequire=golang.org/x/text。go module是Go1.11版本之后官方推出的版本管理工具,且从Go1.13版本开始Go module作为Go语言默认的以来管理工具。
2022-12-29 09:28:09 1862
原创 【3】Go语言的数据类型
a := "周" b := "张" c := "313" cad := "张" + "周" + "313" abc := fmt.Sprint(a, b, c) //将abc三给变量拼接赋值给abc fmt.Print(abc + "\n") fmt.Print(cad) 周张313 张周313。啊,布尔值都一样,布尔型数据只有两个,一个true和false。但是在Go中,布尔的默认类型是false,且在Go语言中不允许将整型强制转换成布尔类型,以及布尔类型是无法参与数值运算,也无法与其他类型进行转换。
2022-12-29 09:25:39 510
原创 【2】Go语言的语法
我们使用gobuild的话我们会先生成.exe文件,在这个文件里会将程序运行所依赖的库文件包含到可执行文件 中,其实类似docker,这样我们可以在没有Go语言的环境执行Go项目,而go run的话则需要Go语言环境的支持。在Go的程序中,一行代表一个语句的结束,每个语句不需要像 C 家族中的其它语言一样以分号;package main //申明包 import "fmt" /* 这是一个朴实无华的注释 */ func main() { fmt.Printf("mogu") }一、Go语言基础组成。
2022-12-28 16:18:57 640
原创 【1】第一个go程序
package main //创建包 import "fmt" //创建一个main函数 func main() { fmt.Printf("Hello world" ) //打印出Helloworld }前面我们以及将环境装好,现在2022/11/07 13:53,这个时间,伟大的张某将开始写下他第一个程序。也可以直接生产二进制文件再执行。windows跨linux。
2022-12-28 16:18:45 95
原创 Zabbix小实验
案例:对Tomcat的监控 (1)在监控端建立脚本/script/mogu.sh#!/bin/bashnum=0then#判断进程是否存活")thenecho "[$(date "+%Y-%m-%d %H:%M:%S")]进程访问正常" >>/tomcat.zabbix.loglet ++numelseecho "[$(date "+%Y-%m-%d %H:%M:%S")]进程访问不正常" >>/tomcat.zabbix.logfi#判断网址返回码then。
2022-09-22 11:10:46 372
原创 ANSIBLE大全
YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者YAML Ain't Markup Language,即YAML不是XML。不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)特性。
2022-09-21 18:45:20 724
原创 Docker compose部署
将证书生成的CA文件和私钥文件全都位移到nginx目录下 :mv server.key /opt/nginx_compose/nginx mv server.crt /opt/nginx_compose/nginx。生成CA证书 :openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt。删除私钥密码 :openssl rsa -in server.key -out server.key。
2022-09-21 18:39:42 1523
原创 K8s基础架构【1】
一、什么是KubernetesKubernetes(k8s)是一个以容器为中心的基础架构,可以实现在物理集群和虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。满足了应用程序在生产环境中一些通用需求:应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。①Kubernetes 是Google在2014年开源的一个容器集群管理系统,K
2022-09-21 18:35:49 635
原创 Zookeeper
每个Broker服务器在启动时,都会到Zookeeper上进行注册,即创建/brokers/ids/[0-N]的节点,然后写入IP,端口等信息,Broker创建的是临时节点,所有一旦Broker上线或者下线,对应Broker节点也就被删除了,因此我们可以通过zookeeper上Broker节点的变化来动态表征Broker服务器的可用性,Kafka的Topic也类似于这种方式。而临时节点就不一样了,它的生命周期和客户端会话绑定,一旦客户端会话失效,那么这个客户端创建的所有临时节点都会被移除。
2022-09-21 18:30:49 210
原创 rsync远程同步
rsync是一款开源的可以实现全量及增量的本地或远程数据同步备份的有效工具,它能本地复制,远程复制或者远程守护进程方式复制,它提供了大量的参数控制其行为各个方面,并且允许非常灵活的方式来实现文件的传输复制,并且可以通过delta-transfer算法来实现文件对比,从而保证其增量备份。
2022-09-21 18:26:22 348
原创 Harbor仓库
总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。#持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor目录下。执行Harbor安装sh /usr/local/harbor/install.sh。
2022-09-20 08:36:44 890
原创 GitLab搭建
GitLab搭建正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消。
2022-09-19 00:36:11 1216
原创 zabbix
agent后台运行监控目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集,将数据传递给代理proxy端,代理服务器将数据收集发送个Server端,Server端将处理好的保存到数据库中,Web服务器调用数据库数据在前台娴熟图形化界面。
2022-09-19 00:30:45 339
原创 Radis缓存异常以及处理方案(雪崩击穿穿透预热降级)
Redis 是一个完全开源的、遵守 BSD 协议的、高性能的 key-value数据结构存储系统,它支持数据的持久 化,可以将内存中的数据保存在磁盘中,而且不仅仅支持简单的key-value类型的数据,同时还提供list, set,zset ,hash等数据结构的存储,功能十分强大,Redis还支持数据的备份,即master-slave模式 的 数据备份,从而提高可用性。当然最重要的还是读写速度快,作为我们平常开发中最常用的缓存方案被广 泛应用。
2022-09-18 19:12:38 373
原创 Radis高可用
Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后导致数据丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘中,下次重启Redis时利用持久化文件实现数据恢复,除此之外为了进行容灾备份,可以将持久化文件拷贝到异地。
2022-09-18 19:12:03 291
原创 Redis
Redis 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;
2022-09-18 19:11:26 197
原创 Mysql的备份回滚
数据库备份策略大体上可以分为以下几种::每次对数据库进行完整的备份:备份自从上次完全备份后被修改过的文件,下次备份备份的是相对原来的完全备份后增加啊 的差异的文件而不是相对于差异备份后增加的文件:备份相对于前一次备份后被修改的文件。
2022-09-18 19:10:36 742
原创 Mysql主从复制
众所周知数据库在对表数据进行修改时会锁表,而我们生产环境中如果锁表,其他用户将无法对表进行修改,所有我们需要两个数据库,主库负责写数据,从库复制读数据,而且数据库存放的数据很关键,如果只有一台数据库容易出现单点故障我们需要一个从数据库作为热备,而且随着业务量增加,I/O的访问频率增高全由一台数据库对服务器I/O负载较高,所有我们需要多台数据库来分担负载。 但是并不是所有的应用都适合在程序代码中实现读写分离,像一些大型复杂的Java应用,如果在程序代码中实现读写分离对代码改动就较大。
2022-09-18 19:10:05 1125
原创 GFS分布式文件系统
GFS是一个开源的分布式文件系统,由存储服务器,客户端,以及NFS/Samba存储网关组成,没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。 GlusterFS同时也是Scale-Out(横向扩展)存储解决方案Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。
2022-09-18 19:09:38 1196
原创 MYSQL补充SQL语句
SQL查询出来的结果我们可以通过group by来实现,而分组常常结合聚合函数一起使用常用的聚合函数包括计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),而group可以按照一个或多个字段进行分组。我们现在有两张表,一张具体信息表,一张成绩超过60的表,他们两个有相同的字段name,我们通过name连接进行多表查询。 子查询也叫嵌套查询,sql运行的顺序则是先运行子查询后从左往右,子查询可以查询相同的表也可以查询不同的表。...
2022-08-14 23:00:36 461
原创 数据库事务
是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元适用于多用户同时操作的数据库系统的场景,如银行、保险公司及证券交易系统等等通过事务的整体性以保证数据的一致性。...
2022-08-10 18:59:52 414
原创 数据库基础
关系型和非关系型关系型: 关系型数据库就是基于关系模型的数据库系统,而关系模型的数据结构就是简单的二维表非关系型: 非关系数据库也被称作NoSQL(Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式优缺点关系型非关系型存储方式字段和记录对对象信息和属性的描述键值对查询速度格式固定且支持sql查询方便数据结构相对复杂,复杂查询方面稍欠读写速度受限于只能在磁盘中存储,读写速度受磁盘I/O影响。...
2022-08-10 18:58:49 297
原创 haproxy实验
Haproxy 是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及==基于TCP和HTTP==的应用程序代理。
2022-08-06 22:14:36 366
原创 LVS-DR
2.配置VIP地址![[Pasted image 20220801183812.png]]3.我们去内核空间将重定向转发等功能全部禁用。1.安装ipvsadm工具。
2022-08-06 21:53:21 74
原创 LVS+Keepalived
来实现的LVS服务高可用方案,可用通过飘逸VIP保持业务的稳定,通常一个集群有两台服务:主服务器(MASTER)和备份服务器(BACKUP)但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。●core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。●check模块:负责健康检查,常见的方式有端口检查及URL检查。...
2022-08-06 21:48:51 330
原创 LVS负载均衡集群
1.什么是LVSLVS(Linux Virtual Server)即Linux虚拟服务器,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明
2022-08-06 21:44:59 152
原创 数据库基础
数据库大体上分为两种:关系型和非关系型 关系型: 关系型数据库就是基于关系模型的数据库系统,而关系模型的数据结构就是简单的二维表 非关系型: 非关系数据库也被称作NoSQL (Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式 优缺点: 数据: 表: 数据库: 数据库管理系统(DBMS): 数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、 管理和存取的系统软件。它在操作系统的支持下,支持用户对数据
2022-08-05 20:40:15 247
原创 Tomcat
Tomcat是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,Tomcat是为JAVA开发服务的(这边插一嘴,JAVA是世界上最好的语言),基于JDK环境运行(如果你使用ps看是看不到Tomcat的进程,只有JDK的进程),从开发视角,Tomcat是作为Servlet容器,无论是他的两大核心Connector和Container,还是说它的三大组件全都是服务于Servlet。...
2022-07-30 21:38:44 471
原创 Nginx的优化
Nginx可以通过修改内核处理数来完成高并发,但系统中文件句柄数是有限的,所以我们需要修改文件句柄数进行优化。二、对于安全来说,被发现版本号并不是什么好事,所以我们可以选择隐藏版本号。五、进程的创建和调用会占用Cpu资源,所以我们可以设置子进程数来完成对其的优化。三、nginx自带缓存功能将静态页面缓存事件拉长,可以提高复用率减少带宽。四、定期将日志收集和清除,减少存储,需要使用日志切割。对nginx主配置文件进行优化,再单个主机里配置长连接。六、我们还可以从外部入手对php的fpm进程进行优化。...
2022-07-24 17:50:13 1128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人