Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
Docker & Microservice
@
60+
2014.5.12Docker & Microservice
70%
- -
380 98%
- ·
+
Scrum
EA Coding.net
DaoCloud.io
DB
EventBus
Conmand
CQRS
EDA
Microservice
EDA EDA
EDA
CQRS
Domin Event
Evans DDDService Repository
Saga
DDD+CQRS+EDA
CQRS Architecture
Microservice
Advantages of Monolithic Applications
Well Known
IDE-friendly
Easy Sharing
Simplified Testing
Easy Deployment
IDE
Disadvantages of Monolithic Applications
Limited Agility
Obstacle for continuous delivery
“Stuck” with Technology Stack
Technical Debt
Characteristics of MicroservicesDomain Driven Design
Single Responsibility Principle
Explicitly Published Interface
Independently Deploy, Upgrade, Scale, Replace
Potentially Heterogeneous/Polyglot
Light-weight Communication
Advantages of Microservices
Easier to develop, understand, and maintain
Starts faster than a monolith
Local change can be easily deployed
Scale independently
Improves fault isolation
No long term commitment to any stack
Aggregator Microservice Design Pattern
Proxy Microservice Design Pattern
Chained Microservice Design Pattern
Branch Microservice Design Pattern
Shared Data Microservice Design Pattern
Asynchronous Messaging Microservice Design Pattern
sub RabbitMq
Kong
S1
S2
Sn
DB
DB
N
http
http
http
http https TDNS
http
http
http
http
iOS
Android
Web
.netsub
pub
http://blog.arungupta.me/microservices-monoliths-noops/
http://blog.arungupta.me/microservice-design-patterns/
http://martinfowler.com/articles/microservices.html
Docker
No Docker No Microservices
InfrastructureAsCode
Docker Compose
Dockerfile
CI/CD
Caas
Docker Swarm
Docker Compose 2.0
/