From d6e70f88de90cf8bd2c853eb55f6d7700f21161a Mon Sep 17 00:00:00 2001 From: Junwei Zhao Date: Mon, 2 Dec 2019 16:58:31 +1100 Subject: [PATCH] Add service mesh diagram --- assets/images/service-mesh.png | Bin 0 -> 56230 bytes categories/microservice.md | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 assets/images/service-mesh.png diff --git a/assets/images/service-mesh.png b/assets/images/service-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ff8dbfc557853f69da15562b98d51ed2a61d2f GIT binary patch literal 56230 zcmce;RY03v7d059Xp5BMUcuenr4)CE;toZEyA+q=?i6=|6WpERL5jP(Pw4y2{1v008n;N=#VAb@8wb*;7Z|?dD}b8izMD zfz7Xn{H&3jP^v0|oKC6?Q+h>2lH z6vj#-#>9LMz0D6kgl}ZK&$lTE!G~eZxcJzI}}3t5E&xVwk5rIVFREg-rPk(Z<@BeNk{27 z2sBcJbUT->N|dh39gD+r8{5W^TRnm%Pu4nXv(fLfH}cT4aLRxf%@X&A_X>s#kxf>{ z@u}2Wl9ZNLgvY$|*Lo{5E6y z>mbSf#x-RwQI}d%<0*nk&Ou9ek5JwWFhVP*dt0C$lEtrs^`#B>YN3!gYsSfUX!v7E zwl${+sbTA7GQh4{uwOPp*b6Jfz71C!V*}M2y<}dC9)EZ#CKR^FPNFPe_9q_WUE90` zP*5&Xh(GL%B8ftG9f4|)#GV`no zC*2e}>ih5ccOqA6@rEEI97C5#%D!ZkcZe}8UsdCE-xlG8OZEBS?bjOded}*LyvdQ6 z{yN26AFB(Nl8LpE>_WaYG)4p|G9Oksc6)`8RiYBO z0aVde(onicXK^tHTQh@(8qqh9&YOcCs?NvW9FhAI0kS_AokB#|p*97513=k6k4(!; zEkXtW;JE>S_-N-6=o4Wy0AMR`1N!Kb3fzBR9Fk;I1ps`>5COjDlkRtYqhewJfKUt^ zKqy6lc|{i5p9-gRk^lW>SY(6qSJN<^cP}{Ay*vq?IxKNc5i8CY?8SUTq2Ek@XvWDz zlc(3!)Hga9PIGnm=iKO%&b;;bcahRFHlRbJ`v^K5duo-NFLM269k(8d1(X_3cWz zNbMm#=`qLYlH7h=qz;f`aWE_CutxzB@!;FkKYKIEdTp0H)fK~9=}eUatLstnyzh^W zZ?ziF4`AEmtkh!ua3lC?A(EcoV{Uk{aO(d-!}=@CEz07Or3z||Zec00!O)6E(U!JS z4Uz8SH&YIBp~%&_1B&MNQKF#m^e-0M)#tDFXK1V*EAT6|c{S98epPT^a)>leE=BkL*tFlao3%4kio0HX@U8?k0Hr^N}SndV; zPgqgtZM0YSH-tdEnDo}hKk)RwZg=;)E6>3#7XjSqeSySb!8QW>E}`<5PZS~b$$wRc zm$k6AFy)!Pw8=ustB)@NAFhQ$TI#+H1BX>Z-nxF&TU99?`n_=Gs+14a5urBYL$_C zJIixLXo@|Mw>>*$28IlBKaR=Ho>qb!cw}8~+$*;{Z1gj7ynw~KRqesDRl8@G^UmcI zbc@!!x)sHPVs9qyDiX%doIOl!s>hEgrg{&Eg0n1+yq{9CGpima+sxeTxE+Kmuw+ltXCWB0n^kP16Go*l2E(yhK$bj6gcQ7NQ`iL1ruA<_?NoG zSqVJ}XUJ0YJ@CV14%jdF%*;X{WS=6&lgP z-9RhB=V4fFY--ml+tk}}C6nH193AE~$XFIZ;C{&1h)?)5%Z*025X{>TU6^KnV=vuC zTMo>u@Q!P_S<{@^T8wiPei6#6J-lD*q#geYES9g-u6!r)g>z(i#cmRzXq5*u;U`Bj z?@^0Z-Ft5%M&+|PP|o!m*B*k!-+VV%n~=Zt7T1ZK?gt=mr&UWSj}g7O=oG5tGo8}g zdIwOzq=`vnkbbA=Rk%a(a^ogcG*ElT{?ey<7&&k`=-S0LRs)Wm_({F*J?G2r-dSBb zF#VH3vF}G{w_ooNd#gL2Wv}JvN8^UgTi%3%?sz*yvhO2SjaarXrLs(HX%iD;LOa&$ zTJ&xVtJyZCiZpDnV(F(L?Ba7qveFf#r%`FIT;Io1AIuCZ3wxelkkuI{+i8}#fbX)Mm31Z(B|G;F$o~2wx zQ$y-y{jxa?{+K;i(V+17cbY0(!Ot#h@n!vQVciOmVP^|p$3I#g)7zNTCEuiBAc-9o zg&NpIKty1pOmF_N>Pwb z*gexB#T3PRq5iu>a6;w6@d-5DxxedX-Ppx+Q>&V(!ZDc0TLv$PkC>}VCyDCpiCNZK zDKJLsWgD~`2G3=TG2iglTeoaMjNd)}6sk*OQm0*tNno{|6Z6qf(7-3wlN2dC6rlB3 zf`_RbvO>+ED#}CiF4X&jc|tIEz=dbcEer6NRD2w(-rOgGJS}d?^W?7{tyo<0^e?YC zQ&&DN@bquwAV)&y26cg9=7lIz`GnnXGOt)I-g&bO^I(q!2!FEu*w#z1Vaf|85xn;| zF5A)4i$lKhw$q%*KDf4$)nL<{da82`=yO`lV8K?Sw>U7$krS<|454K4uSv7fZP({e zVIVMS?O5Qlde#(%O40I-j#^1HMalP6D$-wFA}QEY^H!pZxO!mgE0akZ$Z>@9zGj_19r5wOl~7(QkYkS8>Kg3%ftc_l#171( z2iN}eV@G4Wmbd>b=7%jP%B)LAGj^7IGRka-r@vZZrxBt}>eQO&y`w>S9UH;U>w0Xt z!?o=aMX$4lkdhi$)Qhfd-j7x7b%b&(T6t(HpRaz@Bb4Czk`k^^>OvoxSdz(~)SYgt z0zh&odc(#dUH1WwUpF8xazBQB@tum-mM-d|u;Y%!M5sSl>)ybUI7z0lZ4H*wCW+uj zkOIuXm=zu5Y3I)15BK)-Fhxl4;fj>Tjx?`un)UUD1~OWX)Nh?4jLjG<9kpznU9Ior zE4#5^rOcS240B|b{6Zd=9jmSaEdnd%Ieac&nGtpRC7&gq3yh6riaz%JQLVJ5Td~2$ zH}4V*e;OVT?Q1W=FrX(R(`_oCnr|lb1%))P6C~JTiAJh8s^)xDDF-g%T_0vN)>_gl zX97J148gVEdbw^$Z&p1O)N_q-q+O$zm1zbxGJWSZ&?u6=-R96f74fiaeZ-EVRxeg5 zN)M4~2syYeR&W#MmKt1_VEuC@bmSM*dXJZfQlq4@>V6gMM2)2X6R$|Gu5-BpM-5b` zwr97Sv2$H6H?2NnxAVO5O#7bZ$EO@~4!_}8t#Yr5_g>rT^p=HvSazhGvN_fF-Yh0 z*HYC3yxx?qiS_P1^{CgN#b=U~?lb6tXQat2ioEET~v( zpQ6P4t8F#BjCin+jJEtTcZv?%Lg$nE!%ddBvF49frW$IjEi4>wmRND2LeZIfe_a*^ z$~6y4zAE>LK!?20z3j3wxT;ZdOrJFLLw4E4}M#k^}NxGPMF zP+TZTsM}b$%j~Y?Do#Zwh&e?d`ff8K|AIZgT+1ur-f@ISuMB1w>Sb)(@Afs`gxPyV zMQ*wsH@;Z@eO9(VL?;Hr;Q%geV}Z?`pOcIQ?U`-}-{zQ46i6VAPc zL;bQL{hI@!IbCcBkS+W9H>CeY(h&PKM$55MQrX*_57xh+7)>x6YwRwGJp22RUd@J+Fi4PB{QBBFZ3-NKM*{`-!RVD6W}`%b z=4a1*SH3+@Rv7UOJoP`Rza3%Z{ix|#!B2WlHj*vD7#@h|UDAOjX+9`S)&YE<+e0^d z@^=yKM4A^luD<<_1YLz3da{s7*RMXC4dD;m4~qZb*7YVW(c`FQCJBgSFlPzFpOvw= zR`N4Im+Zh*NM$2+6&f0`wQ*nFfVdcWjwv~c>Vsllje#y)@bM3 zH0Bhq`q_Ah+{GR{gj-qkUU!**VDb@PrL@8bYzIHQd69h zF4+E};FrER1)nw6anbGt0y4U;`Tc1V!^9P6XAn4j+0pHsgPGX8v4mjpZgaxy6I+2H2 z|2)SgQYxBrCwvPn-+yR7?};Jh1}lbcl81O`;rx}4?-J$d^h?zf zCC28B9~NVGog@Eee3{v^ zZrF(dbIswoVppZfvO(sLWMa6)|qe zZpehn{n6cQ!q30|WCE!ro#$|wKSWEJF0S9w-KiouH9y)kmKfWxJ@|jdx6+ctX&>pZ zn~@J#*96gtrDaANSQ$&!AcZKsa6IvsnpiFcIRCA=%lPR7sq)dqRgf!Cq!w6eTe4UR z0J@{Ys=!0#tsj5TU2_6W_xG*DysqZy{?I!Je~OK5YDx~A+&he0lkPx!!#Sse+pVisCv~u@H#OyYbHETKZspE~=8e7L`cVHy#3n=- z%QtkJz|SKyhUI@otvu}*i&fn_$`-2KjwMK!__?pMs-A8iPDCScf8LqwyPeZJSr%K? z^)1_d=B0~B&8-~h4+ue*@T6G#>m|5!3OTrnPuTf$L@W&!J4()7IguW?Y~b#EcJJ=r zeOmDxDi%Ah{zh4brUGC8#!v>)pgI4!snhBFDN*96l>(J7QR0LM_U3!rQUCxO4#(kC z+;Io05s?E+WzP41d$;o0%nKz~op%W%aX{ZR#R6ov^GbdZ&T3?Ku*@(j8w}KS>XGBq z>XY4i_LcKh^HHaed{Z8Ns|PyJj#5pu%Z}OW87-_I9-4YOilxSl5+2U;uDYFeTKFLq1H83icIhNDy(9X@?#mls={k?LQ#`rdh zU{}sQIdg~{sF5hFPS3&)^L3HuU`G*Ex2P<>o$-^!R&ZtL8r{QwOtF--lg}Rttm-}i zi+7$??U@s_&zi%1ioFf|Ov5~^UY<1_ zyqTGy{Xlcal|dD~*bN5$wBAdZA6X7^RN8|7v=l6iYMY$A!>Inu#Dx&&?^X}Lm z1IDD<0)mKY*2U^qBJ3$g0@Rlk?SM)wXI*jAAB5IiD?TSk`1@r5Uf0cMP!Z{O~$KN{pkB442>7y#Ml5mhFa{SVi%$OX9cBGo**Jp5j60^}cH z{^4xCOyfuwIN{1Gyod(JExDhI75_uxMr4!wmnD~w9pCYmT)>Js826Gw;ks8~4wY&| z)jFETV1*n%yb0wZf4V}@^#OWJN;4a-GuxR>^h9wqiQI{+)Y*a#J}^9t0!8#tFt(W~ zhg3Z!PZ1G)-{k(H5sI0^T1@6pe3#%iDua`bTSOYmP+rWUm{}5V;MADR3dDgZMQ*k1 z+T`Sp|K*xd#AI6lj@?ngg%|nP@CD|oh??;GVr&Ab2R^BY_ButRwO+sieX+c#c~?iL zC3>s;JTQdyN zq0_FXPCI538*NiVrxvM7Mv*drbTlooKq^E7dr8hFV>3-GocHIOstWwkEOSK?rz$2^ zt{2dI1@WjhNjv-S^5+;b6i(eH&qv>|Ey=Yu)IqF#tGQ$DOHkYrRgKb~FRklLFXYDC zCwn!`>^zqx;J6;^CaQjNlQSzCyi*Tf(2fW?=G6&1tH%@8vqR4j7;H^F+9Frs@Sh*c z*d9i@l8n}c)7aU?OM*M{Wh;63mZ6W3;ruMQOO$j(LR9TIAs-1H{)#+5;?t1yGl1Z{ z4CZ!t#;%`>cmq;k+vhaF%+P&>TU$8_^d_Zf8$095ZQV5VTxvm#n?~_(B_S2DB)2;g z;|7;~alLJ1TMs>xvkZ!=HeOMCM?SQNmju)GR}Lu0Q_fKDv1V?tb}U%Ffn0ha7om*g zAm%0!k63xo=Y~O_jB!#M9PR9hfU)uY<~z;jp@*V`H|?aKa0~*Y?6()tm2+EVS>pbf zYjcTtG%|@S9k-JW$%o(6BMg0oQ&qtCpY+-Vj5B!Pefh#VVN&QNuO$6ul1f>P(uxQsXl1zIfhk+-uso)6&gY#@dOums|%=MUl{&|C3=5^ruv^zL_kvbJ4 zBn{*1k2dlFv%L1?!BE(PE_CKUFDwpZjE+FlXw z*Y=8?L))u8LL2J%d#I6Rvz2K#FzgHDHqF{W>dT|GVE^+CT{(uWa|K+g(1{^A0DM`h zp+_McOXxccC@qIQ00px@9_MuzBukew*i@+o$PGkmk?5{`aJIJ}2DV5vcy>J7#z%;Q z2WukU99Xy6W;qQTuCOfsh7>evlk7wQ0CaqB_u&CWbRQ{lq2!8P_0}hfo`kvyXCKa> z`sK|j8u@wo7T$X?q%+bP{QR!p?VcL;w{tMm-@U1c4t8Ii#DOmrJ@fZ`*g!r zo9(FW;{m4r^~S%UsWiXHk8{s!;jb<8y_CxCYL*mdYTG&Yzz{sZi5nk?>{iXv^Pp|r zq9}(65ZdbyK?5ilrZd@6i7?a5^YR_kqwEQ5E*>bXf1B#?({^-J3(Eg!4Iy#2>A<@CY)Tt9vZAzFYpknT z#4f#Mt!W!^`b~{~n16d8LrIgF)+Mrd!Fm32HG zWki21J)=_>8DU2X(=TG2DS{kvQ6gIxHx=JXrpb&`qhEvpE6tzHkp5|dLTS&%K%Rf& zs(_b6Q*6;`RGrkbJ|Z+0Aq z|8X#C5uB-b^4R+z~o3*dnP?5juIG)4D+W=*b*BY*)=p}$UZ znvpqaog;t}@GsLvLJ0jvVd}!kF7m(ceH*4Y@vzehgaxt+y3@f3W&9Ds z1^`AP?j)jvaiWi*C{$!~j_rTijmpT=&=UQdu2d`iG(wqk`kfHBCfL%e$IBcF#78|~ zo`2e!LQ8tj(0g;Zlu9!bl~Rla_-@*{z$^+^SV3S_Ot_DbEhEx8ishyFFWDzIyE zN3&GDo%v?+B+$(v$0Z_&2td~GcUm|MD;B>jIXtrs%LPq=b6U1oqrq0U$IEFX5o(Jz zUeju$DE4g#KV?EnZ`Ibg4g-z+7opszS%6E{yT)eSi8GQ{(_G3`E^nd6p1B8`H zz5lbB`WKlxZKhxhhaok|`%U_3HQ6w6{+Eqe{A14Q0si_^V$!3-Iyx2IPf)j0gDU5R zA-|d8)e$;I^7`92p%X{aHaXuvzvrUyaIu0ldZd+4mS>Umm=vSXp(^bB6J-E$B(|T8 zl_|CV`}pAZ`(Ae)796l?l6(3O`Nl0v-J^tJW`Gex?^3gh`2*TuYqK32Gt2JzXHmCi zdiiFe25+)Dfe`sszCYmaYKrqAc#P;36^J@dg@+4;#k-36A);sij4qKoaa@IbB~Aqz z6{qNAyp?sOA@U9_kSSH4-<>-?^@f;Mj3$@4ob+iI@ z-x^RzVd70IGnx*?V+^N?ZbCn@u1}5ThPuG-ektL;5vdvlw)+jXGzpFOaR+4bwYE2@ zRoYg=(*<9>e&zYi*N>wOYE1Lm`0i?9?X)FImanAB4sEn?QH6{9YG9MO-Y(Twar*(Sqe3@2+7i)?s&*-{>qe?O4JjP`b$PaqkMA zJRbRq*yW}?Gk_cvi(Bg$`0CkJBe% z3ba^jU$OQNY2z&l6VQwEStnz+IfMQ*b%JrB5IEGR_N60S(y|ro3j_X4iwMqr<=B@E2FJsA~>lF~U@jEE5snwY?Q!QX~J1CczwAijRgN5j~iMPS9tXPeh%rUhN^GepjQBV^A z0J_#c+WPbG-Nk9uw;Z-;wQ4^V(bmgmA-hz!Zs6FMXe}t5Hc2UAgHT`HjPJdn!tW)C z>8V126~7`mR5Oro%N6sWM$HVVXQ45IJwmN04bNZ40OVuE;XI#GJakVhb~_9P#W#;A zgJP&sUooHT4qzVptqAE}9mc+B7#au%eQa8*W)Tdt<;SA7?A~&=X=gp z0Yx+%)$-vsxYc}T3Yqx{{QJm0qpMv#LeO6;FcJJ_KvG5QxPt%EEO)PynonW*kp3D- z06kv-LinA*ugl90OG!^xQO}l5aJ9Z!@u>7{tkeg4?6{ar=88}KO{CWb%T!p~Bvc&R za&O@ms;nDO5)cr$e`^wbWwnLec5_g&zZPZr)WxFhp7oO^wY$DVo<~B!u~|!wP(TV*KOO?U23q)t20PtchG2C7y~6*X-WB70tU?P;F0hzO}iT&v)7Zcm50AOXJ!3)NT_ol=xh}ySf=?>(y05 zr=$3_K9R-^wr{v@LcLdV}MGKxz4`dR6;eka|<_WnX0o&TQ^L4zi$ z;Nx1f@n|Z$<6`|_Jp^=c)?CJm0E7i}v@X;-TA_jf3ae#0O-f*&IbFxaYuxr^j7axJ z&$}Av*Zx}~lie84!Ohm%>JtO;eU-v-%Zb_E?Ix`V`TKtosQON)5AxQ*Vut~BB@k+5 z6yY>&XuEu9J=)fOQI&%V-(l?y?*GEwc9-V3fVAF^Gt|vLS &#uqlzoAEvEr^S! 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

l8y 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 literal 0 HcmV?d00001 diff --git a/categories/microservice.md b/categories/microservice.md index 92a88f0..ed15866 100644 --- a/categories/microservice.md +++ b/categories/microservice.md @@ -17,7 +17,10 @@ ## Service Mesh -A service mesh is a way to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. This visible infrastructure layer can document how well (or not) different parts of an app interact, so it becomes easier to optimize communication and avoid downtime as an app grows. +The term service mesh is used to describe the network of microservices that make up such applications and the interactions between them. As a service mesh grows in size and complexity, it can become harder to understand and manage. Its requirements can include discovery, load balancing, failure recovery, metrics, and monitoring. A service mesh also often has more complex operational requirements, like A/B testing, canary rollouts, rate limiting, access control, and end-to-end authentication. + +![service mesh](https://raw.githubusercontent.com/wahyd4/knowledge-mind-mapping/master/assets/images/service-mesh.png) + ### Opensource Projects