自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

骑猪喝咖啡

每一个成功者都有一个开始。勇于开始,才能找到成功的路

  • 博客(119)
  • 资源 (7)
  • 收藏
  • 关注

原创 分布式向量数据库-安装部署

向量数据库因为可以为大模型提供记忆而需求倍增,随着AI的热潮开始崭露头角,pgvector与PostgreSQL 强强联合,成为AI浪潮下的崛起新星。

2024-04-11 22:23:20 241

原创 log_error_verbosity参数详解

log_error_verbosity控制每条日志信息的详细程度

2024-02-18 16:59:40 745

原创 Flink-CDC实时读Postgresql数据

CDC(Change Data Capture),变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT, DELETE, UPDATE等。用户可以在如下的场景使用cdc:(1)实时数据同步:比如将Postgresql库中的数据同步到我们的数仓中。(2)数据库的实时物化视图。

2024-02-06 14:37:46 1694 1

原创 Flink-1.18.1环境搭建

home/postgres/flink/flink/bin/config.sh:行32: 未预期的符号 `<' 附近有语法错误 /home/postgres/flink/flink/bin/config.sh:行32: ` done < <(find "$FLINK_LIB_DIR"!不要用sh命令启动,因为这样看第三行报错:bin/config.sh: line 32: ` done < <(find "$FLINK_LIB_DIR"!第 32 行的语法在 sh 中是不支持的,会报语法错误;

2024-02-05 18:00:42 1398

原创 TimescaleDB分布式集群搭建

One of the databases exists on an access node and stores metadata about the other databases. The other databases are located on data nodes and hold the actual data.

2023-12-30 22:21:06 1042 1

原创 TimescaleDB安装部署

TimescaleDB是基于PostgreSQL数据库打造的一款时序数据库,插件化的形式,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。

2023-12-30 16:15:32 570

原创 物化视图功能验证

物化视图(Materialized View)和视图(View)类似,也是一个视图名字对应一个SQL查询查询语句。不同之处在于:物化视图定义时使用了额外的关键字materialized, 它把结果集保存在起来,查询的时候直接读取保存的结果集,而不必扫描原始表。物化视图的结果集(即物化视图自己的数据)的存储和扫描方式和普通表的方式相同。

2023-06-29 18:58:55 223

原创 postgresql定时任务-pg_cron

pg_cron是Citus Data研发的一个PostgreSQL扩展。它包含一个后台工作程序 (pg_cron scheduler),用于在服务器端执行数据库任务。它使用与常规cron相同的语法,允许直接从数据库定期执行PostgreSQL命令。

2023-01-09 18:33:28 2249

原创 ES集群节点角色更换

如何在一个3节点集群中,将Master/Data角色的节点中的数据分散到其他数据节点中,将该节点角色变更为Master

2022-12-23 00:07:34 1588

原创 Ansible - templates实战

templates是ansible的一个模块,其功能是根据模版文件动态生成配置文件,templates文件必须存放于templates目录下,且命名为.js结尾,yaml/yml文件需要和templates目录平级,这样我们在yml文件中调用模版的时候,就不需要写模版文件的路径,否则需要描述模版文件的路径,应为template模版会自动去找template目录下的模版文件。

2022-10-01 20:03:10 965

原创 psycopg2离线安装

​在安装python依赖包psycopg之前,你必须需要先安装postgresql数据库的相关组件:postgresql-devel,postgresql,postgresql-libs​

2022-08-20 17:09:43 1918

原创 Citus-2阶段提交功能验证

2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。

2022-07-21 14:20:13 172

原创 Citus读写分离功能验证

在Worker/Coordinator备节点设置读分离参数,alter system set citus.use_secondary_nodes=always;

2022-07-21 10:27:42 342

原创 序列主备流复制是否同步验证序列

1、14版本中备库sequence值为主库last_value+log_cnt的值,因此主备切换后,无需同步Sequence。2、其他版本如需在备库更新Sequence最新值,则执行下列操作:

2022-07-11 17:31:40 174

原创 Postgres-on conflict do 引起的core宕问题

upsert功能是PostgreSQL 9.5 引入的一项新功能:当插入遇到约束错误时可直接返回,或者改为执行UPDATE。在批量更新数据场景下,如果使用on conflict会引起异常core宕。on conflict 功能请慎用。

2022-07-05 00:01:42 365

原创 consul-启动失败 data目录permission denied

pigsty consul: ==> Error getting info on data_dir: stat /data/consul: permission denied

2022-06-21 15:22:23 1195

原创 consul-禁止updates检查

vi /etc/consul.d/consul.json#新增参数"disable_update_check": true,

2022-06-20 23:29:37 1149

原创 PostgreSQL主从切换-手动

主备切换需确保备库状态为“in archive recovery”,然后执行切换命令pg_ctl promote

2022-05-18 00:03:51 3258

原创 RocketMQ-Broker异常恢复后部分队列重新加载已消费消息问题解决

问题描述 线上Broker所有在主机IO异常,导致Broker异常退出,主机问题解决后,重启Broker,发现group-A的几个consumeQueue,diff值有几十万,而通过查看日志信息发现该Group的consumeQueue只有几个消息未被消息,那么只能说明Broker异常恢复后将已经消费过的消息重新加载到了consumeQueue中,即:consumeQueue在Bro...

2019-10-11 17:37:07 1853

原创 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 6112 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 6165 1

原创 RocketMQ-死信队列

问题思考死信队列的应用场景 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限 死信队列如何消费?应用场景一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续处理;数据是如何产生的?重试队列在重试16次(默认次数)将消息放入死信队列参考:https://blog.csdn.net/hqwang4...

2019-08-21 17:49:16 10784 1

原创 RocketMQ-重试队列

什么场景下使用重试队列消费端一直不回传消费结果,MQ认为消息没有收到,Consumer下一次拉取,Broker依然会发送该消息,所以,任何异常都要返回ConsumeConcurrentlyStatus.RECONSUME_LATER,这样MQ会将消息放到重试队列;重试队列名称为:%RETRY%+consumergroup配置Broker配置如下:messageDelayLeve...

2019-08-21 16:31:07 5071

原创 RocketMQ-消息拉取Pull

一、问题思考消息拉取在实践过程中,有以下几个问题需要考虑:1、如何全量拉取消息?2、如何指定MessageQueue从指定offset处拉取消息?3、如何更新MessageQueue的Offset标志位?4、Pull模式下如何实现负载均衡?二、Pull模式下常用Demo1、更新MessageQueue的Offset标志位consumer.updateConsume...

2019-08-16 17:36:46 2387 2

原创 RocketMQ-消息发送

一、问题思考1、DefaultMQProducerImpl如何发送多个topic消息?2、如何选取MessageQueue?3、发送失败是如何进行重试的?4、超时时间怎么判断?二、消息发送流程1、获取TopicPublishInfo 根据msg.topic从topicPublishInfoTable中获取TopicPubl...

2019-08-16 17:06:06 350

原创 Dubbo--利用Filter记录接口调用信息处理耗时

需求上层业务系统在调用底层的服务的时候,底层系统需要记录全部的入参、出参和处理耗时。设计Dubbo的Filter机制,是专门为服务提供方和服务消费方调用过程进行拦截设计的,每次远程方法执行,该拦截都会被执行。这样就为开发者提供了非常方便的扩展性,比如为dubbo接口实现ip白名单功能、监控功能等等。自定义FIlter实现方法很简单,分为3个步骤:1、自定义Filter,必须继承c...

2019-06-25 17:16:56 2896

原创 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 303

原创 Oracle分区表中不同分区类型适用场景及验证

背景线上业务清单表数据有2.4亿条,业务场景主要:清单插入,清单查询(业务量较少),数据统计等;考虑通过分区提升数据统计性能,Oracle分区有范围分区、哈希分区、列表分区等,不同分区适用场景应该是有区别的,本文档通过测试,验证并总结范围分区、哈希分区的适合场景;测试环境分别使用范围分区、哈希分区创建临时表,并建立索引,然后倒入7000万条数据;测试一:聚合操作分别执行如下...

2019-06-05 11:58:28 2108

原创 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 900

原创 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 10356

原创 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 1496

原创 DBCP连接池问题分析

背景         生产环境,运维人员核对实时账单和累帐信息,发现有部分用户数据不一致;问题描述消费者日志报生产者线程池满图1生产者堆栈信息部分如下:图2问题分析数据不一致产生原因:累帐表数据是消费者SumCharge服务更新,更新完成后调用生产者AccountProcess服务,由于生产者服务处理慢导致返回超时,更新实时账单表失败;生产者Accou...

2018-10-16 21:43:04 1311

原创 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 687

原创 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 524

原创 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 1498

原创 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 513

原创 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 2353

原创 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 516

原创 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 214

原创 RabbitMQ学习-vhost 详解

vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、绑定、交换器和权限控制;vhost通过在各个实例间提供逻辑上分离,允许你为不同应用程序安全保密地运行数据;vhost是AMQP概念的基础,必须在连接时进行指定,RabbitMQ包含了默认vhost:“/”;当在RabbitMQ中创建一个用户时,用户通常会被指派给至少一个vhost,并且只能访问被指派vhost内的...

2018-08-15 16:13:02 11081

RocketMQ-4.2.0编译完成并部署验证

RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序; 提供丰富的消息拉取模式; 高效的订阅者水平扩展能力; 实时的消息订阅机制; 亿级消息堆积能力;

2018-01-24

Hadoop权威指南(第2版)

hadoop权威指南,最详细的资料,其他无需多说。

2013-06-22

C++编程规范(面向对象)

良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作。在本书中,两位全世界最受尊敬的 C++ 专家将全球 C++ 社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位 C++ 程序员应该遵循的行事准则。本书实际上涵盖了 C++ 程序设计的各个方面,包括:设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、 STL 容器和算法等等。书中对每一条规范都给出了言简意赅的叙述,并辅以实例说明;书中还给出了从类型定义到错误处理等方面的大量 C++ 最佳实践,包括许多最新总结和标准化的技术,即使使用 C++ 多年的程序员也会从中受益匪浅。 本书适合于各层次 C++ 程序员,也可作为高等院校 C++ 课程的教学参考书。

2009-06-18

数据结构算法与应用-C++

数据结构算法与应用-C++一个较完整的教程。

2009-06-18

07上软考试题答案

这是一个很适合打印的文件。

2007-10-19

网络工程师讲义

网络工程师讲义,欢迎使用

2007-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除