Skip to content

Improve the implementation mechanism of queue mode. #96

@yang-xiaodong

Description

@yang-xiaodong

Some refactoring about database queue mode

When we used the database queue mode, we encountered the following problems:

  1. MySql Queue support for the database is poor, it is very troublesome to implement, and error prone.

  2. When the database uses load-balanced middleware, due to data synchronization and consistency issues, the queuing model will cause great trouble.

  3. The database queue mode brings the overall architecture complexity.

  4. The database queue mode will operate too much database, leading to low performance.

Due to the above issues, we have made some adjustments to the entire CAP architecture. These adjustments include:

  1. The cap.queue table was removed and we used the memory queue instead.

  2. Removed the status of some messages, such as Enqueue and Processing.

  3. Refactored a part of the code, now they are easier to read.

The new code is currently in the remove-queue branch.

For the end-user's API, we did not make any adjustments, and we can safely upgrade after the test is stable.

We will release a minor version in the near future.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions