Skip to content

(change) Allow to run the exporter as a different microservice #3912

@thomaspoignant

Description

@thomaspoignant

Motivation

Today GO Feature Flag is a monolith and it is has 3 main concepts

  1. Retrieve the flag configuration and perform evaluations
  2. Notify flag configuration changes
  3. Collect and export data about usage of your feature flags.

This works well, but under high load we can see that the data collection can have impact on evaluation time because of the load it takes.

Requirements

We should find a way to offer the data collection as a separate micro-service for people who wants to have a dedicated instance for collecting the data.

To do this we should create a new micro service inside cmd called collector that expose all the data collection APIs.

This will also have impact on :

  • all the OpenFeature providers, because we should offer the possibility to specify a different endpoint for data collection.
  • the helm chart to deploy GO Feature Flag

Note

We want to be backward compatible, so we must not remove the data collection capability from the relay proxy.

When implementing it, we should try to reuse the code as much as possible.
We must add the common code into a cmdhelper directory at the root of the repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    changeThis is a change in the code that should not affect the usersp2Medium priority

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions