mysql基础和使用

1mysql安装与客户端连接1.1在主机上安装mysql下面是安装在Centos7系统上#安装前创建用户和数据文件存储文件夹mkdir-p/data/mysqlgroupaddmysqluseradd-gmysqlmysqlchownmysql.mysql-R/data/mysql#安装依赖包yum-yinstallncurses-devel#下载mysql源码wgethttp://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.15.tar.gz#解压tar-zxvfmysql-boost[...]

继续阅读 »

redis基础和使用

官网:http://redis.ioredis定义:是开源、BSD许可、高级的key-value存储系统。可以用来存储字符串、哈希结构、链表、集合,因此常用来提供数据结构服务。1redis安装1.1在主机上安装名称操作下载redis源代码wget

继续阅读 »

kubernetes基础和使用

1Kubernetes基础概念官网:https://kubernetes.ioKubernetes是一个用于容器集群的自动化部署、扩容以及运维的开源平台,它是master-nodes架构,master只需几个来做高可用,任何时候只有一个master在管理集群,nodes可以多个,是真正部署容器的节点。Kubernetes的特点:自动装箱。基于资源和依赖自动部署服务。自我修复。当有一个容器挂了,能够自动启动一个新的同样服务替换故障的容器。自动实现水平扩展。只要物理资源充足,设置触发阈值,可以实现自动实现水平伸缩服务。

继续阅读 »

搭建高可用redis集群

1常见redis集群常见redis集群有RedisCluster、Codis、Twemproxy,其中Codis、Twemproxy是有中心节点的,而RedisCluster是没中心节点,而且是redis内置的集群方案,推荐使用redisCluster集群。redisCluster特点:无中心节点,客户端与redis节点直连,不需要中间代理层。数据可以被分片存储,集群数据加起来就是全量数据。可以通过任意一个节点,读写不属于本节点的数据。管理方便,后续可自行增加或删除节点。由于RedisCluster是分片存储,当集群中一个节点故障时,会损失该节点数据,为了实现高可用,需[...]

继续阅读 »

使用gitlab和gitlab-runner实现DevOps

持续集成和部署相关概念名称说明DevOpsDevOps是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。AD敏捷开发(AgileDevelopment)CI持续集成(ContinuousIntegrat[...]

继续阅读 »

一款漂亮的命令行工具——cmder

cmder是一个增强型命令行工具,可以在windows下实现linux绝大部分命令,选择full版本包含了git、powershell、bash、chocolatey、Cygwin、SDK等功能。官网地址:https://cmder.app/注意:cmder安装的绝对路径不能有非英文字符,例如D:\ProgramFiles(x86)\cmder是非法的。1快捷键用快捷键Win[...]

继续阅读 »

goroutine和channel应用——处理队列

1最简单的worker处理队列方式packagemainimport"time"typeJobintfuncworker(jobChan<-chanJob){forjob:=rangejobChan{//顺序执行,缺点:如果处理过程中有等待或阻塞,会影响整个队列Process(job)//并发执行,如果处理过程中有等待或阻塞,不会影响其他的job,//缺点:并发处理job的goroutine数量不可控,每来一个新job就会启动一个goroutine,不建议这样处理。//通常做法是开启有限个worker[...]

继续阅读 »

golang中的context包

1简介golang中的创建一个新的goroutine,并不会返回像c语言类似的pid,我们不能从外部杀死某个goroutine,只能让它自己结束,之前我们用channel+select的方式来解决这个问题,但是有些场景实现起来比较麻烦,例如由一个请求衍生出的各个goroutine之间需要满足一定的约束关系,以实现一些诸如有效期,中止routine树,传递请求全局变量之类的功能。于是google就为我们提供一个解决方案,开源了context包。context包不仅实现了在程序单元之间共享状态变量的方法,同时能通过简单的方法,使我们在被调用程序单元的外部,通过设置ctx变量值,将过期或撤销这些信号传递给被调用的程序单元。在网络编程中,若存在A调用B的API,B再调用C的API,若A调用B取消,那也要取消[...]

继续阅读 »

搭建个人代码托管git服务

目前主流开源的git服务有gitlab、gogs、gitea三个,gitlab功能最丰富,适合中大型团队使用,但对硬件要求高。gogs和gitea都是一个轻量级、易安装、快速、使用体验良好的自建Git服务,适合小团队或个人使用,对硬件要求很低,其实gitea是gogs的一个分支,因为gitea比较活跃,更新版本比较快,所以选择gitea来搭建git服务,gitea官网,gitea文档。1安装和运行gitea和mysql注:先要安装好docker和docker-compos[...]

继续阅读 »