Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Kafka open source  (0x000)
  • 0x00000000-0x0000FFFF Kafka open source
  • 0x00010000-0x000FFFFF RESERVED
Local (0x001)
  • 0x00100000-0x0010FFFF Local use - Infrastructure
  • 0x00110000-0x0011FFFF Local use - Client
  • 0x00120000-0x0012FFFF Local use - Stack/Middleware
  • 0x00130000-0x0013FFFF Local use - Application
  • 0x00140000-0x0014FFFF Local use - User 
  • 0x00150000-0x001FFFFF RESERVED
Open (0x002)
  • 0x00200000-0x0020FFFF Open use - Infrastructure
  • 0x00210000-0x0021FFFF Open use - Client
  • 0x00220000-0x0022FFFF Open use - Stack/Middleware
  • 0x00230000-0x0023FFFF Open use - Application
  • 0x00240000-0x0024FFFF Open use - User 
  • 0x00250000-0x002FFFFF RESERVED
Testing (0x003)
  • 0x00300000-0x0030FFFF Testing - Infrastructure
  • 0x00310000-0x0031FFFF Testing - Client
  • 0x00320000-0x0032FFFF Testing - Stack/Middleware
  • 0x00330000-0x0033FFFF Testing - Application
  • 0x00340000-0x0034FFFF Testing - User 
  • 0x00350000-0x003FFFFF RESERVED
Reserved
  • 0x00400000-0xFFFFFFFF RESERVED

 

From this perspective we would have the following:
  • A kafka header used in the kafka open source distribution could have the value of 0x00000010 (10).
  • A header used internally at organisation X would fall under Local. If it was something used by infrastructure, like tracing, that could use 0x00100010 (1048592)
  • A header used by an open source project somebody is working on, that they just want to put out there (without coordination) could start using a value of 0x00220010 (2228240) if it was a plugin for annotating the location on a message.
  • An application that was testing whether it can use headers for a new feature it's developing could pick a header with key 0x0034010 (3407888).
  • The Kafka open source number space is coordinated via the Apache Kafka opensource project.  A class would list all possible headers, their numbers and their string equivalents (for output/logging/etc).
  • A Local organization is in charge of coordinating it's local number space. It would be in charge of writing a text file, a class or a service to coordinate who gets what numbers when.
  • In the open internet you can grab any number in the Open space but should expect no guarantees that other people may or may not be using that number.
  • When you're doing testing you can safely grab a number in the testing space and be assured that you won't collide with an official system header.  It's still possible to collide with other testing headers, but no production system should depend on these headers.

...