Docker & Microservice7xi8kv.com5.z0.glb.qiniucdn.com/谭宗威 - Docker 与微服务.pdf ·...

Preview:

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

/

Recommended