- 博客(112)
- 资源 (7)
- 收藏
- 关注
原创 postgresql定时任务-pg_cron
pg_cron是Citus Data研发的一个PostgreSQL扩展。它包含一个后台工作程序 (pg_cron scheduler),用于在服务器端执行数据库任务。它使用与常规cron相同的语法,允许直接从数据库定期执行PostgreSQL命令。
2023-01-09 18:33:28
341
原创 Ansible - templates实战
templates是ansible的一个模块,其功能是根据模版文件动态生成配置文件,templates文件必须存放于templates目录下,且命名为.js结尾,yaml/yml文件需要和templates目录平级,这样我们在yml文件中调用模版的时候,就不需要写模版文件的路径,否则需要描述模版文件的路径,应为template模版会自动去找template目录下的模版文件。
2022-10-01 20:03:10
641
原创 psycopg2离线安装
在安装python依赖包psycopg之前,你必须需要先安装postgresql数据库的相关组件:postgresql-devel,postgresql,postgresql-libs
2022-08-20 17:09:43
804
原创 Citus-2阶段提交功能验证
2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。
2022-07-21 14:20:13
77
原创 Citus读写分离功能验证
在Worker/Coordinator备节点设置读分离参数,alter system set citus.use_secondary_nodes=always;
2022-07-21 10:27:42
136
原创 序列主备流复制是否同步验证序列
1、14版本中备库sequence值为主库last_value+log_cnt的值,因此主备切换后,无需同步Sequence。2、其他版本如需在备库更新Sequence最新值,则执行下列操作:
2022-07-11 17:31:40
59
原创 Postgres-on conflict do 引起的core宕问题
upsert功能是PostgreSQL 9.5 引入的一项新功能:当插入遇到约束错误时可直接返回,或者改为执行UPDATE。在批量更新数据场景下,如果使用on conflict会引起异常core宕。on conflict 功能请慎用。
2022-07-05 00:01:42
197
原创 consul-启动失败 data目录permission denied
pigsty consul: ==> Error getting info on data_dir: stat /data/consul: permission denied
2022-06-21 15:22:23
506
原创 consul-禁止updates检查
vi /etc/consul.d/consul.json#新增参数"disable_update_check": true,
2022-06-20 23:29:37
349
原创 PostgreSQL主从切换-手动
主备切换需确保备库状态为“in archive recovery”,然后执行切换命令pg_ctl promote
2022-05-18 00:03:51
1802
原创 RocketMQ-Broker异常恢复后部分队列重新加载已消费消息问题解决
问题描述 线上Broker所有在主机IO异常,导致Broker异常退出,主机问题解决后,重启Broker,发现group-A的几个consumeQueue,diff值有几十万,而通过查看日志信息发现该Group的consumeQueue只有几个消息未被消息,那么只能说明Broker异常恢复后将已经消费过的消息重新加载到了consumeQueue中,即:consumeQueue在Bro...
2019-10-11 17:37:07
1598
原创 RocketMQ-延迟消息处理流程
概述RocketMQ 支持发送延迟消息,但不支持任意时间的延迟消息的设置,仅支持内置预设值的延迟时间间隔的延迟消息;预设值的延迟时间间隔为:1s、 5s、 10s、 30s、 1m、 2m、 3m、 4m、 5m、 6m、 7m、 8m、 9m、 10m、 20m、 30m、 1h、 2h;在消息创建的时候,调用 setDelayTimeLevel(int level) 方法设置延迟时...
2019-08-23 10:30:31
5762
1
原创 RocketMQ-延迟队列
问题思考延迟队列的应用场景 延迟级别是如何配置的? 如何发送延迟消息? 延迟消息的实现原理应用场景超时未支付订单处理场景 短信延迟发送延迟级别是如何配置的在服务端Broker的属性配置文件中加入messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h该配置描述了延迟...
2019-08-22 16:52:23
5947
1
原创 RocketMQ-死信队列
问题思考死信队列的应用场景 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限 死信队列如何消费?应用场景一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续处理;数据是如何产生的?重试队列在重试16次(默认次数)将消息放入死信队列参考:https://blog.csdn.net/hqwang4...
2019-08-21 17:49:16
10559
1
原创 RocketMQ-重试队列
什么场景下使用重试队列消费端一直不回传消费结果,MQ认为消息没有收到,Consumer下一次拉取,Broker依然会发送该消息,所以,任何异常都要返回ConsumeConcurrentlyStatus.RECONSUME_LATER,这样MQ会将消息放到重试队列;重试队列名称为:%RETRY%+consumergroup配置Broker配置如下:messageDelayLeve...
2019-08-21 16:31:07
4685
原创 RocketMQ-消息拉取Pull
一、问题思考消息拉取在实践过程中,有以下几个问题需要考虑:1、如何全量拉取消息?2、如何指定MessageQueue从指定offset处拉取消息?3、如何更新MessageQueue的Offset标志位?4、Pull模式下如何实现负载均衡?二、Pull模式下常用Demo1、更新MessageQueue的Offset标志位consumer.updateConsume...
2019-08-16 17:36:46
2206
2
原创 RocketMQ-消息发送
一、问题思考1、DefaultMQProducerImpl如何发送多个topic消息?2、如何选取MessageQueue?3、发送失败是如何进行重试的?4、超时时间怎么判断?二、消息发送流程1、获取TopicPublishInfo 根据msg.topic从topicPublishInfoTable中获取TopicPubl...
2019-08-16 17:06:06
257
原创 Dubbo--利用Filter记录接口调用信息处理耗时
需求上层业务系统在调用底层的服务的时候,底层系统需要记录全部的入参、出参和处理耗时。设计Dubbo的Filter机制,是专门为服务提供方和服务消费方调用过程进行拦截设计的,每次远程方法执行,该拦截都会被执行。这样就为开发者提供了非常方便的扩展性,比如为dubbo接口实现ip白名单功能、监控功能等等。自定义FIlter实现方法很简单,分为3个步骤:1、自定义Filter,必须继承c...
2019-06-25 17:16:56
2626
原创 Dubbo--并发优化参数不同值对应用影响验证
需求描述验证dubbo并发优化时actives,executes参数不同值对应用的影响;测试场景 业务量(条) threads actives executes 场景1 12 4 0 2 场景2 12 4 0 4 场景3 12 4 0 6 场景4 12 4 ...
2019-06-12 16:31:19
231
原创 Oracle分区表中不同分区类型适用场景及验证
背景线上业务清单表数据有2.4亿条,业务场景主要:清单插入,清单查询(业务量较少),数据统计等;考虑通过分区提升数据统计性能,Oracle分区有范围分区、哈希分区、列表分区等,不同分区适用场景应该是有区别的,本文档通过测试,验证并总结范围分区、哈希分区的适合场景;测试环境分别使用范围分区、哈希分区创建临时表,并建立索引,然后倒入7000万条数据;测试一:聚合操作分别执行如下...
2019-06-05 11:58:28
1981
原创 RocketMQ-主节点异常Crash,验证MQ稳定性
测试目标1、主节点异常Crash,验证消息是否可以正常发送2、验证备节点消息是否可以正常消费3、验证主备节点消息是否有差异4、主节点恢复后,验证生产者和消费者的处理情况测试过程MQ-Cluster采用2m-2s-async部署模式;MQ集群正常启动,Producer程序启动,通过Kill Broker-a主节点模拟Crash;延迟启动Consumer(模拟消息堆积)...
2019-05-23 17:24:16
610
原创 RocketMQ--MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy
分析业务日志发现:每天4点左右会报少量的”[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 206ms, size of queue: 5“错误Broker设置每天自动清理文件的时间是4点中,和Timeout时间比较吻合,那么问题可能就是因为清理文件造成IO突增,导致写数据...
2019-05-22 15:15:58
9410
原创 RocketMQ-4.4.0集群安装
安装包准备下载RocketMQ源码,地址:https://github.com/apache/rocketmq/tree/release-4.4.0将rocketmq-master导入到Eclipse中,编译:mvn -Prelease-all -DskipTests clean install -U系统参数调优使用root用户执行 os.sh脚本JDK安装export J...
2019-01-25 15:40:01
1407
原创 DBCP连接池问题分析
背景 生产环境,运维人员核对实时账单和累帐信息,发现有部分用户数据不一致;问题描述消费者日志报生产者线程池满图1生产者堆栈信息部分如下:图2问题分析数据不一致产生原因:累帐表数据是消费者SumCharge服务更新,更新完成后调用生产者AccountProcess服务,由于生产者服务处理慢导致返回超时,更新实时账单表失败;生产者Accou...
2018-10-16 21:43:04
1090
原创 ELK学习--rvm安装,解决缺少公钥问题
问题描述安装rvm时,报“gpg: 无法检查签名:没有公钥”curl -sSL https://get.rvm.io | bash -s stable解决方案1、执行命令,获取公钥gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E32、切换...
2018-09-28 22:23:20
529
原创 ELK学习--Elasticsearch-head插件安装
安装node由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。下载地址:https://nodejs.org/dist/解压:tar zxvf node-v4.4.7-linux-x64.tar.gz修改Profile配置文件vi .bash_profile保存后执行命令使配置生效:source ~/.bash_profi...
2018-09-20 21:57:28
481
原创 ELK学习--Logstash5.6.5安装及配置
Logstash是ELK中负责收集和过滤日志的。 下载地址https://www.elastic.co/downloads/past-releases安装1、解压tar zxvf logstash-5.6.5.tar.gz2、运行一个简单例子./logstash -e 'input { stdin { } } output { stdout {} }'在命令行输...
2018-09-18 16:29:17
1392
原创 ELK学习--Kibana 5.6.5 安装
下载地址https://www.elastic.co/downloads/past-releases安装1、解压tar zxvf kibana-5.6.5-linux-x86_64.tar.gz2、修改配置文件cd kibana-5.6.5-linux-x86_64/configvi kibana.yml3、启动 ...
2018-09-18 11:44:32
443
原创 APM学习--Skywalking安装(5.0.0版本)
RequirementsJDK 6+(instruments application can run in jdk6)JDK8 ( SkyWalking collector and SkyWalking WebUI )Elasticsearch 5.x, cluster mode or not下载安装包http://skywalking.apache.org/downloads...
2018-08-31 16:22:10
2265
原创 ELK学习--Elasticsearch-5.6.x版本安装
一、下载Elasticsearch去官网直接下载,我使用的是5.6.5版本,下载地址参考:https://www.elastic.co/downloads/past-releases二、Java环境查看Java环境,建议使用Jdk8三、安装ES1、创建es目录mkdir es2、将elasticsearch-5.6.5.tar.gz上传到主机并解压;tar ...
2018-08-28 17:14:06
436
原创 RabbitMQ学习-HelloWorld(Spring集成完整版)
生产者:MQProducer.javapackage com.gdf.example.rabbitmq.helloworld.service;public interface MQProducer { void send(String key, Object object);}MQProducerImpl.javapackage com.gdf.example.rab...
2018-08-16 14:47:52
155
原创 RabbitMQ学习-vhost 详解
vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、绑定、交换器和权限控制;vhost通过在各个实例间提供逻辑上分离,允许你为不同应用程序安全保密地运行数据;vhost是AMQP概念的基础,必须在连接时进行指定,RabbitMQ包含了默认vhost:“/”;当在RabbitMQ中创建一个用户时,用户通常会被指派给至少一个vhost,并且只能访问被指派vhost内的...
2018-08-15 16:13:02
10437
原创 RabbitMQ学习--“java.lang.NoSuchMethodError: com.rabbitmq.client.ConnectionFactory.newConnection”问题解决
问题描述:Spring-RabbitMQ集成后报“java.lang.NoSuchMethodError: com.rabbitmq.client.ConnectionFactory.newConnection”异常问题解决: 查看lib目录存在rabbitmq-client-1.3.0.jar,存在该方法,那说明应该是类互相冲突,导致使用了其他包内的ConnectionF...
2018-08-09 22:37:23
8173
5
原创 RabbitMQ学习--HelloWorld(Java)
amqp-client下载:http://mvnrepository.com/artifact/com.rabbitmq/amqp-client依赖Jar包: <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client...
2018-08-08 23:29:15
120
原创 RabbitMQ学习--权限问题
异常信息如下:Exception in thread "main" java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106) at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102) at...
2018-08-08 23:02:38
207
原创 RabbitMQ学习--安装
一、安装Erlang1、安装erlang依赖的基本环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl openssl-devel xmlto zip unzip2、下载安装Erlang下载从Erlang的官网 http://www.erlang.org/download.html 下载最...
2018-08-07 19:01:12
234
原创 RabbitMQ学习--“libcrypto.so.10(OPENSSL_1.0.2)”问题解决
Erlang rpm包安装过程zh哦那个报如下错误:“需要:libcrypto.so.10(OPENSSL_1.0.2)(64bit)”1、下载openssl-libs-1.0.2k-12.el7.x86_64.rpm包:http://rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10%28OPENSSL_1.0.2%...
2018-08-06 22:42:45
15268
原创 CentOS 本地iso挂载并配置iso镜像作为yum源安装软件
1、前提条件 操作系统:CentOS7 ISO文件:CentOS7的ISO镜像一个2、使用图形化界面挂载ISO镜像 3、使用命令行挂载ISO镜像ls -l /dev | grep cdrom #找到光盘的完整路径4、使用命令挂载mount /dev/cdrom /mnt/5、查看挂载状态 df -h 命令6、使用本地iso...
2018-08-01 17:03:48
9194
原创 Mybatis的insert into select命令未结束问题解决
Mybatis中使用insert into select命令,错误如下:Exception in thread "main" org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命...
2018-07-05 16:25:46
8892
RocketMQ-4.2.0编译完成并部署验证
2018-01-24
C++编程规范(面向对象)
2009-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人