Skip to content

Suggestion: Split backends into separate repositories/packages #34

@digitive

Description

@digitive

Hi, thanks for building and maintaining this project — it’s really useful!

I’d like to suggest splitting the backend implementations (e.g., Redis, SQS, etc.) into their own repositories or at least separate Go modules. The main reasons are:

  • Reduce unnecessary dependencies: Currently, when importing goqueue, projects pull in all backend dependencies even if they only need one. This can bloat go.mod and vendor files.
  • Cleaner modularity: Having each backend in its own repo/module allows projects to explicitly choose which backend they depend on.
  • Easier maintainability: Each backend can evolve at its own pace, with clearer separation of concerns.

A possible structure could be:

  • github.com/saravanasai/goqueue → core interfaces & abstractions
  • github.com/saravanasai/goqueue-redis → Redis backend
  • github.com/saravanasai/goqueue-sqs → SQS backend

(etc.)

This approach is fairly common in Go projects with pluggable backends and could make adoption easier for users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions