рдореБрдЭреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрд░реНрдлрд╝ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реИрдо рдиреНрдпреВрдореИрди рдХреА рдХрд┐рддрд╛рдм, рдмрдирд╛рдирд╛ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлрд╝реНрдЯрд░реНрд╕ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдЪрдп рдмрди рдЧрдпрд╛ рдЬреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
Microservices
рдорд╛рдЗрдХреНрд░реЛрд╕рд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ: рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рдбрд┐рдЬрд╛рдЗрди, рдирд┐рд░рдВрддрд░ рд╡рд┐рддрд░рдг, рдСрди-рдбрд┐рдорд╛рдВрдб рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди, рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдСрдЯреЛрдореЗрд╢рди, рдЫреЛрдЯреЗ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЯреАрдо, рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рд┐рд╕реНрдЯрдоред рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╣реИ (рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ), рд╕реНрд╡рд╛рдпрддреНрдд рд╕реЗрд╡рд╛ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рдЗрд╕реА рд╕рдордп, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕реАрдорд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреА рд╕реАрдорд╛рдПрдВ рдмрдирддреА рд╣реИрдВред
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд╛рдн:
- рддрдХрдиреАрдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╕рдВрднрд╡ рд╣реИ;
- рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЧрд┐рд░рд╛рд╡рдЯ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ;
- рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ;
- рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрд╡рддрдВрддреНрд░ рддреИрдирд╛рддреА;
- рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рд╕рд░рд▓ рдмрдВрдЯрд╡рд╛рд░рд╛ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдбрд╛рд▓рдХрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реИрд╕рд╡рд░реНрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ - рддрдХрдиреАрдХреА рд╡рд┐рд╡рд┐рдзрддрд╛, рд╕рд░рд▓ рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рд╕реНрд╡рддрдВрддреНрд░ рддреИрдирд╛рддреА рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рд╛рде рд╣реА, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреА рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд╣реБрдИ рд╣реИред
рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд░рд▓рд╛рдВрдЧ), рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ (рдореЙрдбреНрдпреВрд▓) рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рдпрдо рдХрд╛ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред
рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рд╕рд┐рд▓реНрд╡рд░ рдмреБрд▓реЗрдЯ рдирд╣реАрдВ рд╣реИрдВред рд╡реЗ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЕрдзреАрди рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдирд╛ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЛ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рддреИрдирд╛рдд, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВред рд╕рднреА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕рд┐рд╕реНрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рд╡рд╛рд╕реНрддреБрдХрд╛рд░
рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рдХреА рднреВрдорд┐рдХрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
. . , , . тАФ . , , , .
тАФ , , .
:
( ) .
тАФ , . , , .
. , . .
( DDD) тАФ .
, , . . , , тАФ .
┬л ┬╗, -.
. : , , - . , -.
:
-, , тАФ . , . тАФ . , тАФ .
, ┬л┬╗ , , . , - . . , .
, . . ┬л-┬╗, .
тАФ . . , ( ). ( ).
, тАФ RPC REST. RPC тАФ , , . REST тАФ , ( REST-).
. - ( ATOM) . , , .
. : , тАФ . -, .
.
тАФ ( 1.5.3 2.0.0) . URI (, /v1/createUser/
, /v2/createUser/
), , HTTP, .
( 1.5.3 2.0.0), тАФ , . , .
, . .
тАФ . , , .
тАФ API-, . , ( ).
тАФ backend-for-frontend (BFF). (, ) API- .
, API-.
(, CMS CRM). . тАФ , API.
. , , .
. тАФ . , , . : ; .
, . тАФ . . , (, , ).
. . :
. , (, ) . (-).
( , , ). . . .
, . , Chef, Puppet Ansible. тАФ , . тАФ , deb-. . , . тАФ .
LXC- тАФ . . Docker тАФ , , Kubernetes.
- , , . , , -. E2e , .
- - тАФ (), (). . тАФ Mountebank.
(e2e) . CI, , . CDC ( ).
- . ( ).
. .
-, .
- : тАФ . . -.
( - ) тАФ . (, , - -). , . , . , .
.
-, , . , .
-, . , (, logstash) (, Kibana) .
( , ) -. , - .
: - .
. , .
. тАФ , , . тАФ , . . , .
, :
- . , - - . , тАФ , .
- HTTP(S) Basic Auth. -, HTTPS, SSL-. -, ( Basic Auth).
- . , тАФ , , .
- . , .
- - (HMAC). , , . ( JWT) . тАФ , .
- API-. , , API-. , , .
. , .
. , IP- . .
. , .
┬л, , ┬н, ┬╗
, , , .
тАФ , , - . , .
: , , . . , , .
тАФ (graceful degradation).
тАФ . , - .
тАФ . , , , . , , - .
тАФ , . , , ( ), . . ┬л┬╗, , .
, .
тАФ . . .
тАФ . . .
тАФ . . - , .
тАФ , (), . . .
. , .
, -, :
, , .
HTTP . cache-control
expires
ETag . HTTP, , .
. , . , , - . , .
тАФ . ( , , ) . , .
CAP
: , . .
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╝реБрдХрд╛рдЗрдкрд░, рдХреМрдВрд╕реБрд▓ рдпрд╛ рдпреВрд░реЗрдХрд╛ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд▓реЗрдЦрди
рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рдХрд┐ рдХреЛрдб рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐ рдПрдХ рдЪреАрдЬ рдХреЛ рдмрджрд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрд╡реИрдЧрд░ рдпрд╛ рдПрдЪрдПрдПрд▓ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рд░рд╛рдВрд╢
рдорд╛рдЗрдХреНрд░реЛрд╕рд┐рд╕реНрдЯрд╡рд░реНрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрдИ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
- рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдореЙрдбрд▓рд┐рдВрдЧ;
- рд╕реНрд╡рдЪрд╛рд▓рди рдХреА рд╕рдВрд╕реНрдХреГрддрд┐;
- рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╡рд┐рд╡рд░рдг;
- рд╡реНрдпрд╛рдкрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХрд░рдг;
- рд╕реНрд╡рддрдВрддреНрд░ рддреИрдирд╛рддреА;
- рдкреГрдердХ рд╡рд┐рдлрд▓рддрд╛рдПрдВ;
- рд╡реНрдпрд╛рдкрдХ рдЕрд╡рд▓реЛрдХрдиред