際際滷

際際滷Share a Scribd company logo
data records
Microservices
Yonatan Maman
@yonatanm
are about exposing data
Databases
are about hiding itServices
Keep your logic close and your data closer
GET
/Weather?country=Xdate=Y
DannyRoup
Service
READ
W
RITE
User
Service
Keep your logic close and your data closer
Keep your logic close and your data closer
GET /Country?tempHigherThan=X&date=Y
GET /CountriesSameTemp?temp=Y&date=X
GET /CitiesTempHigherThanMedian?date=Y
GET /allData?updatedSince=YYYY-MM-DD
Keep your logic close and your data closer
GET /allActiveData
EntityX
Service
Consumer-1
Service
EntityX
Service
Consumer-1
Service
Consumer-2
Service
GET /allActiveData
DannyRoup
Service
3
2
1
Dat
gri
EntityX
Service
Consumer-1
Service
Not per-request model
Not deployable
Usually another team
*
*
*
Keep your logic close and your data closer
Keep your logic close and your data closer
Tuning is like a walk in the park
Tuning is like a walk in the park
they pull me back in
Just when I thought I was out
Hide DB implementation
Enable full data access
Multiple use-cases
*
*
*
Keep your logic close and your data closer
Consumer-1
Service
Consumer-2
Service
EntityX
Service
Keep your logic close and your data closer
! Big Data
! Source of truth
! Memcached
*
*
*
EntityX
Service
EntityX
Service
Consumer-1
Service
Consumer-2
Service
Consumer-1
Service
Consumer-2
Service
Consumer-1
Service
EntityX
Service
Keep your logic close and your data closer
Cluster topology
Data sync
Transactions
*
*
*
GET /allActiveData
Consumer-1
Service
Consumer-2
Service
EntityX
Service
Producer
Service
Keep your logic close and your data closer
WRITE-Through
READ
-Th
rough
ORM is allowed here every other day
Today is that dayNOT
Keep your logic close and your data closer
Hide DB implementation
Enable full data access
Multiple use-cases
Keep your logic close and your data closer
Distributed data
Map Reduce
SQL
*
*
*
More usecases
Cache
JVM: Service && Data
DB as software
Another type of dependency
JVM only
*
*
*
*
*
Never tell anybody outside the family what
youre thinking
...but find a way to share your data
Keep your logic close and your data closer
Keep your logic close and your data closer
* Language
* Dependency hell
* Threads leakage
* GC
* C.I.
* Better decoupling
* Choose your stack
* Ownership
* faster deployments
* and more . . .
Keep your logic close and your data closer
back the world
you and the world
In the fight between
-up your data- Franz Kafka
Public API
Never tell anybody outside the family what
Youre thinking
Microservice
Is your implementation
Keep your logic close and your data closer
Keep your logic close and your data closer

More Related Content

Keep your logic close and your data closer