Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better topic management #30

Closed
1 task done
fdelbrayelle opened this issue May 11, 2020 · 2 comments
Closed
1 task done

Better topic management #30

fdelbrayelle opened this issue May 11, 2020 · 2 comments
Assignees
Labels
enhancement New feature or request next release

Comments

@fdelbrayelle
Copy link
Owner

fdelbrayelle commented May 11, 2020

Overview of the feature request

Separate topic name from consumer for instance to update this structure:

kafka:
  bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
  polling.timeout: 10000
  consumer:
    fooEntity:
      name: queuing.my_application.foo_entity
      enabled: true
      '[key.deserializer]': org.apache.kafka.common.serialization.StringDeserializer
      '[value.deserializer]': com.mycompany.myapp.service.kafka.deserializer.FooDeserializer
      '[group.id]': my_application
      '[auto.offset.reset]': earliest
    barEntity:
      name: queuing.my_application.bar_entity
      enabled: true
      '[key.deserializer]': org.apache.kafka.common.serialization.StringDeserializer
      '[value.deserializer]': com.mycompany.myapp.service.kafka.deserializer.BarDeserializer
      '[group.id]': my_application
      '[auto.offset.reset]': earliest

Into:

kafka:
  bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
  polling.timeout: 10000
  topics:
    foo-entity: queuing.my_application.foo_entity
    bar-entity: queuing.my_application.bar_entity
  consumer:
    fooEntity:
      enabled: true
      '[key.deserializer]': org.apache.kafka.common.serialization.StringDeserializer
      '[value.deserializer]': com.mycompany.myapp.service.kafka.deserializer.FooDeserializer
      '[group.id]': my_application
      '[auto.offset.reset]': earliest
    barEntity:
      enabled: true
      '[key.deserializer]': org.apache.kafka.common.serialization.StringDeserializer
      '[value.deserializer]': com.mycompany.myapp.service.kafka.deserializer.BarDeserializer
      '[group.id]': my_application
      '[auto.offset.reset]': earliest

In Big Bang Mode, previous or existing application.yml configuration will be erased so there is no need to ask for which existing topic name.

In Incremental Mode, after choosing components a new question "For what topic?" will be added with following answers:

  • existing topic names in current configuration
  • input a topic name
  • default topic name (queuing.application_name.entity_name)

⚠️ There is a problem when choosing a topic created for a Foo entity consumer in a new Bar entity consumer?

Motivation for or Use Case

Currently 1 topic = 1 consumer but in real life more than 1 consumer can consume messages from 1 topic.

Related issues or PR
  • Checking this box is mandatory (this is just to show you read everything)
@fdelbrayelle
Copy link
Owner Author

Linked with #17

@fdelbrayelle fdelbrayelle added the duplicate This issue or pull request already exists label May 22, 2020
@fdelbrayelle fdelbrayelle changed the title consumer: Configuration and topic association review Better topic management Jun 8, 2020
@fdelbrayelle fdelbrayelle removed the duplicate This issue or pull request already exists label Jun 8, 2020
@fdelbrayelle fdelbrayelle self-assigned this Jun 8, 2020
@fdelbrayelle
Copy link
Owner Author

Fixed by #86

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request next release
Projects
None yet
Development

No branches or pull requests

1 participant