jenkins-pipeline-编译项目并上传Harbor
案例:过三关程序编译上传docker123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126pipeline { agent any parameters { string defaultValue: '', description: 'Image的版本号', name: 'dockerVersion', trim: true string defaultValue: '' ...
jenkins-pipeline部署过三关项目
案例:过三关程序编译上传docker123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126pipeline { agent any parameters { string defaultValue: '', description: 'Image的版本号', name: 'dockerVersion', trim: true string defaultValue: '' ...
jenkins-pipeline_svn+ssh文件拷贝linux构建部署
功能:svn+编译+上传服务器+备份回滚
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394pipeline { agent any parameters { choice choices: ['deploy', 'rollback'], description: '''deploy:发布rollback:回滚''', name: 'deploy_env' text defaultValue: '0', description: '回滚版本号,发布时忽略该参数' ...
Jenkins安装部署
Docker安装jenkinsDocker版的Jenkins中使用docker的功能
Dockerfile
12345678910111213141516171819202122FROM jenkins/jenkins:ltsUSER root#设置时区# CentOSRUN echo "Asia/shanghai" > /etc/timezone# UbuntuRUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#清除了基础镜像设置的源,切换成阿里云的jessie源RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \ && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \ && echo " ...
RabbitMQ组件设计和架构设计
一 设计理念图
二 组件实现功能点
支持消息高性能的序列化转换,异步化发送消息
支持消息生产实例与消费实例的连接池化缓存化,提升性能
支持可靠性投递消息,保障消息的100%不丢失
支持消费端的幂等操作,避免消费端重复消费的问题
支持迅速消息发送模式,在一些日志收集/统计分析等需求下可以保证高性能,超高吞吐量
支持延迟消息模式,消息可以延迟发送,指定延迟时间,用于模型延迟检查,服务限流场景
支持事务消息,且100%保障可靠性投递,在金融行业单笔大金额操作时会有此类需求
支持顺序消息,保证消息送达消费端的前后顺序,例如下订单等符合操作
支持消息补偿,重试,以及快速定位异常/失败消息
支持集群消息负载均衡,保障消息落到具体SET集群的负载均衡
支持消息路由策略,指定某些消息路由到指定的SET集群
RabbitMQ集群部署与故障处理
[TOC]
RabbitMQ集群一. 集群架构模式
主备模式:实现RabbitMQ的高可用集群,一般在并发和数量不高的情况下,这种模型非常的好用且简单.主备模式也称之为Warren模式.
远程模式:远距离通信和复制,所谓Shovel就是我们可以把消息进行不同数据中心的复制工作,我们可以跨地域让两个mq集群互联
镜像模式:保证100%数据不丢失,在实际工作中用的最多.
多活模式:这种模式也是实现异地数据复制的主流模式,因为Shovel模式配置比较复制,所以一般来说实现异地集群都是使用这种双活或者多活模式来实现的.这种模型需要依赖rabbitmq的federation插件,可以实现持续的可靠的AMQP数据通信,多活模式在实际配置与应用非常的简单.
Federation 只接收具有订阅的消息
二. 镜像模式的集群部署1. 节点说明
服务器
hostname
节点部署程序
192.168.0.115
rabbit3
rabbitmq,Haproxy,keepalived
192.168.0.111
rabbit1
rabbitmq,Haproxy,keepalived
...
RabbitMQ的知识和使用
一 Rabbitmq简介*rabbitmq是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,rabbitmq是使用二郎语言来编写的,并且rabbitmq是基于AMQP协议的.
1. 特点
与springAMQP完美的整合,API丰富
集群模式丰富,表达式配置,ha模式,镜像队列模式
保证数据不丢失的前提做到高可靠性,可用性
二 AMQP协议1. 定义是具有现代特征的二进制协议.是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.
2. 核心概念
Server:又称Broker,接受客户端的连接,实现AMQP实体服务
connection:连接,应用程序与broker的网络连接
Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道.客户端可建立多个Channel,每个Channel代表个会任务.
message:消息,服务器和应用程序之间传送的数据,由properties和body组成.properties可以对消息进行修饰,比如消息的优先级,延迟等高级特性 ...
分布式事务总结
GitHub地址分布式事务知识SpringCloud整合
简介
什么是事务
事务是以一种可靠,一致的方式,访问和操作数据库中数据的程序单元
原则
原子性
一致性
隔离性
持久性
sql版的事务
案例教程:http://www.runoob.com/mysql/mysql-transaction.html12345begin; # 开始事务insert into runoob_transaction_test value(5);insert into runoob_transaction_test value(6);commit; # 提交事务rollback; # 回滚
mysql的查询锁
12345# 加入FOR UPDATE就会获取锁,但是会锁住全表SELECT * FROM T_USER FOR UPDATE# 加入where条件,则只会锁住符合条件的那条数据SELECT * FROM T_USER WHERE id=1 FOR UPDATE
Spring事务spring事务机制
提供统一的API接口支持不同的资源
提供声明式事务管理
方便的与Spri ...
Socks5搭建
Socks5下载下载地址:http://sourceforge.net/projects/ss5/files/
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#通过yum安装ss5 依赖包:yum install gcc openldap-devel pam-devel openssl-devel# 解压,"ss5-3.8.9-8.tar.gz"是刚才下载的压缩包# -v过程显示文件 -z解压/压缩gzip -x解压操作 -f 后面加要操作的文件tar -vzx -f ss5-3.8.9-8.tar.gzcd ss5-3.8.9/# configure是一个shell脚本# 主要的作用是对即将安装的程序进行配置,# 检查当前的环境是否满足要安装程序的依赖关系.# 如果系统环境合适,就会生成makefile,否则会报错。./configure# make是一个命令工具# 解释 Makefile 中的规则。# Makefile文件中 ...
Frp内网穿透搭建和使用
[TOC]
一. 简介和注意点
官方中文文档地址
安装包下载地址
二. 搭建部署(0.24.1)1. 服务端部署第一种部署方式:安装包
下载安装包 123456789101112# 设置shell环境变量frp版本export FRP_VERSION=0.24.1# 下载并解压为frpswget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz \&& tar -xf frp_${FRP_VERSION}_linux_amd64.tar.gz \&& mkdir frps \&& cp frp_${FRP_VERSION}_linux_amd64/frps* frps/ \&& rm -rf frp_${FRP_VERSION}_linux_amd64*# 进入目录c ...