从confluent-kafka-python repo 中的AvroProducer示例来看,键/值模式似乎是从文件中加载的。也就是说,从这段代码:
from confluent_kafka import avro
from confluent_kafka.avro import AvroProducer
value_schema = avro.load('ValueSchema.avsc')
key_schema = avro.load('KeySchema.avsc')
value = {"name": "Value"}
key = {"name": "Key"}
avroProducer = AvroProducer({'bootstrap.servers': 'mybroker,mybroker2', 'schema.registry.url': 'http://schem_registry_host:port'}, default_key_schema=key_schema, default_value_schema=value_schema)
avroProducer.produce(topic='my_topic', value=value, key=key)
Run Code Online (Sandbox Code Playgroud)
看来这些文件ValueSchema.avsc和KeySchema.avsc是独立于 Avro Schema Registry 加载的。
这是正确的吗?引用 Avro 架构注册表的 URL,然后从磁盘加载键/值的架构有什么意义?
请说清楚。
OS: Ubuntu 18.x
docker image (from dockerhub.com, as of 2020-09-25): confluentinc/cp-schema-registry:latest
Run Code Online (Sandbox Code Playgroud)
我正在探索 Confluence 架构注册表的 HTTP API。首先,是否存在关于注册表假定的 JSON 架构定义版本的明确断言?目前,我假设Draft v7.0。更广泛地说,我认为返回受支持架构的 API 应该列出版本。例如,而不是:
$ curl -X GET http://localhost:8081/schemas/types
["JSON","PROTOBUF","AVRO"]
Run Code Online (Sandbox Code Playgroud)
你将会拥有:
$ curl -X GET http://localhost:8081/schemas/types
[{"flavor": "JSON", "version": "7.0"}, {"flavor": "PROTOBUF", "version": "1.2"}, {"flavor": "AVRO", "version": "3.5"}]
Run Code Online (Sandbox Code Playgroud)
所以至少程序员会确切地知道模式注册表的假设。
抛开这个问题不谈,我似乎无法将一个相当简单的 JSON 模式发布到注册表:
$ curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1+json" --data '{ "schema": "{ \"type\": \"object\", \"properties\": { \"f1\": { \"type\": \"string\" } } }" }' http://localhost:8081/subjects/mytest-value/versions
{"error_code":42201,"message":"Either the input schema or …Run Code Online (Sandbox Code Playgroud) 是否有与Java 8一起使用的待处理任务队列Executors.newWorkStealingPool()?
例如,假设#available核心为2,并且Executors.newWorkStealingPool()为空,因为2个任务已在运行.那么如果第三个任务被提交给工作窃取执行者会发生什么?排队了吗?如果是,那么在队列中有什么限制?
提前致谢.
我还没有将我的rails项目迁移到雪松堆栈.我想在heroku上将一些错误修复程序推送到我的生产应用程序,但这是响应:
$ git push heroku master
remote: ! bamboo-mri-1.9.2 stack not supported.
fatal: unable to access 'https://git.heroku.com/project.git/': The requested URL returned error: 400
Run Code Online (Sandbox Code Playgroud)
是否仍然可以部署在竹子上运行的遗留应用程序?
谢谢!
我在 AWS 上配置了一个包含 3 个代理的 MSK 集群。有什么方法可以暂停集群吗?我们的想法是,这是一个为开发目的而保留的集群,并且为了节省我们的云资源预算,我们将间歇性地停止该集群(例如,在周末)。
这可能吗?