主页

实时数据处理探索:接收、处理、访问

ETL(也包括ELT)是数据处理工作里必不可少的步骤,一直以来通常都是以天或小时为单位采用批处理来对大量的数据进行 ETL 操作。随着业务的增长及需求的变化,用户/客户希望能更快的看到各类数据操作的结果,这就催生了实时 ETL 的诉求。 传统上,批量 ETL 会在数据仓库上进行。比如按 天 为单位从一个库同步原始数据到 ODS 层,再通过编写存储过程来对 ODS 层的数据进行加工后将明细数据存储到

CRUDer 的自我修养:PostgreSQL、JDBC、MyBatis、R2DBC

这是一系列文章的目录,对于一个合格的 CRUD 程序猿/媛、码农、IT民工,更高效的进行 CRUD 是我们孜孜不倦的追求!本文是系列文章的序文,首先介绍各技术的亮点,再在之后的单独文章里详细介绍各技术的功能、优势、技巧等……通过对这 4 个主题的介绍,增进我们更好的进行 CRUD 开发。 PostgreSQL本系列文章以 PostgreSQL(以下简称:PG)为例讲解 SQL,对于 CRUDer

Java 枚举:有效应用

Java 枚举本身的介绍本文就不多说,相关资料很多,本文将讲述些 Java 枚举使用的技巧和注意事项。 枚举属性Java 枚举除了可以定义常量以外,还可以定义属性。比如很常见的一个星期枚举 123public enum WeekEnum { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;} 以

JSON 之 Jackson

Jackson 是 Java 生态下的一款 JSON (返)序列化工具,具有高效、强大、安全(没有 Fastjson 那么多的安全漏洞)等特性。同时应用广泛,Spring Boot/Cloud、Akka、Spark 等众多框架都将其作为默认 JSON 处理工具。 依赖要使用 Jackson,需要在项目中添加如下依赖(注:使用 Spring Boot 时不需要手动添加,Spring 框架已经默认包含

JDBC 批量插入:MyBatis、PostgreSQL

当一次插入数据很多时,使用批量插入可以显著提升性能,在此以 PostgreSQL 为例介绍几种批量插入的方式。 JDBC batch execute使用 JDBC 时,可以使用 Statement#addBatch(String sql) 或 PreparedStatement#addBatch 方法来将SQL语句加入批量列表,然后再通过 executeBatch 方法来批量执行。 reWrite

Flink Kafka 确定一次消费与写入

Flink Kafka Exactly Once,确定一次消费/写入。示例代码:https://github.com/yangbajing/learn-bigdata/tree/develop/learn-flink/src/main/scala/connector/kafka 。 ConsumerProducerProducer exactly once 需要启用 flink 的检查点,并在实例

微服务开放环境:Spring & Akka & Docker

随着微服务的流行,服务拆分与服务依赖越来越多,想在本机搭建一套完整的开发环境愈来愈有挑战。代码服务还好,多开几个 IDE 并启动多个应用服务即可,但若你使用了多种数据库系统、缓存系统、消息系统等时,在本机手动安装就非常繁琐了……可以通过 Docker 来简化这些系统的安装。 本文是对近一年微服务开发环境实践记录,我们在微服务开发中混合使用了 Spring Cloud 框架和 Akka 库,同时应用

Nacos SDK for Scala

Nacos SDK for Scala:https://github.com/yangbajing/nacos-sdk-scala 。 支持 Scala 2.12, 2.13 ;支持 Akka Discovery 和 Play WS。 使用12345678// Scala APIlibraryDependencies += "me.yangbajing.nacos4s" %% "nacos-cli

Akka HTTP 非官方中文翻译

Akka HTTP 10.1.11 非官文中文翻译在线阅读地址: 中文文档:Akka HTTP Unofficial Chinese 码云镜像:Akka HTTP Unofficial Chinese 翻译难免有错误或表达不够清楚的地方。因此,Akka HTTP 中文版翻译采用了基于原始 Paradox 的 md 文件对照翻译的形式,英文原文将显示在中文译文的上方。翻译的源码内容可以在 htt

译:Akka 2.6.4 Released

原文地址: 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)

译:Akka gRPC 0.8.0 Released

亲爱的 hakker 们! 我们高兴的公布 Akka gRPC 0.8.0 版本!gRPC 是请求/响应和流式处理(非持久化)场景的传输机制。参见 Why gRPC? (获得)何时使用 gRPC 作为传输机制的更多信息。这个版本引入了许多令人兴奋的新特性,并使我们更接近 1.0.0 (版本),我们预计在数据周内发布。 主要的改进包括: 基本支持 gRPC Server Reflection #3

在 Scala/Java/Spring 微服务中使用日志

应用开发、运行时,日志作为调试、留痕的重要工具非常重要。对此,Akka Fusion 库为日志处理提供了开箱即用的支持: 预置的日志 encoder 配置 通过 filebeat 输出日志到 Elasticsearch 良好的自定义支持 使用 fusion-log 库,需要添加以下依赖。 12resolvers += Resolver.bintrayRepo("helloscala&

怎样优雅的关闭 ActorSystem

使用 CoordinatedShutdown 可以优雅的方式关闭 ActorSystem。默认情况下,需要调用 ActorSystem 上的 terminate 方法才会触发 CoordinatedShutdown,但也可以设置为在 JVM 退出时自动运行(比如接收到操作系统的 SIGTERM 信号或Java虚拟机退出)。要使在程序退出时 CoordinatedShutdown 自动调用,需要如下

Ambari编译记录

Download and build Ambari 2.7.5 source12345678wget https://www-eu.apache.org/dist/ambari/ambari-2.7.5/apache-ambari-2.7.5-src.tar.gz (use the suggested mirror from above)tar xfvz apache-ambari-2.7.5-s

Scala实战:求解 Top K 问题

问题描述服务器上有一个 movies.csv 文件,里面保存了每部电影的评分(为了简化和专注问题,CSV文件每一行只有两个字段:movieId和rating)。文件通过HTTP服务器发布。要求从文件内找出排名最高的10部电影。 解法1:全量排序求Top 10通过 wget、curl 等工具先将文件下载到本地,再读出文件内所有行并解析出 movieId和rating 字段,按 rating 字段排序

OAuth 2 服务的 Akka 实现:access_token 管理

实现一个 OAuth 2 服务有几个核心点: OAuth 2 协议解析 连接的用户可能很多,系统需支持横向扩展 每个连接用户的 access_token 的状态控制:有效期控制 服务要支持容错、可恢复、可扩展、高并发等特性 使用 Akka 来实现 OAuth 2 服务会发现逻辑非常的清晰,且能很好的实现以上几个核心点。 每个连接用户或 access_token 可抽像为一个 Actor,这样多