关于分布式/集群/微服务的一个理解
关于分布式/集群/微服务的一个理解 分布式:不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题 集群:同一个业务部署在多台机器上,提高系统可用性 微服务:一个大服务被拆成多个小服务,提高可拓展性以及可用性 举例 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。 为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。 而微服务则是将厨房这整个部门分成: 一个专门的切菜部, 洗菜部, 备菜部, 炒菜部...,每个部如果忙不过来了,还可以继续横向扩展多个同部门
记一次生产项目的实施部署
记一次生产项目的实施部署<谨供参考> 架构图 0001机器docker安装 更新yumyum update 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源sudo yum install -y yum-utils yum添加软件源sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo 然后刷新缓存sudo yum makecache fast 然后安装docker-cesudo yum install docker-ce 启动 dockersudo systemctl start docker 验证是否安装成功sudo docker info 开机启动sudo systemctl enable docker docker-compose安装1将docker-compose文件上传到 /usr/local/bin/ 文件夹下,修改此文件的权限,增加可执行:chmod +x ...
本地事务和分布式事务
本地事务本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则: 基本概念事务的概念:事务是逻辑上一组操作,组成这组操作各个逻辑单元,要么一起成功,要么一起失败。 事务的四个特性(ACID): 原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可。事务的原子性要求事务中的所有操作要么都执行,要么都不执行。 一致性(consistency):“一致”指的是数据的一致,具体是指:所有数据都处于满足业务规则的一致性状态。一致性原则要求:一个事务中不管涉及到多少个操作,都必须保证事务执行之前数据是正确的,事务执行之后数据仍然是正确的。如果一个事务在执行的过程中,其中某一个或某几个操作失败了,则必须将其他所有操作撤销,将数据恢复到事务执行之前的状态,这就是回滚。 隔离性(isolation):在应用程序实际运行过程中,事务往往是并发执行的,所以很有可能有许多事务同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。隔离性原则要求多个事务在并发执行过程中不会互相干扰。 持久性(dura...
windows查看自己的电脑支持的内存规模
windows查看自己的电脑支持的内存规模 最近打算趁着618给自己的电脑升级下内存,所以记录下怎么"内存"怎么买才合适 确定好自己的电脑最大支持的内存是多少 123451. 进入cmd2. 在命令窗口输入“wmic memphysical get maxcapacity”然后敲下回车键。3. 然后电脑会给出一串以千字节为单位的数字。我们再把这串数字换算成我们常见的GB单位的。 换算方法是:“得出来的数字/(除以)1024/(除以)1024“ 我的是33554432,换算成GB就是32G 查看自己的内存规格 121. 进入任务管理器2. 在内存模块的右侧就是显示内存规格的地方 查看自己的内存条属于DDR几 1234567891.运行cmd2.输入wmic回车3.输入memorychip回车4.往右拉找到Speed Status下面的数字,如果是133-266就是属DDR1400-800就是DDR21066-1600就是DDR31866-3200就是DDR4 查看内存工作频率
GitLabPipeline语法
GitLabPipeline语法
gitlab-runner的一些配置相关
设置并行度 默认concurrent设置了1,只能有1个job并行执行,把concurrent参数改一下,比如改成6,就可以一次并行6个job了 1vim /etc/gitlab-runner/config.toml 修改打包路径 默认存放在/home/gitlab-runner,是存放在系统盘 全局修改方法1vim /etc/systemd/system/gitlab-runner.service 把基础目录改成:想要改动的路径 重启runner 12systemctl daemon-reloadsystemctl restart gitlab-runner 注意需要给gitlab-runner-build-dir目录权限 局部修改,针对每个runner修改修改文件 1vi /etc/gitlab-runner/config.toml 重置执行目录:想要改动的路径 重启runner 1gitlab-runner restart (默认启动项目会作用在gitlab-runner用户下)修改 gitlab runner 默认...
GitLabCI VS Jenkins
GitLabCI VS JenkinsJenkins 是一个广泛用于持续集成的可视化 web 自动化工具,jenkins 可以很好的支持各种语言的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成,而且插件众多,在这么多年的技术积累之后,在国内大部分公司都有使用Jenkins。 gitlab-CI是gitlab8.0之后自带的一个持续集成系统,中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试,编译,部署等一系列自定义的内容。 gitlab-CI的脚本执行,需要自定义安装对应gitlab-runner来执行,代码push之后,webhook检测到代码变化,就会触发gitlab-CI,分配到各个Runner来运行相应的脚本script。这些脚本有的是测试项目用的,有的是部署用的。 差异点对比分支的可配置性 使用GitLab CI,新创建的分支无需任何进一步配置即可立即使用CI管道中的已定义作业。 Jenki...
搭建Jenkins+Github持续集成环境
1.安装jenkins12345678910111213141516171819环境:CentOS 7.0安装方式:$ yum install yum-fastestmirror -y #安装自动选择最快源的插件#添加Jenkins源:$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key$ yum install jenkins #安装jenkins启动方式:$ sudo service jenkins start访问方式:浏览器输入http://your server ip:8080/更改配置(如端口)方式:$ vim /etc/sysconfig/jenkins$ sudo service jenkins restart 2.jenkins基础配置 经过上面的配置,你可以访问你的Jenki...
CentOS7修改Docker容器和镜像默认存储位置
注: 目前发现在迁移过程中nexus服务会丢文件(迁移之前一定要做好测试) 转: https://segmentfault.com/a/1190000040326126 CentOS7修改Docker容器和镜像默认存储位置通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录。当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮。所以现在是时候把故障排除放在如何改变docker的默认存储位置了 在试图改变Docker的默认存储位置时,我们必须知道一些重要的信息。 docker 当前使用的默认存储位置docker 当前使用的存储驱动程序镜像和容器要存放的新存储空间 Docker 默认的位置在/var/lib/docker,当前所有的镜像、容器都存储在这儿。如果你有任何在运行的容器,停止这些容器,并确保没有容器在运行,然后运行以下命令,确定当前Docker使用的存储驱动。 1、查看docker当前信息注:此处需要注意docker的两个信息: Storage Driver: ov...
