master

Git 工作流程

主宰稳场 提交于 2020-03-11 13:23:25
Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。”工作流程”在英语里,叫做”workflow”或者”flow”,原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。 本文介绍三种广泛使用的工作流程: Git flow Github flow Gitlab flow 如果你对Git还不是很熟悉,可以先阅读下面的文章。 《Git 使用规范流程》 《常用 Git 命令清单》 《Git 远程操作详解》 一、功能驱动 本文的三种工作流程,有一个共同点:都采用”功能驱动式开发”(Feature-driven development,简称FDD)。 它指的是,需求是开发的起点,先有需求再有功能分支(feature branch)或者补丁分支(hotfix branch)。完成开发后,该分支就合并到主分支,然后被删除。 二、Git flow 最早诞生、并得到广泛采用的一种工作流程,就是Git flow 。 2.1 特点 它最主要的特点有两个。 首先,项目存在两个长期分支。 主分支master 开发分支develop 前者用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版;后者用于日常开发,存放最新的开发版。 其次,项目存在三种短期分支。 功能分支(feature

redis主从保证数据一致性

ぃ、小莉子 提交于 2020-03-11 13:19:26
redis主从保证数据一致性 前言 在redis中 为了保证redis的高可用 ,一般会搭建一种集群模式就是 主从模式。 主从模式可以保证redis的高可用,那么redis是怎么保证主从服务器的数据一致性的,接下来我们浅谈下redis主(master)从(slave)同步的原理。 初次全量同步 当一个redis服务器初次向主服务器发送salveof命令时,redis从服务器会进行一次全量同步,同步的步骤如下图所示: slave服务器向master发送psync命令(此时发送的是psync ? -1),告诉master我需要同步数据了。 master接收到psync命令后会进行BGSAVE命令生成RDB文件快照。 生成完后,会将RDB文件发送给slave。 slave接收到文件会载入RDB快照,并且将数据库状态变更为master在执行BGSAVE时的状态一致。 master会发送保存在缓冲区里的所有写命令,告诉slave可以进行同步了 slave执行这些写命令。 3. 命令传播 slave已经同步过master了,那么如果后续master进行了写操作,比如说一个简单的set name redis,那么master执行过当前命令后,会将当前命令发送给slave执行一遍,达成数据一致性。 4. 重新复制 当slave断开重连之后会进行重新同步,重新同步分完全同步和部分同步

APP Git协作流程

落花浮王杯 提交于 2020-03-11 12:55:05
一、协作流程参照下图 二、分支简介 master分支: 永远处于稳定状态,这个分支代码可以随时用来部署。不允许在该分支直接提交代码。 develop分支: 开发分支,包含了项目最新的功能和代码,所有开发都在develop上进行。一般情况下小的修改,不紧急上线直接在这个分支上提交代码。 feature分支: 如果要改的一个东西会有比较多的修改,或者改的东西影响会比较大,请从develop分支开出一个feature分支,分支名约定为feature/xxx release分支: 来做发布前的准备,分支名约定为release/*** hotfix分支: 发现线上的代码(也就是 master)有 bug,但是这个时候我们的 develop 上的有些功能还没完成,还不能发布,这个时候我们可以从 master 分支上开出一个 hotfix 分支(记住:直接在 master 上提交代码是不允许的!),分支名约定为hotfix/xxx,在这个分支上修改完 bug 后需要把这个分支同时合并到 master 和 develop 分支 三、具体的操作流程 1、创建分支或者拉取远程仓库别人创建的分支 //创建分支并提交到远程仓库 git checkout -b feature/newFunction develop //创建分支并切换到feature/newFunction分支 git push -u

git多人协作

ぃ、小莉子 提交于 2020-03-11 12:53:26
当你从远程仓库克隆时,实际上Git自动把本地的 master 分支和远程的 master 分支对应起来了,并且,远程仓库的默认名称是 origin 用 git remote -v 显示更详细的信息: $ git remote -v 上面显示了可以抓取和推送的 origin 的地址。如果没有推送权限,就看不到push的地址。 推送分支 推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上: git push origin master如果要推送其他分支,比如dev,就改成: $ git push origin dev 但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢? master 分支是主分支,因此要时刻与远程同步; dev 分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步; bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug; feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。这个分支一般是新功能特性分支 多人协作 Reads: 499205 当你从远程仓库克隆时,实际上Git自动把本地的 master 分支和远程的 master 分支对应起来了,并且,远程仓库的默认名称是 origin 。

redis系列-主从复制

[亡魂溺海] 提交于 2020-03-11 08:57:20
redis自身提供了主从的机制,通过配置可以实现服务的备份(Master->Slave)。 配置项 slaveof <masterip> <masterport> masterauth <master-password> <master password=""> //如果master设置了requirepass password </master> 复制流程 Slave启动或重新与Master连接时,向Master发送SYNC Master收到SYNC判断后台是否有正在进行的内存快照保存子进程,没有则启动一个快照保存子进程,有则等待快照保存完成,将快照文件传送给要求同步的Slave Slave收到快照文件后,清空内存,加载该快照 Master在保存快照过程中,会把改变数据集的命令缓存到一队列中,后续依次发给Slave;在以后的连接未中断过程中,会逐一发送写命令到Slave 使用注意 1.通常Master可以配置成只写、不保存,Slave负责对外读、以及持久化(slave-read-only yes) 2.slave在与Master断开连接或正在同步快照时,通过配置slave可以继续接收读请求或者拒绝请求 slave-serve-stable-data yes //继续提供服务 slave-server-stable-data no//不提供服务,返回错误"SYNC with

redis 安装配置学习笔记

◇◆丶佛笑我妖孽 提交于 2020-03-11 08:56:57
redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://download.redis.io/redis-stable.tar.gz 首先必须要有 gcc 与 make apt-get install gcc apt-get install make 1、解压 root@localhost:~# tar -xvf redis-stable.tar.gz 2、测试 root@localhost:~/redis-stable# ./runtest You need tcl 8.5 or newer in order to run the Redis test 提示需要安装tcl make完成后,在原src目录下,会生成出六个exe(可执行程序),服务端只需要redis-server.exe即可 3、运行redis 后台方式启动redis ./redis-server & 启动redis客户端链接 ./redis-cli 输入ping 返回pong 即为安装成功 扩展知识: redis-cli用法:redis-cli [OPTIONS] [cmd [arg [arg ...]]] -h <主机ip>,默认是127.0.0.1 -p <端口>,默认是6379

zookeeper安装与集群搭建

限于喜欢 提交于 2020-03-11 07:34:08
1.上传zookeeper压缩包到linux系统中 2.解压到/app目录 tar -zxvf zookeeper-3.4.5.tar.gz -C app 3.到conf目录下,修改zoo_sample.cfg为zoo.cfg 4.编辑zoo.cfg 4.1 修改本地存储路径 4.2 添加集群机器,端口 5.在新建的data目录中新建myid,内容为1,这个与刚才编辑的server.1向对应 6.把已经安装好的zookeeper复制到node002,node003中,注意修改data下的myid 7.在bin下启动zookeeper ./zkServer.sh start 为什么zkServer.sh start不可以?只能加上./ 8.查看zookeeper工作状态 ./zkServer.sh status 因为我们配置3台,只启动1台,少于集群配置的一半,zookeeper就不能工作 9.遇到此时遇到几个问题 1.在把zookeeper文件赋复制到另外两个服务器后,在启动./zkServer.sh start 后,jps查看进程,发现提示command not found 解决办法:从新安装jdk,并且重新配置环境变量 2.Zookeeper启动显示成功,zkServer.sh status报错 解决办法:网上查阅资料,有存在相同问题的朋友已解决,此处引入其解决办如下:

redis主从复制

▼魔方 西西 提交于 2020-03-11 01:51:41
主从复制简介:   互联网“三高”架构:     高并发     高性能     高可用   单机redis的风险与问题:     问题1.机器故障       现象:硬盘故障、系统崩溃       本质:数据丢失,很可能对业务造成灾难性打击       结论:基本上会放弃使用redis.     问题2.容量瓶颈       现象:内存不足,从16G升级到64G,从64G升级到128G,无限升级内存       本质:穷,硬件条件跟不上       结论:放弃使用redis     结论:       为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。       即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。   多台服务器连接方案:        主从复制:     主从复制即将master中的数据即时、有效的复制到slave中     特征:一个master可以拥有多个slave,一个slave只对应一个master     职责:       master:         写数据         执行写操作时,将出现变化的数据自动同步到slave         读数据(可忽略)       slave:         读数据  

三节点(Master、Slave1、Slave2)hbase集群的配置(Ubuntu 18.04)

故事扮演 提交于 2020-03-10 19:31:31
** 安装hbase ** hbase下载地址 (我下载的是1.3.6) 下载后缀名为:.tar.gz 的文件 将hbase-1.3.6.tar.gz解压到/usr/local/文件夹下,并改名为hbase: sudo tar - zxf ~ / 下载 / hbase - 1 . 3 . 6 - bin . tar . gz - C / usr / local sudo mv / usr / local / hbase - 1 . 3 . 6 / usr / local / hbase 配置环境变量: vi ~ / . bashrc 如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容: export PATH= $PATH : / usr / local / hbase / bin 编辑完成后,再执行source命令使上述配置在当前终端立即生效: source ~ / . bashrc 添加HBase权限 cd / usr / local sudo chown - R hadoop . / hbase 查看HBase版本,确定hbase安装成功 / usr / local / hbase / bin / hbase version HBase配置 配置/usr/local/hbase/conf/hbase-env.sh,命令如下: sudo vim / usr /

MooseFs 安装

我是研究僧i 提交于 2020-03-10 12:14:15
MooseFs 安装(Centos7) 官方文档 https://moosefs.com/download/#older 部署环境: 192.168.3.157 安装master 安装Chunkservers 192.168.3.114 安装Chunkservers 安装Metaloggers 安装Client 192.168.3.105 安装Client 介绍: Master :负责各个数据存储服务器的管理,空间回收以及恢复,文件操作。 Metaloggers:负责备份master服务器的变化日志文件,在master出现问题时接替工作。 Chunkservers:提供存储空间,进行数据存储,负责连接master。 Client:客户端,可以将moosefs挂载到本地目录达到文件共享,挂载目录和本地目录使用一样。 存储方式:块存储 协议:TCP 适用环境:单集群的大量小文件 安装部署: 1:每台添加yum的key和源. [root@157~]# curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS [root@157 ~]# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d