Fluvio

开篇

最近看到了个 rust 开源库 fluvio

数据流处理平台,初步看起来像 MQ

https://github.com/infinyon/fluvio

首先代码下下来看看情况

按照这个文档,可以快速创建 topic,然后发消息,并且通过 smdk 来快速创建 smartmodule 并生效

https://www.fluvio.io/docs/#installing-the-cli

接下来,看下有没有 good first issue.

看了半天,感觉暂缓吧~

先自己写两个项目。

分析最近投递的 30 家招聘技术要求中提及的相关技术的次数

提及次数排名

Mysql 19

SpringBoot 17

MyBatis 17

Redis 17

Spring 16

Srping Cloud 15

MongoDB 10

SpringMVC 9

Linux系统 9

Kafka 9

Dubbo 6

Docker 6

VUE 4

ES 4

kubernetes 4

RabbitMQ 4

zookeeper 4

TCP/IP 4

Node 3

oracle 3

Http 3

Netty 3

Angular 2

react 2

Nginx 2

Memcached 2

Flink 2

Spring 相关

Spring 16

Srping Cloud 15

Oracle 同义词

ORACLE 同义词的定义及使用

1
CREATE SYNONYM TEST FOR DM.TM_WGG_ATM_GTW_MON;
  • 同义词就是别名,与视图类似,都是不占实际存储空间,相当于是访问数据库对象的另外一种方式。
  • 公用同义词和私用同义词

同义词的作用

  • 多用户协同开发,不再需要使用 user.tableA 而是直接使用同义词即可。
  • 简化 sql 语句

如何实现不同用户使用相同 SQL 查询

用户 encrypt

1
2
3
create synonym TEST_SYNONYM FOR AB01;

grant select on TEST_SYNONYM to encrypt_1;

用户 encrypt_1

RocketMQ

RocketMQ 初探

4个组件 producer,consumer,broker,nameserver

查看 RocketMQ 文档

https://rocketmq.apache.org/zh/docs/

功能特性

普通消息

定时/延时消息

ShardingSphere 中的分布式事务

以配置 XA 事务为例,查看整体流程

transaction rule 的初始化

1
2
3
4
5
6
7
8
9
public TransactionRule(final TransactionRuleConfiguration ruleConfig, final Map<String, ShardingSphereDatabase> databases) {
    configuration = ruleConfig;
    defaultType = TransactionType.valueOf(ruleConfig.getDefaultType().toUpperCase());
    providerType = ruleConfig.getProviderType();
    props = ruleConfig.getProps();
    // 创建 transactionManager 
    resource = new AtomicReference<>(createTransactionManagerEngine(databases));
    attributes = new RuleAttributes();
}

XA transactionManager 内部管理着 XA DataSource 也一并初始化(mysql 提供的 com.mysql.cj.jdbc.MysqlXADataSource)