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

Microservice pattern: Shared database #2667

Open
iluwatar opened this issue Oct 15, 2023 · 2 comments
Open

Microservice pattern: Shared database #2667

iluwatar opened this issue Oct 15, 2023 · 2 comments
Assignees
Labels
epic: pattern status: stale issues and pull requests that have not had recent interaction type: feature

Comments

@iluwatar
Copy link
Owner

iluwatar commented Oct 15, 2023

Description:
The Microservices - Shared Database design pattern involves multiple microservices sharing a single database schema. This pattern can be used to manage distributed data transactions and maintain data consistency across different microservices.

Main elements of the pattern:

  • Shared Database: A single database is shared among multiple microservices.
  • Data Consistency: Ensuring data consistency and integrity across microservices.
  • Transaction Management: Handling distributed transactions efficiently.
  • Service Independence: Maintaining the autonomy of each microservice while sharing a common data source.
  • Database Schema Design: Careful design of the database schema to avoid tight coupling between microservices.
  • Security: Implementing robust security measures to protect the shared data.
  • Scalability: Ensuring that the shared database can handle the load from multiple microservices.

References:

  1. Project Contribution Guidelines
  2. Microservices Architecture Patterns - Microservices.io
  3. "Building Microservices" by Sam Newman
  4. Martin Fowler's Blog on Microservices
  5. Spring Cloud Documentation

Acceptance Criteria:

  1. Create a new package for the Microservices - Shared Database design pattern within the project.
  2. Implement a working example demonstrating the shared database pattern with at least two microservices.
  3. Ensure that the example includes:
    • A shared database schema
    • Transaction management across microservices
    • Data consistency mechanisms
  4. Include unit tests and integration tests to validate the functionality.
  5. Provide comprehensive documentation explaining the implementation, including code comments and a README file in the package.
  6. Ensure the implementation adheres to the project's contribution guidelines and coding standards.
@nuxchristopher
Copy link

Hi @iluwatar, I have some initial thoughts on this issue, could you assign this one to me?

Copy link

stale bot commented Dec 21, 2023

This issue has been automatically marked as stale because it has not had recent activity. The issue will be unassigned if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status: stale issues and pull requests that have not had recent interaction label Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic: pattern status: stale issues and pull requests that have not had recent interaction type: feature
Projects
Status: In Progress
Development

No branches or pull requests

2 participants