Netflix Conductor源码分析

Netflix Conductor 源码分析—— Metadat

2022-02-14  本文已影响0人  吉祥噜噜

本系列基于 Conductor release v3.5.2

1. 概述

本文主要分享Metadata API的实现,以Redis实现为例,分析 Metadata 的实现方法。
Metadata API 功能为定义工作流和任务

Conductor Server 的 API 层提供了两种实现基于 http 的 Restful 风格的接口以及 gRPC 接口。官方文档介绍中说到

The API and storage layers are pluggable and provide ability to work with different backends and queue service providers.

MetadataService 中调用的 MetadataDAO 支持4种持久化实现:

2. RedisMetadataDAO

com.netflix.conductor.redis.dao.RedisMetadataDAO构造方法中参数com.netflix.conductor.redis.jedis.JedisProxy实例由Spring Bean创建。其中JedisProxy主要操作的类JedisCommands在《Netflix Conductor 源码分析—— 初始化》文中提到com.netflix.conductor.redis.config.InMemoryRedisConfiguration中初始化。

在构造方法里还启动了一个定时线程,定时刷新任务定义缓存(taskDefCache)。taskDefCache为一个在内存中的Map(Map<String, TaskDef>)

RedisMetadataDAO 各方法实现

上一篇 下一篇

猜你喜欢

热点阅读