首页 > 解决方案 > 如何在 avro java 项目中处理具有不同数据库名称的多个部署环境?

问题描述

我有一个使用 debezium 连接器收听 mysql binlog 的 kafka 应用程序。所以我放了一些 .avsc 模式文件和 avro maven 插件创建 java 类文件。我的问题是我的应用程序部署在暂存 kubernetes 环境中,在通过测试后,它会自动部署到预部署环境,然后是生产环境。

我正在听生产环境的数据库表的名称是 mysql.company.orders 但在暂存环境中的名称是 mysql.staging_company.orders 数据库名称的这种变化会导致 avro 模式文件、生成的类文件和自然的用法发生巨大变化我的应用程序代码中的此类文件。是否有任何标准方法来处理这个问题,或者我应该为所有类型重载我的方法(每个方法有三个重载),然后根据环境动态使用它们?

标签: javaapache-kafkaavro

解决方案


推荐阅读