Is it a microservice if the services pull data from the same database/file storage

microservices

My company wants to do microservices and has created an outline of their plan (see below) (focused on dealing with files). I am not sure this is really microservices since I thought each microservice would have an individual data store? Also, they seem like one-offs that have no dependency on each other so in the end is this just SOA?

When I think microservices I think about the classic shopping cart/products example where it's a collection of services that truly work together.

  • File Saving
  • Generate MD5
  • Generate Sha1
  • Reduplicate (MD5)
  • File Location Retrieval
  • File Retrieval
  • Delete/Disable/Invisible

Post Processing Services (can be async)

  • Identify File Type
  • Extract Text
    • Extract content
  • Extract Images
  • Extract Metadata
  • Screen Capture
    File History (Part of every service)
  • Transcoding
  • Thumbnail Generation
  • Image
  • Video
  • Audio generation
  • Descriptor Generation
  • Descriptor Insertion
  • Access Control/Authorization
  • Tagging
  • Caching
  • File Relationship Management

Best Answer

In a microservices architecture each microservice is responsible for its own data. Where that data is physically stored isn't really important. It's fairly common to have a central database for efficiency and to make administration easier. It's when one service writes to a table and a different one reads from or writes to the same table that you're diverging from the microservice architecture. Having one microservice's tables next to another microservice's tables isn't an issue.

Related Topic