ethereum-oasis-op / baseline-blips

Baseline Protocol Improvement Proposals (BLIPs) play a key role in properly proposing, developing, and implementing changes to the Baseline Protocol. This repo contains all BLIPs.
Creative Commons Zero v1.0 Universal
10 stars 5 forks source link

[BLIP] Baseline-Out-of-the-Box Kafka Distribution #14

Open GoldenBit0 opened 2 years ago

GoldenBit0 commented 2 years ago

<The BLIP title in a few words, not a complete sentence>

### **Rest of the info is pending inputs -** , FirstName (@GitHubUsername) and GitHubUsername (@GitHubUsername)> --- Below are optional attributes of the BLIP that you can choose to use or delete: # Abstract Abstract is a multi-sentence (short paragraph) technical summary. This should be a very terse and human-readable version of the specification section. Someone should be able to read only the abstract to get the gist of what this specification does. # Motivation The motivation section should describe the "why" of this BLIP. What problem does it solve? Why should someone want to implement this standard? What benefit does it provide to the Baseline Protocol ecosystem? What use cases does this BLIP address? # Specification The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any Baseline Protocol compliant system. --- This is an expanded set of Headers to use for elaborating and completing a BLIP during review. # Rationale The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. # Backwards Compatibility All BLIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BLIP must explain how the author proposes to deal with these incompatibilities. BLIP submissions without a sufficient backwards compatibility treatise may be rejected outright. # Test Cases Test cases for an implementation are mandatory for BLIPs that are affecting consensus changes. If the test suite is too large to reasonably be included inline, then consider adding it as one or more files in ../assets/blip-####/. # Reference Implementation An optional section that contains a reference/example implementation that people can use to assist in understanding or implementing this specification. If the implementation is too large to reasonably be included inline, then consider adding it as one or more files in ../assets/blip-####/. # Security Considerations All BLIPs must contain a section that discusses the security implications/considerations relevant to the proposed change. Include information that might be important for security discussions, surfaces risks and can be used throughout the life cycle of the proposal. E.g. include security-relevant design decisions, concerns, important discussions, implementation-specific guidance and pitfalls, an outline of threats and risks and how they are being addressed. BLIP submissions missing the "Security Considerations" section will be rejected. A BLIP cannot proceed to status "Final" without a Security Considerations discussion deemed sufficient by the reviewers. --- Copyright Copyright and related rights waived via CC0-Universal. (This template adapted from the EIP template at https://github.com/ethereum/EIPs/
GoldenBit0 commented 2 years ago

1/10/22 Core Devs:

Manik-Jain commented 2 years ago

Adding my very initial thoughts for this BLIP :

  1. As a starter, we can provide configurable approach for the users to choose between NATs or Kafka, or may be using both for different/specific use-cases
  2. extending on the grounds with Battleship game, we can provide a plug-able, configurable, and scalable Kafka component which keeps enough active broker queues, so as to handle any new organizations joining at a later stage

cc : @GoldenBit0 @humbitious

ottomorac commented 2 years ago

I really like this BLIP! Any reason on why Kafka over Rabbit MQ? I presume perhaps Kafka has a bigger market share than Rabbit? The thing that bothers me about Kafka and Rabbit MQ is that while they are both open source, there is limited support for the AMQP 1.0 standard. It would be nice if they were both inter operable.

Anyhow I share this because we ended up using Rabbit MQ for our use case. I would be happy to share more details privately on our rationale for it.

GoldenBit0 commented 2 years ago

1/24/22 Core Devs: