Martin Fowler Microservices
Transcript of Martin Fowler Microservices
-
8/10/2019 Martin Fowler Microservices
1/16
25 M 2014
J L P
C T
T A
B. J'
.
H'
.
M F ,,
. H'
,
' . H
.
J
F
:
C M A
C SO B C
P P
S
D G
D D M
I A
D
E D
A M F?
H ?
M SOA
M ,
B
M
T
S
" "
. ,
,
, ,
.
"M" .
A ,
. ' ,
,
. S, , '
.
I D A R NSQL DSL D A M T
-
8/10/2019 Martin Fowler Microservices
2/16
I , 1
,
, HTTP API. T
. T
,
.
T ' :
. E A
: ( HTML
' ) (
, , ),
. T HTTP , ,
, HTML
. T
2. A
.
S . A ,
, ,
. , '
,
.
.
M ,
. C
,
. O '
, . S
.
-
8/10/2019 Martin Fowler Microservices
3/16
1
T :
. A
, ,
. T
.
,
U. B
.
,
. A ,
,
.
,
. I
.
F ' , '
,
. D '
.
. O
.
M ,
.
,
, . (T
OO 3.)
O ( )
. I 4
,
. B
,
. T' ,
,
.
-
8/10/2019 Martin Fowler Microservices
4/16
A
. M
P I. O '
' ,
. S
.
U . R , API ,
. I
, '
.
A , ,
. A
,
' .
,
, UI , , .
,
. A
. L . T C' L5
.
( )
' .
, 1967
-
8/10/2019 Martin Fowler Microservices
5/16
A , '
,
. I
,
. T
A' T P T (..
),
. O
'
.
T
'
. A
'
, ' '
.
2 '
T ,
. S
, , ,
. C ,
: , ,
.
3
O ...
C
.
L
, ' . C
. T ,
. I
. A
.
T
.
M :
. O
.
-
8/10/2019 Martin Fowler Microservices
6/16
M ,
. A A'
" , "
. T
,
.
T , . R ,
.
T' ' ,
.
, '
. A E S B (ESB), ESB
, ,
, .
T :
. A
U
, .
T REST
SC BPEL .
T HTTP API'
6. T
,
M (
, U) . O
.
T . T
( )
RMQ MQ '
; .
I ,
. T
. A
RPC
' . I
.
-
8/10/2019 Martin Fowler Microservices
7/16
'
S O A (SOA)
. T
,
SOA
. T , ,
SOA ,
"SOA" '
'
, ESB
.
I
ESB' 7,
,
,
.
C,
.
T T R
. E
,
, , . (A
.)
T SOA
SOA ,
SOA 8,
. E
, SOA
'
.
O
. E
.
, ' .
S '
. N.
? G . C++
? F.
?
.
O , , '
.
T
. R
.
T
, ,
. N
,
.
N .
S , ,
. S
,
,
.
F , .
T ' ' . Q
, . I'
. P
T R CD C
. T .
E
. I A
. T
. T
. T
'AGNI'9 . T
,
.
-
8/10/2019 Martin Fowler Microservices
8/16
,
T JVM
. I'
. A
. H,
' DSL'
( ).
I
10.
I
HTTP, ATOM
.
T
.
S IETF
.
T
,
.
P /
A. T
24/7. D
.
N 11. B
3
. T
.
D
. A ,
. T ,
. S
. T
() .
T ,
,
. A DD
D B C. DDD
. T
,
,
, .
A ,
. ,
'
. M
,
,
P P. ,
.
-
8/10/2019 Martin Fowler Microservices
9/16
D
. T . T
.
U ,
, . D
,
.
C
, . O
,
. T
.
I
AS
, .
M
C D ' , C
I. T
. T .
-
8/10/2019 Martin Fowler Microservices
10/16
O
. T
, ,
. T
N' ,
D
.
5
S ' C D
. ,
. P ''
.
A ,
. I
,
' . R, CD ,
, ' 12.
A
. I
'
,
.
6
A ,
. A
, .
T
. T
-
8/10/2019 Martin Fowler Microservices
11/16
C B R I!
B
T. I ,
. T
N
.
A
. S,
. ,
. A
...
N, API
API .
. N' S A
'
.
T
. T ' '
' .
S , '
, , .
M
, (
) (
). S
.
T
.
,
. M
.
M ,
. T
.
.
M
/
. D ,
.
M ,
. C '
, , .
, '
? T
13
. I
.
T G
, . T
-
8/10/2019 Martin Fowler Microservices
12/16
,
' API. T
, . S
,
. '
.
T
, 14.
. P
. I
, '
.
P .
.
, , () . T
. T
. T ,
.
.
O
. B
. .
T
A, N, T G, UK G D S, ..,
F .. T 2013
T CI. I
, . (O
SOA , ' , SOA . 15)
D , , '
. , '
.
O
. ,
, . M
,
.
, ' .
-
8/10/2019 Martin Fowler Microservices
13/16
T . I
,
. I' .
E
. B
, .
M ,
, , .
A I ,
. N
, '
. I'
, , .
F, . N
. B '
. '
, . A '
.
O ' '
. I , ,
. (A ' ,
.)
S . S , '
. '
' ,
.
S:
:
-
8/10/2019 Martin Fowler Microservices
14/16
, , , ' . ,
.
( ' ).
. , . ' ,
( ). ""
, ' .
, ' .
' '
, ' . (
' .)
1 T "" V M, 2011
. I M 2012, "" . J
M 2012 33 D K M J,
U F G . A C N,
" SOA"
J , D N, E B G T.
2 T U . I T A U
P .
3 M , , DD D
' . T
' "" . S
.
4 , ,
.
5 T M C'
6A , . S
, . M
'
.
7 ' J ' ESB "E S B".
8 N SOA.
9 "AGNI" " A' G T N I" P
.
10 I'
, JS HTML, CSS, , SQL
ORM . H , .
11A C " " "D "()
F N, 2013.
12 . O ,
. F,
.
13 I , D N .
S .
14 K B I P.
-
8/10/2019 Martin Fowler Microservices
15/16
15A SOA . I "' "
SOA . O
COBOL . I
, E ,
.
,
.
B
C V
D M
12 H
UK G D S
J N C C C
A C H
B
R
R
API D ( ). B M, A. E I P
A
G O O S, G T
T M F: O D P G
C D: R S R B, T, D A
DD D: T C H S
P
A A. E D.
D ?. J M F, QC 2008
G SOA. J , 2006
P E D. D N, 2011.
A C' .
H H. I R, J 2010
J . L R, Q 2008.
J, UNI . J L, J 2012
M . F G, O! 2012
D ... G T, GOTO A 2013
F R P RJ. B C, GOTO A 2013 ( ).
B M. S T, M 2012.
P
L. L, "T I R D M S", 1978 ://
..//////.
L. L, R. S, M. P, "T B G P", 1982 ( ) ://
...//614/2004//82.
R.T. F, "A S D N S A", 2000
://...////.
E. A. B, "T R D S", 2000 ://.../ /262
2004/PODC.
E. B, "CAP T L: H 'R' H C", 2012, ://..//
25 2014 ?
24 2014
19 2014
18 2014
17 2014
-
8/10/2019 Martin Fowler Microservices
16/16
I
D
A
NSQL
DSL
D
A
M
N M
D I
M ' S
I D D?
C I
NSQL D
DS L
R
P E A A
UML D
A P
P E P
S S
FAQ
C I
B
B
DSL C
EAA C
EAA D
P
B
C
M
T
G
14 2014
13 2014
12 2014
10 2014
M F P P D