10. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Micro-service cons
● Implementation of interfaces
● Response time
● CPU and network usage
● Time to setup a new application
● Can also become hard to understand
10
17. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Modelization
17
POST /photos/{accountId}
GET /photos/{accountId}/{photoId}
PUT /photos/{accountId}/{photoId}
DELETE /photos/{accountId}/{photoId}
POST /boost/{boostId}/increment
REST approach Commands
25. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Pattern 1 : pull data
25
get photos
does have a
photo itself?can see photos?
Exposition
Layer
Rights Photo
- performance
- reusability
+ hides complexity for clients
+ fast change of business rules
26. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Pattern 2 : push data from client
26
send message
Exposition Layer
Rights
Message
conversation
already started ?
can start
a new conversation ?
+ mutualize data fetching - harder to change if multiple clients
27. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Pattern 3 : store data
27
Event bus
read message
Exposition
Layer
Messageget
visible
messages
Blacklist
blacklist
added
hide
messages
+ performance
+ reusable
- long to implement
49. @matterstech
meetup.matters.tech
Meetic back-end
redesign in micro-
services
Feedback of that choice
49
For Meetic, this architecture was a good choice :
• Symfony helps standardization
• Can scale teams
• Clear implementation of all features
• Answer business needs