如何选择可以搞钱的技术栈
前言
之前在公司主要负责可观测性和 Pulsar 消息队列相关的内容,最近系统比较稳定,只需要做日常运维,所以就抽出时间逐步在接触 OLAP 相关的技术栈。
我们用的是 StarRocks,也是目前比较流行的 OLAP 数据库;在接触的这段时间以来,让我越发感觉到选对一个靠谱的技术方向的重要性。
之前在公司主要负责可观测性和 Pulsar 消息队列相关的内容,最近系统比较稳定,只需要做日常运维,所以就抽出时间逐步在接触 OLAP 相关的技术栈。
我们用的是 StarRocks,也是目前比较流行的 OLAP 数据库;在接触的这段时间以来,让我越发感觉到选对一个靠谱的技术方向的重要性。
今天收到球友的问题,让推荐一些值得看的开源项目,觉得 netty 这些太复杂了不太好上手。
确实如此,我们日常常用的 Spring、Netty 确实由于发展了多年,看起来比较头大。
下面我来推荐一些我看过同时觉得不错的项目(几乎都是我参与过的),由易到难,其中也会包含 Java 和 Go 的项目,包含主流的中间件和云原生项目。
前段时间给 StarRocks 的物化视图新增了一个特性,那也是我第一次接触 StarRocks,因为完全不熟悉这个数据库,所以很多东西都是从头开始了解概念。
为了能顺利的新增这个特性(具体内容可以见后文),我需要把整个物化视图的流程串联一遍,于是便有了这篇文章。
在开始之前简单了解下物化视图的基本概念:
简单来说,视图和 MySQL 这类传统数据库的概念类似,也是用于解决大量消耗性能的 SQL 的,可以提前将这些数据查询好然后放在一张单独的表中,这样再查询的时候性能消耗就比较低了。
因为公司内部在使用 PowerJob 作为我们的分布式调度系统,同时又是使用 OpenTelemetry 作为可观测的底座,但目前 OpenTelemetry 还没有对 PowerJob 提供支持,目前社区只对同类型的 XXL-JOB 有支持。
恰好公司内部也有一些开发同学有类似的需求:
于是在这个背景下我便开始着手开发 PowerJob 的 instrumentation,最终的效果如下: