01 2022 档案

Castled 源码解析 - connector 模块几个中间表定义
摘要:Castled 的connector利用了schema 以及中间表进行数据存储(包含的已经提交的,未提交的) 官方使用了一个属于snapshot(快照),对于数据的处理,官方使用了excep sql 函数,基于不同 时间的snapshot 利用excep 就可以知道数据的变动 几个提供的中间表 主要 阅读全文

posted @ 2022-01-31 23:23 荣锋亮 阅读(47) 评论(0) 推荐(0) 编辑

Castled 源码解析 - connector 模块WarehousePollContext 说明
摘要:connector模块中的WarehousePollContext是比较重要的 代码说明 关于pipeline 格式的定义 了解pipeline格式定义,对于分析后边的代码是很有意义的,可以知道依赖的模块 public class PipelineConfigDTO { @NotNull priva 阅读全文

posted @ 2022-01-31 22:58 荣锋亮 阅读(36) 评论(0) 推荐(0) 编辑

Castled 源码解析 - connector 模块app部分说明
摘要:app 部分属于Castled处理外部链接的核心,主要包含了ExternalAppConnector以及DataSink 核心组件 ExternalAppConnector 选取了部分 DataSink 选取了部分 BufferedObjectSink 此对象是在每个DataSink实现都会包含的一 阅读全文

posted @ 2022-01-31 22:36 荣锋亮 阅读(73) 评论(0) 推荐(0) 编辑

Castled 源码解析 - connector 模块connector以及poller说明
摘要:connector 属于Castled 一个比较核心的东西,包含了核心部分的datawarehouse数据poll 处理,同时也包含了对于不同外部服务集成的处理 当然才代码中我们也可以看到一部分基于stream 的处理(文件,jdbc,s3.。。。),auth部分基于了oauth目前更多是关注认证, 阅读全文

posted @ 2022-01-31 21:28 荣锋亮 阅读(50) 评论(0) 推荐(0) 编辑

Castled 源码解析 - common 模块说明
摘要:Castled 的comon 模块包含了一个比较核心的东西form处理(官方成为CFL),同时也包含了一个常用的工具类CFL 是基于注解处理的,整体代码不是很多,比较重要的是schema,cfl,同时包含了Castled 自己开发的一个简单队列(阻塞以及带偏移的),同时定义了一些关于数据处理的接口定 阅读全文

posted @ 2022-01-31 14:06 荣锋亮 阅读(59) 评论(0) 推荐(0) 编辑

Castled 源码解析 - jarvis 模块说明
摘要:jarvis 模块主要保基于quartz 包装了一些调度以及任务管理,包含了刷新job ,全局job 同时也暴露为了一个通用的guice 模块,同时基于jesque进行后台任务以及延迟任务的处理 通过代码会发现jesque 占比是比较多的(好多任务处理的,状态标记的),而且quartz更多是 与后台 阅读全文

posted @ 2022-01-31 14:00 荣锋亮 阅读(218) 评论(0) 推荐(0) 编辑

substrait 关系代数跨语言序列化协议
摘要:substrait 是最近开源的一个很不错的项目,主要是用来解决关系代数的转换,可视化,主要是想实现一个通用的sql 处理标准项目很多参考了apache calcite 以及apache arrow,官方目前已经包含了一个参考指南 说明 substrait 从目前项目的规划以及介绍还是很有前途的,值 阅读全文

posted @ 2022-01-31 00:08 荣锋亮 阅读(940) 评论(0) 推荐(0) 编辑

data-feedback-loop
摘要:内容来自以下链接,很不错值得学习,可以改进saas 的模式 一张参考图 参考资料https://tomtunguz.com/data-feedback-loop/ 阅读全文

posted @ 2022-01-30 00:02 荣锋亮 阅读(18) 评论(0) 推荐(0) 编辑

几种前后端分离开发部署模式说明
摘要:没啥技术含量,主要是说明下几种模式,大家可以参考 前后端彻底分离部署 模式一 参考图 说明: 利用ci/cd 基于nginx 部署静态网站(website 直接存储在nginx服务器中),接口调用使用独立的api gateway,此方法的好处是不同的团队负责,而且nginx 特别适合前端静态资源,不 阅读全文

posted @ 2022-01-29 23:28 荣锋亮 阅读(634) 评论(0) 推荐(0) 编辑

objection.js 基于knex 构建的sql 友好的ORM 框架
摘要:objection.js 是基于knex 扩展的orm 框架,使用简单,功能强大其中的graph 操作很方便,而且支持hooks 可以进行扩展 支持的特性 简单便捷的定义模型(包含关系) 支持强大的sql crud 操作 强大的对象图操作,eager loading,inserting,upsert 阅读全文

posted @ 2022-01-29 22:32 荣锋亮 阅读(379) 评论(0) 推荐(0) 编辑

frontend-maven-plugin 插件学习
摘要:目的很简单就是学习下frontend-maven-plugin 的使用,同时集成到spring boot 应用中 参考玩法 整体参考图 代码结构 ├── README.md ├── console │ ├── pom.xml │ └── src │ ├── main │ │ ├── java │ │ 阅读全文

posted @ 2022-01-29 16:12 荣锋亮 阅读(3575) 评论(0) 推荐(0) 编辑

升级版本的dremio cratedb arp 开发
摘要:记得去年的时候开发过一个cratedb 的arp 扩展,很粗糙,基本能用,但是很不好,以下是一个更加规范版本的,而且更好的集成官方的 test(关于dremio 测试的,我已经简单介绍过,很方便,而且比较友好) 改进版本的开发 核心部分 主要是关于自动元数据发现以及,数据查询的,以前版本为了方便查询 阅读全文

posted @ 2022-01-27 23:39 荣锋亮 阅读(68) 评论(0) 推荐(0) 编辑

dremio arp 开发值得参考的链接
摘要:链接包含了两个,一个是社区的沟通,一个是官方问文档,官方文档是值得参考学习的社区沟通比较有参考意义,尤其是关于SourceTypeDescriptor的(我以前开发arp 扩展也是使用了此方法) 参考资料 https://community.dremio.com/t/arp-is-so-restri 阅读全文

posted @ 2022-01-27 12:39 荣锋亮 阅读(56) 评论(0) 推荐(0) 编辑

dremio 链接starrocks 的方法
摘要:dremio 默认官方使用的是maridb 的jdbc 驱动,在链接doris 以及starrocks 的时候是会有问题的当然链接singlestore也是有问题的 ,解决方法使用mysql 驱动进行替换,我已经开发了相关的arp目前也已经支持了20版本的,而且经过测试是可行,没有问题的(同时也合并 阅读全文

posted @ 2022-01-27 11:54 荣锋亮 阅读(348) 评论(0) 推荐(0) 编辑

ssh 端口转发
摘要:ssh 是一个很强大的工具,不仅可以用来登录linux 服务器,而且可以进行端口转发,实现一个有趣的东西可以解决我们实际开发中不少问题,以下简单说明下 本地转发 可以实现本地访问远端需要特定权限的数据常见可以解决的问题:比如容器环境访问,远端db因为安全问题不能直接访问,通过ssh 通道加密同时支持 阅读全文

posted @ 2022-01-26 11:42 荣锋亮 阅读(87) 评论(0) 推荐(0) 编辑

使用jsch 实现ssh tunnel
摘要:主要目的是解决比如访问敏感信息,我们通过加密隧道实现数据访问,而且对于数据进行加密 参考图 参考代码 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" x 阅读全文

posted @ 2022-01-26 00:34 荣锋亮 阅读(224) 评论(0) 推荐(0) 编辑

Castled 源码解析 一 整体介绍
摘要:以前我大概介绍过Castled ,后边为了方便学习以及共享,会整体介绍Castled 项目 代码包结构 Castled 是基于java 开发使用maven 进行包管理的,所以整体就是一个标准的maven多模块项目 代码结构 ├── CODE_OF_CONDUCT.md ├── LICENSE.md 阅读全文

posted @ 2022-01-25 00:27 荣锋亮 阅读(59) 评论(0) 推荐(0) 编辑

smithy aws 开源的方便开发语言无关服务SDK的idl
摘要:实际上业界开源的idl 是很多的,比如thrift,protobuf grpc smithy的特点 协议无关 演进式设计 api 治理 面向资源 说明 smithy 主要式面向代码生成,属于aws 在api 设计方面一个很不错的实践,很值得学习参考 参考资料 https://awslabs.gith 阅读全文

posted @ 2022-01-23 22:35 荣锋亮 阅读(231) 评论(0) 推荐(0) 编辑

Fluid Framework微软开源的构建实时分布式协作web 应用的框架
摘要:现在对于实时web 协作的需求是越来越多了,大家的做法会很多,而且业界也有不少开源的(微软也很早也开源了singalr 实时框架)meteor 也是一个不错的选择,yjs 也是一个框架(基于p2p的),Fluid Framework 是微软开源的新项目 参考架构 说明 目前对于Fluid servi 阅读全文

posted @ 2022-01-23 21:45 荣锋亮 阅读(444) 评论(0) 推荐(0) 编辑

modelmapper 简单智能的对象映射工具
摘要:对象映射工具很多,modelmapper 是另外一个不错的选择 特性 智能,大部分已经帮助大家解决了映射处理 便于代码重构 基于约定 可扩展 参考使用 具体源码可以参考官方文档 源模型 目的 @Data public class OrderDTO { private String customerF 阅读全文

posted @ 2022-01-23 21:23 荣锋亮 阅读(190) 评论(0) 推荐(0) 编辑

基于commons-discovery 开发简单的插件化java系统
摘要:commons-discovery 是一个工具包,基于此我们可以实现java class 的发现,实现一个简单的插件化系统(类似spi) 提供的方法 参考如下,提供了静态以及实例方法,还是比较方便的,静态方法可以用来扩展spi 的处理,简单场景使用实例方法就可以了 参考使用 静态方法 Propert 阅读全文

posted @ 2022-01-23 19:58 荣锋亮 阅读(1375) 评论(0) 推荐(0) 编辑

基于dremio 开发一个简单的反向ETL
摘要:反向ETL 目前是一个和不错的领域,以下是自己基于一些工具集成参考构思的一个反向ETL 设计方案,具体编码还在规划中以下简单介绍下一些思路 参考图 简单说明 核心是利用了dremio 数据反射以及CTAS 能力(也支持drop),对于数据使用了快照的处理,直接存储在s3中,格式使用了基于时间分区的格 阅读全文

posted @ 2022-01-20 23:36 荣锋亮 阅读(194) 评论(0) 推荐(0) 编辑

dremio 20 版本可以下载体验了
摘要:就在1.18 号官方终于发布了20 版本的社区版(19.3 也提供了)大家可以体验了 docker-compose 运行 version: '3' services: dremio: image: dremio/dremio-oss:20.0.0 ports: - "9047:9047" - "31 阅读全文

posted @ 2022-01-20 00:17 荣锋亮 阅读(123) 评论(0) 推荐(0) 编辑

image-combiner 方便的图片合成包
摘要:image-combiner 国人开源的一个工具包还是很方便的,可以方便的搞一些图片以及文字处理 参考使用 代码 package com.dalong; import com.freewayso.image.combiner.ImageCombiner; import com.freewayso.i 阅读全文

posted @ 2022-01-16 19:22 荣锋亮 阅读(710) 评论(0) 推荐(0) 编辑

使用graalvm native-image 快速暴露jar 代码为native 共享库
摘要:主要是从jgrapht 的capi 学习到的,说下整理下,后边可以用到 参考玩法 代码定义 package org.pkg.implnative; import org.graalvm.nativeimage.c.function.CEntryPoint; import org.graalvm.wo 阅读全文

posted @ 2022-01-16 00:23 荣锋亮 阅读(357) 评论(0) 推荐(0) 编辑

data transfer project google 开源的开放服务数据传送框架
摘要:data-transfer-project 更多的是一个标准,提供了核心的组件,同时提供了参考实现,方便用户将自己的数据在不同服务商之间传递 参考组件 data models 定义了数据格式,包含了类型以及元数据 adapter 包含了data apdater 以及auth ,data apadte 阅读全文

posted @ 2022-01-15 15:25 荣锋亮 阅读(201) 评论(0) 推荐(0) 编辑

How Sandstorm Works
摘要:转自:https://sandstorm.io/how-it-worksSandstorm is radically different from all other web app infrastructure today. Grains: Fine-grained object containe 阅读全文

posted @ 2022-01-14 23:11 荣锋亮 阅读(49) 评论(0) 推荐(0) 编辑

jimfs java 内存文件系统实现
摘要:内存文件系统是挺有意思的东西,可以帮助我们解决好多实际的问题,而且比较强大 一些应用场景 配置管理需要文件系统的,但是我们的配置是不同的代码片段 基于内存系统实现文件操作mock 一些操作我们必须使用文件系统才能完成的,或者使用文件系统完成比较方便 jimfs 介绍 谷歌开源的,基本实现的大部分ja 阅读全文

posted @ 2022-01-14 22:40 荣锋亮 阅读(373) 评论(0) 推荐(0) 编辑

使用kind 部署k8s in docker
摘要:安装 go module 模式 go install sigs.k8s.io/kind@latest 创建集群 kind create cluster 效果 参考架构 参考资料 https://kind.sigs.k8s.io/ https://github.com/kubernetes-sigs/ 阅读全文

posted @ 2022-01-14 20:20 荣锋亮 阅读(210) 评论(0) 推荐(0) 编辑

来自Castled 官方的一篇性能对比
摘要:转自:https://medium.com/castled/fastest-reverse-etl-platform-census-vs-hightouch-vs-castled-3d2975dd4e55Fastest Reverse ETL Platform: Census vs Hightouc 阅读全文

posted @ 2022-01-14 01:11 荣锋亮 阅读(67) 评论(0) 推荐(0) 编辑

使用网络classloader 实现业务功能动态修改加载
摘要:日常中我们很多时候是需要进行class的动态加载的而且不希望影响业务,对于java 应用我们 可以开发自己的类加载器可以方便的解决,使用网络类加载器就更加灵活了,可以更好的控制 类的版本以及权限控制,而且灵活性很高(类似rpc,但是运行时还是单体的,rpc 的jvm运行时是跨 主机的) 参考图 原理 阅读全文

posted @ 2022-01-13 23:57 荣锋亮 阅读(167) 评论(0) 推荐(0) 编辑

Appactive 阿里云开源的应用多活基础框架
摘要:目前开源的主要是java 的,我们可以参考学习下,发布的技术白皮书是很值得参考学习的,基于此技术白皮书我们也可以设计自己的多活框架 参考资料 https://mp.weixin.qq.com/s/PLH2jyEvZxOYs8S0g93Mgghttps://github.com/alibaba/App 阅读全文

posted @ 2022-01-12 23:32 荣锋亮 阅读(274) 评论(0) 推荐(0) 编辑

juicefs 内部一个定时元数据备份
摘要:juicefs 内部实际上是包含了一个自动元数据备份的能力的(json 格式 gz 了),默认是存储在对象存储中的 参考代码 代码主要在pkg/vfs/backup.go 中,同时也提供了cli 进行备份处理 参考资料 https://github.com/juicedata/juicefs/blo 阅读全文

posted @ 2022-01-12 00:17 荣锋亮 阅读(67) 评论(0) 推荐(0) 编辑

dremio 20 发布
摘要:dremio 20 已经发布了,特性挺多,包含了安全的,性能提升的,以及功能增强以下主要说明一些对于私有部署比较有意义的 不兼容变动 logback.xml 的变动,审计日志影响比较大 新特性 审计日志(更加完善了,包含用户id,用户名,操作,sql,类型。。。。) NDV 拆分 目前数据预览特性, 阅读全文

posted @ 2022-01-10 00:11 荣锋亮 阅读(81) 评论(0) 推荐(0) 编辑

使用juicefs 做为dremio 的分布式存储
摘要:dremio 包含了一个分布式存储的配置(默认使用本地存储),分布式存储在一些数据查询中是比较重要的比如iceberg 的支持 参考使用图 说明 我们基于juicefs 进行s3 的挂载处理,可以明显的提升s3 的性能,此处我们可以使用hdfs 或者直接挂载的模式 参考资料 https://docs 阅读全文

posted @ 2022-01-09 23:55 荣锋亮 阅读(113) 评论(0) 推荐(0) 编辑

修改juicefs 源码使用oceanbase做为元数据存储
摘要:以前有说明让juicefs 支持oceanbase 的方式,但是在测试之后发现并不是很好,所以直接基于源码进行修改是一种很不错的方法 代码修改 主要是meta 中sql.go 具体需要的地方 Init 地方, 删除对于mysql的特殊处理,NewSession 部分也需要 // if m.db.Dr 阅读全文

posted @ 2022-01-08 23:12 荣锋亮 阅读(232) 评论(0) 推荐(0) 编辑

mysql 做为juicefs 的元数据存储
摘要:环境准备 docker-compose version: '3' services: db: image: mysql:5.6 environment: - MYSQL_ROOT_PASSWORD=dalongdemo - MYSQL_DATABASE=juicefs - MYSQL_USER=us 阅读全文

posted @ 2022-01-08 21:21 荣锋亮 阅读(255) 评论(0) 推荐(0) 编辑

oceanbase odc web 部署试用
摘要:odc 是oceanbase 的开发者中心,提供了web 以及client client 比较简单就是直接运行客户端就行了(基于java开发)使用web 对于集中化管理会比较方便 部署说明 下载 结合实际,可能会变 https://ob-front.oss-cn-hangzhou.aliyuncs. 阅读全文

posted @ 2022-01-07 14:27 荣锋亮 阅读(493) 评论(0) 推荐(0) 编辑

oceanbase 几个组件说明
摘要:oceanbase 提供了比较多的组件,我们需要知道组件的作用,可以更好的方便我们进行系统开发 几个组件 oceanbase database 数据库核心 oceanbase libs 主要是三方依赖 oceanbase deployer 建成obd,简化我们进行部署的 obproxy 数据库智能p 阅读全文

posted @ 2022-01-07 13:07 荣锋亮 阅读(305) 评论(0) 推荐(0) 编辑

oceanbase timeout 问题
摘要:数据一个比较常见的场景,使用ob 作为ap 分析,但是默认ob 的超时时间是10s 参考解决方法 修改会话时间 session 级别的 set session ob_query_timeout=2000000000; 全局级别的 需要有super 的权限 SET GLOBAL ob_query_ti 阅读全文

posted @ 2022-01-06 12:34 荣锋亮 阅读(1835) 评论(0) 推荐(0) 编辑

juicefs csi 集成试用
摘要:主要是一个试用,对于k8s 使用了minikube minikube 安装 这个直接可以参考官方文档 (注意可能需要合理上网) curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 阅读全文

posted @ 2022-01-06 00:00 荣锋亮 阅读(250) 评论(0) 推荐(0) 编辑

census 安全处理模式
摘要:通过此图以及官方的文档我们可以更好的了解实现机制 参考机制 详细内容参考官方文档,以下是一个参考图参考图 参考资料 https://blog.getcensus.com/reverse-etl-benchmark-series-pt-1-census-44x-faster-than-hightouc 阅读全文

posted @ 2022-01-04 21:12 荣锋亮 阅读(45) 评论(0) 推荐(0) 编辑

castled 简单原理说明
摘要:主要是一个简单的原理说明,具体的后续会从代码层面说明 参考图 poller 接口定义 public interface WarehouseDataPoller { WarehousePollResult pollRecords(WarehousePollContext warehousePollCo 阅读全文

posted @ 2022-01-04 20:51 荣锋亮 阅读(130) 评论(0) 推荐(0) 编辑

castled 运行试用
摘要:castled 官方直接提供了docker-compose 一键运行 环境运行 docker-compose git clone https://github.com/castledio/castled.git cd castled docker-compose up -d pg 准备 docker 阅读全文

posted @ 2022-01-03 22:49 荣锋亮 阅读(61) 评论(0) 推荐(0) 编辑

反向ETL 一些参考知识
摘要:反向ETL 实际是一种集成模式,以下这张图可以说明反向ETL 的位置 参考图 说明 基于标准的玩法,系统开发会越来越简单,反向ETL 是从业务模型上通用化了新的处理模式,对于我们的集成会方便很多,以下一些参考资料值得学习下 参考资料 https://hightouch.io/blog/reverse 阅读全文

posted @ 2022-01-03 14:56 荣锋亮 阅读(195) 评论(0) 推荐(0) 编辑

castled 开源反向ETL 工具
摘要:反向ETL 是这几年因为数据集成演变出来的一个新型数据集成模式(saas 的兴起,以及外部共享的需求) castled 参考玩法 支持的特性 增量以及全量同步 自动异常处理以及恢复 弹性可靠 CFL (castled自己的一套UI框架) k8s 集成 说明 castled 同时支持扩展,提供了jav 阅读全文

posted @ 2022-01-03 14:41 荣锋亮 阅读(156) 评论(0) 推荐(0) 编辑

epress proxy+ nodeesi 实现简单微前端
摘要:实际上我以前也写过类似的(ssi+client esi 的)以下是一个服务器端的esi 参考玩法(内容来自youtube) 参考图 环境准备 http proxy 部分代码 const app = require("express")() const proxy = require("express 阅读全文

posted @ 2022-01-03 13:18 荣锋亮 阅读(66) 评论(0) 推荐(0) 编辑

ozone 为 apache hadoop 提供扩展分布式对象存储的服务
摘要:主要是为hadoop 以及cloud native 环境一共可扩展,冗余的分布式对象存储 支持的特性 多协议(hadoop fs 以及s3) 可扩展,可以支持10亿级对象存储 强一致系统 cloud native 安全(支持kereros 集成) 高可用 核心组件 说明 ozone 做为s3 以及强 阅读全文

posted @ 2022-01-02 23:45 荣锋亮 阅读(225) 评论(0) 推荐(0) 编辑

esigate java esi实现框架
摘要:esigate 是esi 标准的一个java 实现,包含了server,servlet,core 等几个模块,尽管项目目前已经更新比较少了,但是是一个很不错的esi 实现,提供的扩展点也比较多 特性 基于ssi 的集成(cms系统) 远端模版共享(和现在的微前端的集成模式比较类似) web 加速(基 阅读全文

posted @ 2022-01-02 23:32 荣锋亮 阅读(68) 评论(0) 推荐(0) 编辑

streamsets 可选替换工具
摘要:streamsets 是一个很不错的数据处理工具(工具齐全)或者支持的周边比较好,但是从去年开始streamsets就放弃了开源了,开源版本维持在了3.23了,对于我们需要进行数据处理以及依赖streamsets是一个不太好的消息,以下说明一些可选的替换工具 一些可选工具 apache nifi 总 阅读全文

posted @ 2022-01-02 22:35 荣锋亮 阅读(2396) 评论(0) 推荐(0) 编辑

使用squid 让 docker for mac 支持基于容器ip 访问
摘要:尽管docker for mac 实现了类似linux 的docker 使用体验,但是毕竟使用技术上是不一样的(还是虚拟化技术) 但是我们可以直接基于正向代理实现直接基于容器ip 的访问体验 环境准备 docker-compose version: "3" services: nginx: imag 阅读全文

posted @ 2022-01-02 11:03 荣锋亮 阅读(258) 评论(0) 推荐(0) 编辑

基于squid 暴露k8s 服务
摘要:实际上与我去年基于golang编写的一个特别简单的功能是类似的,知识基于squid 解决 原有方案 基于squid 的方案 技术上是一样的都是正向代理,强大的地方在于利用了squid 强大的控制能力,同时可以直接使用squid 的认证,增强系统的安全 说明 技术上没啥核心与基于golang 的模式是 阅读全文

posted @ 2022-01-01 23:43 荣锋亮 阅读(139) 评论(0) 推荐(0) 编辑

导航