千家信息网

Pulsar Schema是什么意思

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章将为大家详细讲解有关Pulsar Schema是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 Pulsar Schema 基本概念Schema是
千家信息网最后更新 2025年02月04日Pulsar Schema是什么意思

这篇文章将为大家详细讲解有关Pulsar Schema是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一 Pulsar Schema 基本概念
Schema是定义在topic上
Schema的更新策略是在命名空间定义。
以下图片是一个 schema JSON格式的例子

字段说明
nameSchema 名称(发现和topic名称相同)
typeSchema 类型,类型常用的JSON格式,其他详见官方文档
schemaSchema 数据是一个由 8 位无符号字节和模式类型特定组成的序列,这一属性可能是内部使用
schemaDefinition具体业务数据结构
properties存放用户自定义属性

二 Schema的生成
通过3种途径生成Topic上的schema
1 producer 生产者
2 consumer 消息者
3 管理API
topic上默认没有schema,以上3种途径谁先访问Topic,就按谁的schema结构做为第一个版本。
三 JAVA 管理 API
1 建立连接
PulsarAdmin admin = PulsarAdmin.builder() .serviceHttpUrl(url).build();
Schemas schemas=admin.schemas();//获取schemas管理对象
2 查看schmea
指定topic上schema所有版本
List allSchemaInfo=schemas.getAllSchemas("topic名称");
指定topic上schema最新版本
SchemaInfo snedschemaInfo=schemas.getSchemaInfo("topic名称");
3 删除schmea
schemas.deleteSchema("topic名称")
4 创建schema
schemas.createSchema("topic名称",schemaInfo);
关于schemaInfo对象的生成
1)可以通过RecordSchemaBuilder类型
RecordSchemaBuilder recordSchemaBuilder = SchemaBuilder.record("schemaName");
recordSchemaBuilder.field("ww").type(SchemaType.INT32);
SchemaInfo schemaInfo = recordSchemaBuilder.build(SchemaType.JSON);
2)也可以通过Schema
SchemaInfo schemaInfo=Schema.JSON(UserModel.class).getSchemaInfo();
四 schema更新策略
设置schema策略方法
Namespaces namespaces=admin.namespaces();
namespaces.setSchemaAutoUpdateCompatibilityStrategy("命名空间名称", SchemaAutoUpdateCompatibilityStrategy.属性);
是否强制效验schema
namespaces.setSchemaValidationEnforced("命名空间名称", false);

假设你有一个包含三个方案的主题 (V1、V2和V3),V1 是最老的,V3 是最新的

属性说明检查哪个 schema
Full架构 V3 和 V2 之间向后和向前兼容 (默认策略)最新版本
FullTransitive架构 V3、V2 和 V1 之间向后和向前兼容所有之前的版本
AlwaysCompatible可以更改schema结构,结构不同会产生新版本所有之前的版本
AutoUpdateDisabled禁用更新schema结构
Backward使用 schema V3 的消费者可以处理生产者使用 schema V3 或 V2 编写的数据最新版本
BackwardTransitive使用 schema V3 的消费者可以处理生产者使用 schema V3、V2 或 V1 编写的数据。所有之前的版本
Forward使用 schema V3 或 V2 的消费者可以处理生产者使用 schema V3 编写的数据。最新版本
ForwardTransitive使用 schema V3、V2 或 V1 的消费者可以处理生产者使用 schema V3 编写的数据所有之前的版本

关于"Pulsar Schema是什么意思"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

版本 名称 数据 生产者 结构 生产 属性 消费者 策略 类型 处理 消费 空间 篇文章 更新 生成 管理 意思 之间 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全导论测试题 河北的服务器是什么样子的 单位网络安全汇报总结 壁画效果图软件开发 神武手游服务器互通 关于网络安全的一千字作文 服务器有辐射 20世纪网络技术 数据库如何刷新界面 金华嵌入式软件开发工程师 宇视视频监控管理服务器 数据库技术与应用pdf 做网络技术支持还是驻厂运维 智能电网远程抄表网络技术 数据库没有正常启动 易语言如何直接连接数据库 选择数据库技术方向的原因 服务器怎么共享ip文件 软件开发组主管多少钱一年 软件开发企业后勤岗位加班吗 基于 数据库安全技术 永嘉oa软件开发公司 网络安全法保护哪些利益 软件开发技术基础答案百度文库 湖南惠普服务器维修维保价格 湖南泰穗康互联网科技有限公司 黄石市购物宝网络技术有限公司 数据库相关的安全技术 华为服务器删除了怎么办 绍兴网络安全准入控制系统供应商
0