2016-05-06 17 views
19

Tôi vừa thử tạo chủ đề Kafka "user:created" và thấy lỗi này trong nhật ký Kafka: Invalid character ':' in value part of property. Tôi googled và thấy rằng trong một danh sách gửi thư, mọi người đang nói về việc sử dụng ._ các biểu tượng nữa.Giới hạn tên chủ đề của Apache Kafka là gì?

Bạn không thể sử dụng biểu tượng nào trong tên chủ đề của Apache Kafka?

Trả lời

29

Theo source code for kafka 10

val legalChars = "[a-zA-Z0-9\\._\\-]" 
private val maxNameLength = 255 
private val rgx = new Regex(legalChars + "+") 

Vì vậy, chiều dài tối đa là 255 biểu tượng và chữ cái, . (dot), _ (gạch dưới), - (trừ) có thể sử dụng sử dụng

Trong Kafka 0.10 các maxNameLength đã được thay đổi từ 255 thành 249. Xem commit

Trong lớp Kafka 0,11 Chủ đề được chuyển đến gói nội bộ source

+0

Bắt đầu từ Kafka 0.10.0.0, giới hạn độ dài thay đổi thành 249. Xem [đồng phân] (https://github.com/apache/kafka/commit/ad3dfc6ab25c3f80d2425e24e72ae732b850dc60) để biết chi tiết. – tan9

+0

'.' và '_' được cho phép nhưng nên được coi là cùng một ký tự. "CẢNH BÁO: Do các giới hạn về tên chỉ số, các chủ đề có dấu chấm ('.') Hoặc dấu gạch dưới ('_') có thể va chạm. Để tránh sự cố, tốt nhất nên sử dụng cả hai, nhưng không phải cả hai." – phreed

+0

Liên kết bị hỏng. – Ztyx

Các vấn đề liên quan