通过 Pulsar CDC 获取 Postgres 数据表变更记录
在当今数据驱动的时代,数据的实时性、完整性和一致性成为了企业业务成功的关键因素。随着微服务单服单库(每个微服务都有自己单独的数据库)的应用,以及数据量的爆炸性增长和业务的快速迭代,传统的数据处理和同步方式已难以满足现代企业的需求。Apache Pulsar,作为一个云原生的分布式消息和流处理平台,凭借其卓越的吞吐量和低延迟特性,正在逐渐成为大数据和流处理领域的明星。而 Pulsar CDC 技术的
在当今数据驱动的时代,数据的实时性、完整性和一致性成为了企业业务成功的关键因素。随着微服务单服单库(每个微服务都有自己单独的数据库)的应用,以及数据量的爆炸性增长和业务的快速迭代,传统的数据处理和同步方式已难以满足现代企业的需求。Apache Pulsar,作为一个云原生的分布式消息和流处理平台,凭借其卓越的吞吐量和低延迟特性,正在逐渐成为大数据和流处理领域的明星。而 Pulsar CDC 技术的
在使用 gitlab 做 CI/CD 时,需要将构建好的制品推送到云存储中(比如 华为云 OBS、阿里云 OSS、AWS S3 等),然后在部署的时候再直接从云存储中下载。为方便使用,就使用 clap 和 opendal 开发了一个简单的云存储命令行工具,此示例支持 OBS 和 OSS,需要添加其它云存储支持也非常方便,具体可以参考 https://docs.rs/opendal/lat
问题相同的代码逻辑,在不同的环境得出了不同的结果。在业务系统里是正确的,但是数据系统里却计算出了不同的结果。给一个示例: 12345Integer x = 1234567;Long y = 1234567L;if (x.equals(y))) { // 处理业务逻辑} 我们预期if语句判断能够成功并进入进行处理业务逻辑,但实际上这里会始终返回 false。这是因为jav
问题监控发现 PostgreSQL 的 pg_wal 日志文件一直在持续增长,设置的 max_wal_size = 2GB 参数值未起作用。 12-bash-4.2$ du -sh $PGDATA/pg_wal61G /data/pgsql/12/data/pg_wal 12345postgres=# select pg_walfile_name('0/14CB2278
本篇是微服务系统的第一篇,我将基于自身的经验和在公司项目中的实践来记录我们施行微服务的过程和方式。
一些问题 Apache Pulsar 2.7.1 当 Functions Worker 独立运行时,客户端需要直接 Worker,现在的 Pulsar 还不能通过 broker 找到 Worker 地址。社区已有相应的 PR #6425 修复 当配置了 Pulsar 集群配置了认证/授权,且 connector 使用进程模式运行时,现在 connector 未继承 Functions
现阶段 API 设计的问题在开发过程中,有一些很困扰前、后端团队交互的问题: 谁来设计 API? 提供什么形式的 API? 什么时候可以提供 API? 对于第一个问题,通常情况下都是由后端人员来设计 API,这就造成前端人员会在开发初期的一段时间内没法作数据模型和服务端交互方面的工作。这时,一些独立的 API 管理工具就派上用场了,比如:类似 yapi 这样的 API 管理/Mock
/etc/sysctl.conf 设置注意12kernel.shmall=echo $(expr $(getconf _PHYS_PAGES) / 2)kernel.shmmax=echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGESIZE))
系统配置操作系统环境 1234567891011121314151617systemctl stop firewalldsystemctl disable firewalld# Install softwaresyum -y install epel-releaseyum -y install java-11-openjdk-devel tree htop vim sshpass wget cur
ETL(也包括ELT)是数据处理工作里必不可少的步骤,一直以来通常都是以天或小时为单位采用批处理来对大量的数据进行 ETL 操作。随着业务的增长及需求的变化,用户/客户希望能更快的看到各类数据操作的结果,这就催生了实时 ETL 的诉求。 传统上,批量 ETL 会在数据仓库上进行。比如按 天 为单位从一个库同步原始数据到 ODS 层,再通过编写存储过程来对 ODS 层的数据进行加工后将明细
这是一系列文章的目录,对于一个合格的 CRUD 程序猿/媛、码农、IT民工,更高效的进行 CRUD 是我们孜孜不倦的追求!本文是系列文章的序文,首先介绍各技术的亮点,再在之后的单独文章里详细介绍各技术的功能、优势、技巧等……通过对这 4 个主题的介绍,增进我们更好的进行 CRUD 开发。 PostgreSQL本系列文章以 PostgreSQL(以下简称:PG)为例讲解 SQL,对于 CR
Java 枚举本身的介绍本文就不多说,相关资料很多,本文将讲述些 Java 枚举使用的技巧和注意事项。 枚举属性Java 枚举除了可以定义常量以外,还可以定义属性。比如很常见的一个星期枚举 123public enum WeekEnum { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;}
Jackson 是 Java 生态下的一款 JSON (返)序列化工具,具有高效、强大、安全(没有 Fastjson 那么多的安全漏洞)等特性。同时应用广泛,Spring Boot/Cloud、Akka、Spark 等众多框架都将其作为默认 JSON 处理工具。 依赖要使用 Jackson,需要在项目中添加如下依赖(注:使用 Spring Boot 时不需要手动添加,Spring 框架已
当一次插入数据很多时,使用批量插入可以显著提升性能,在此以 PostgreSQL 为例介绍几种批量插入的方式。 JDBC batch execute使用 JDBC 时,可以使用 Statement#addBatch(String sql) 或 PreparedStatement#addBatch 方法来将SQL语句加入批量列表,然后再通过 executeBatch 方法来批量执行。 reWrite
Flink Kafka Exactly Once,确定一次消费/写入。示例代码:https://github.com/yangjing/learn-bigdata/tree/develop/learn-flink/src/main/scala/connector/kafka 。 ConsumerProducerProducer exactly once 需要启用 flink 的检查点,并
随着微服务的流行,服务拆分与服务依赖越来越多,想在本机搭建一套完整的开发环境愈来愈有挑战。代码服务还好,多开几个 IDE 并启动多个应用服务即可,但若你使用了多种数据库系统、缓存系统、消息系统等时,在本机手动安装就非常繁琐了……可以通过 Docker 来简化这些系统的安装。 本文是对近一年微服务开发环境实践记录,我们在微服务开发中混合使用了 Spring Cloud 框架和 Akka 库,同时应用
Nacos SDK for Scala:https://github.com/yangjing/nacos-sdk-scala 。 支持 Scala 2.12, 2.13 ;支持 Akka Discovery 和 Play WS。 使用12345678// Scala APIlibraryDependencies += "me.yangjing.nacos4s" %% &quo
Akka HTTP 10.1.11 非官文中文翻译在线阅读地址: 中文文档:Akka HTTP Unofficial Chinese 码云镜像:Akka HTTP Unofficial Chinese 翻译难免有错误或表达不够清楚的地方。因此,Akka HTTP 中文版翻译采用了基于原始 Paradox 的 md 文件对照翻译的形式,英文原文将显示在中文译文的上方。翻译的源码内容可以在 htt
原文地址: https://akka.io/blog/news/2020/03/13/akka-2.6.4-released 亲爱的 hakkers 们, 我们很激动的宣布 Akka 2.6 的新的修补版本发布。除了 bug 修复和改进,还有与 Akka Cluster 相关的3个比较大的新特性。它相对 2.6.3(版本)的显著变化包括: 可靠交付(at-least-once-delivery)
亲爱的 hakker 们! 我们高兴的公布 Akka gRPC 0.8.0 版本!gRPC 是请求/响应和流式处理(非持久化)场景的传输机制。参见 Why gRPC? (获得)何时使用 gRPC 作为传输机制的更多信息。这个版本引入了许多令人兴奋的新特性,并使我们更接近 1.0.0 (版本),我们预计在数据周内发布。 主要的改进包括: 基本支持 gRPC Server Reflecti