From 5dd4448593726373df60b0b2cde58272567b773a Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Sun, 7 May 2017 18:31:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=B6=E6=9E=84=E5=9B=BE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- doc/架构图.pptx | Bin 101614 -> 101668 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a29f14fd..a8191246 100644 --- a/README.md +++ b/README.md @@ -455,7 +455,7 @@ XXL-JOB首先定制了Quartz原生表结构前缀(XXL_JOB_QRTZ_)。 接收“调度中心”的执行请求、终止请求和日志请求等。 ##### 5.3.3 架构图 -![输入图片说明](https://static.oschina.net/uploads/img/201610/03211500_213n.png "在这里输入图片标题") +![输入图片说明](https://static.oschina.net/uploads/img/201705/07182857_ilLf.png "在这里输入图片标题") #### 5.4 调度模块剖析 ##### 5.4.1 quartz的不足 diff --git a/doc/架构图.pptx b/doc/架构图.pptx index cdf5318c67363f9aecbc0fd5531babf54a08bac1..133b56fcbfb09a5fb8623610da0ed1f95b5478c0 100644 GIT binary patch delta 6138 zcmYkAWmFYy*MJ#1C8WEhLmKG^rMpAm&>-D?=tklIhdOjhH_{+o(tQ9?O6s8m$q#+s z^{#JzU2E@a-?L|C&FnSzNhWG>7HVBK6Xw642v)x0A|OByAWj0rV16ziM~9>LM$Qz& zL_yrsPg4I@1SWlUhm+B{nQ54>_bOnov7Wax>k&Y9xH^o--C_|H=61IkRs7`jPliv7A#{lf0h0ji|F zVSno~#zt)1Lq7lW5xlE-wxX2Aq|4DnKU^zfvem&p_`#|2=H}oOd|JQjHeN|2>)6wL zR7KcYSpM0Vt@)FY(-%7!W>yV%_ZoVC-?WXaEQQzlr z1qFZVcypGU*tG=}Q((OR8Z!WCZTUH=J8S5kvzS$|Mle~v8VFAGFpRJAo2eXK(!J2! zZ$F3iJjgD0E{oB8s?FPwpdtP#z-u}fddff0M5uH|;>vqf)>FNas<|KpX`MQsdbgZZ zYwi#MODoK{|8TyUaz6o&!PI#GHQ(8J9%jZjEL2~`&z2O2X{wdEY2SW(@dE9_Qp_KG zYjh_GW;I(R(+BUCx2srxMAH~R*T9WMFVMBOL@+aVr<8n+vOE-hDc;t&j%_sa(rKDy zM2LNGy87MQ-=7-;YlsdC74UV|V+s}F7u(yD_OjY%36l+Fx$2x4diNU3UY%)$TGg>S z2-~V}O1N-Yf_(W{$)QQ`;rCeG+PXYn*EtA+r3TI4I`%VVhgQ`HSykWue$XW z6dd62W-~1EKblwXLJewlD>^{~=^{0gh>9Pc`~C16nB1|o5h#DJB^lvEG|m^_>9$pI zb$qi>EhPmWvg*p})b-HNoztp(#NVNE*4i=;$9W%VaIk3BL2RNT6Uxj=B_b)a~eJsQE?Z8qV-TZs#Zb# z%jF&rj*yh9uB$kUl8F{kzxl@jv)sNqPI91ytf4KEMp?Ki8HO8V7@}9pWHyZ{#O=NK zrZ)9kyUd*CrwqbdYM&7tr22ek5dl50GKUgF?U6_YFRNy8up4=kJeyhwvAD1Rv7s_L z{y8KI+~F$C&2iuKFs2ke-S`r=@wA=xtCdFL zey{8pt@e^`gulW0RbkK5*6v1^5SE8^3N8x>tbITv{wZn@V=v|??vzzI+&y^T*{5%z zAtPZwfK(f<`$3enTzhe>vXU<>gsw2_-f-o$1hQmGY?xI*yh)-IgS=&DnU6( zv1|V1@i7kGDoIhS$1%ca8LXSP%EvGu`O$rvYR5wg)`EYL86D1G##@uL+TvjE8iDv8 zTpUShh>d_VkBx+I20E}kba1RrX$mUe%Ati1Y>62H6h%u6$a~+5f+xx3pB_x^7Fw|t zRT4DokhG4yC7w2woR5MY8s^!W(}e^KLAFTtS`oU-h#82vv+S(jNPG3Go9IFrC=IEa z&*Mox7o5sEaXq9kWY;n~W#*bQ*4XsZ*De7oFp;#wIEz4rsFN5tjZky=x16 z$VIKh#&Xe}6B>BnUz)oPBeVPV;Lg(%6gFs#BAK&-DoJxld%BqGMX+~)zt-QG-?BQx zYLUc_>v9_D^iQO@B>om59y{6a(J}6az-CR}U&GkPi6agN5WjaPo6e>^jn^wMaF@5K zKrcT&PqH%P9}&XRs8>^Da+tZnDCiM(0rb%>zD~?%7z9!U4e}o+w(^Nz?G!6nxJ*oK z@g&WAMs}XfJi=O6!JRh$+R}>^>N3;fGu7}(GdgJa21_6(lhOvPLj=O)b@+v+3cOM z1Z`5i5%{&g$EQwbuKaC63Myem+>$s@($iv6pP=+q+;+M5rkLfdkSfv{43;j8wX89W z+zxj`B;F0?gH5Ax#A#)DRe+EULiML3(>Ux!5R389j6cD!cb9f|P28#vNJnEY;0pIi~(;bb+z_l=?l!ux>*V(82P~i9W^7qo&WmhY_)R)>r(gC+q(zoYVGE7k3}d0^8j;t zg36dd>dR~oVb<{876+nxv$|0;h-)Z?m|@My4T*(3+jy&;wmFrS)9J3B|E9$9-O=1H zG}B|rwywL%4*$FWeY5x3Ts2^X0>4!%1Wg1N`o}prPeDfIU`(Ql);XNBBil&N3_|qr!*)st&rx%NkiA6O`zV^*tBPk zQcx9snC{Wf)0XxAG6{BM5&T2rWtoTF+t+n9^NrMUToWJJB+Woxp0^kz)}SwyLf{-_ z{{~sQE%n*OeWq9puqyXVh5$AaMIF9Txk27Vk3EZs+e~?>m{iUc$n0GBB@HSwQJE;VG8;uu2nu$Er0);Jq88a;QIPhE zKmGKJv(8oW0l`7Hr!*rv)OE!-+x0#K92l=k{+V!yh^zSofafQZsOq>nSR3b9KG@*0 ze9*6wB&}6fq&t>(YmlLfqK#?eW%qDRYj)Z?sMfodyj7{H+lhNKIL(~0rd1=sEbe4i zBdHkv@!cD3aCm}zGIkhy&~d+dnxmihii=4%9d+$YXMlyaU;vwYZ+x=uICkckz9pOF z=k4&BxJVTX8Suu!$A)RNQ7;KyoS0D=jfFkhc!sIjJzB(6Kqy*KHl<{xKjZPRsM5G0KFPsS9^HE%fQ?$m*{*>%}C6bBWo|Bt2W|TV%Y%?P*TO#EB z5L-%R%}qXg1IzacjOgN>(+s|dW)F)VZ}ecTS>LU{%)Zon$=8LzzmEj7f{a-U-c_Zp ztT$j>5rJ#uGrA9Wlp)CWmUF@vYQ#K~*eMMcvrO7Mk&INZxN!2ss)8g-%_?k07`nXQ z_Il%CT#TH*b7!~zAtbXv(@V2mwsO6^_(F%rEY;RtFH8|NO?kV_75oCFSe4mt_#u-I zgNm0UPwh^UHw2B6?Ey-@vMj^UJ7R2ad7pPd3D!Ozcc$I|e?^!J?@bMi`h;8+KuJaj zRQ>j+h5p{N^Lgz}PNs8EEO#sE6MAr?bi51?MVwbFz`vsVniiYiHbfp$awbmYGWT$_KNmqHmK$|Z(Eb?(yYY&$-_f! z0+>pOmCMRhg89r|w=Eoa>(NGK!*$Qg<^26zFq+YTwgE@@csEnx=Mo|*0u^a6C;b*P z)vxg+$HwJj6$emX0jdK%`cOZB?%|fp0e6m9s~Aa#wRbQ(Jkf0 z>Xk7$#~raZS&@5Kr3L5A8l%%(tgz?=esG6__p2yU3%1izGU%*bENop}3}-#<%LqGK zF2PBRknPoPncWm-mh5Eh_WZSK1!zuIK&toDZlehG)r>axU{T7Q{CzUs*V4BNEr-X|y!!L!Br`~c;7_r~FK{HlBzf9Cq;=jgz3xf{p*>R0)#EghY=EByUl z*T(LCejh%@SQ+tly~tl~(7F_rSr~R}g`E3^lZa;=Zwot-oZDAF9`{e#*eRCrCZk!p z{nnV`oFrbbuqP-!$op|?5kC8+C>Bgg#3tTmU7{JX(~SMKVMTAE+b!Tl;Z6yx{_^o^ zrz;!GBJVrJ)P!e*7KZlx1eW}i?!#zjEMD@bv#!}l&t*r{>P4=}NsgMP znU52~au__}KDV0qadcQi#kEq*+F23p%cZO|QXhvdl8bGU;A$>cIA5AaTr)_;8D=PsAB$Qu=QAqwt zW)=xacjU_uY{elYV-b~3b`?F8{h58eG4WMwpaa@5e8OF=vr8m@+|?o?y8rkyO->Pi zE<}6i!PDcT6@wlU-1si<$>MrEPZCiGdgcIA@3KK?Hkz{4jucL%R0Q9mlA7~obWcnb zroQ4)LT|Z5>0q9jEEjhVcp8tNr?$muyVRp8{>lhfGUd(G4B{DTNt5-HS)g9b-FAz$i1(y0p4@H`sHr7UjuS0{GK*qOn}sjpYv+- z9yB{UV40qyH+d$@q6&ViqF=v6#T%Z+?C_$9M9d!15N>+_C^a6Ej!qD0wHS$McP-x= zp2HGsQe*@<&JlrkWNM8*mv2onBD$wFNW`Hcm$$@j8#}!ir92TKkFgWYzPg7SOR@2iH ziLh#EZ^Cr3!l-riKTwWHDZ!K`h3c(jzBYWy%m`)f9bcFxn!~%1{6yqMp1WyCOjGmU zA5&HZZ^JV3D|^zW(1d+$0ozn$;-yNb3NmBQFV^bUMFdU3I`+bzJ>_(OdN!RZ`t(SC zE~l@KngjcFQk;p(F|x@`>Rf=e(L-lp;|R|9&mwF1X8aY@37?nDGekD~CyXYs^I(5+ zFJ%#IIW$EC@OYZ$zk}Dx$)KRab$^7L*93a6;S4Sk&aW%ke@`SQ36*-kt{!WY!dH`> ze!6|~qc{%jQ4->cMg&~~19)K`0<9hb0HY{M+d_<~9TesaP=PhaoxafGb?W_;q&>lL zN@zA1uXw7;xIa*V9e`0iGZhDvsbce3f-DPi`IXv?BMK7v$o#(B#Bg?5p@=Tuufnp|dK zB}>O>FD48#pO54t#MxlAcXqadQwz6aneT0sxS8?UuIIy^sL(8IoYX1~Rf{(E3et+a zo+?SyNFKj0X1(rliuOH^qp3BuTBNR#W;$}YMT3N35JEr20eG!4uD~=RO7(TwR%|PY z2fzz}=N2);m7z%lvq)*ooIccErX4TK__8zWLxrU0NO6bc=l2Imag7ncOyy0t!>O7g zXWYW@5+y7gjNGG=&Fs^))2>dTi;;CdSP?4AWbuf|!Dwojl+Ub9VY<66Tii>&7qgL= zd2XzTqr^f11PdBR9fq<%Coy)rgz*|i1qxG)bj>5=F%TtTnSQ(~J{HvxIN%+1+_e*MQy zkIl3rbArE*m+=BLk|~#P9BpKon_{So!={;t!QdIJcn*}OG~xGsF=o6#i?-mG-9a9G!IG$c^NSuIAx+Uy;7==Of!uNeV)&}091o|!|JikP5gM7}v zO$toRE%BT_3LlBDo{BqC_c)tyD|rQ^vqY2IpV?NjPq<8v>%0lzE4?_Fa5*fZ-yRyi znpi^)XzNDaVYT@X`+l&1Nf&EE|1FRKD$nVWaa&y#cMN=6R;>n`bcRiaO)Y|TZQQ|C zO&!-q{VKv`LB|hvr+JvqMzjq%!RCyuaxA9`|?lwT`EzW(&?(3ONr^>T-@441j zTE9pf>-!AAIyk@T?nn?2o}Q2(kr=qhu~y~StxMj(D*!C5ipWbSbByOPA#E7 z&aZc89Rx4O@-nV3y36d0%4dgni19PzxSb8i1yh9Qd_$(h{rtTRZ*g`kdT~r$d+c&$ zpoEr?)LdRlB<`U-v9$^bvK)qDWgVqloL%CA2WMpWv$sOAHqiZ=#guh@`aSCL%F%Zr zOM9>inU**_RP?~y3<(xOW?PZddJ|+66u`M*nhw6mL(r4$!$exQ`!aUSHWEeYet7%a zUzVUhj_gng)U=R%;Z!J(`ER=O#o(b$@KfR2=8zbU+;oAp>XZt>(5qtIDCzwjq2fwk zhu7DW1Tm-<4xNHD1v!jNt{^3RAzswr>%p9P< z?DL21E&uZH9}cv8W(Ful6u^cEa{L>&ih7Qpx&Gy*KfLPomyx2MIm!PIL#Q=Tq59F! zHA>+BoIL+I3AjL~qXA_^qKLn~Sj@9u6Aej@{%^MxG0)wO#r#b^-(6JbLCo_tFGC4q z0cn5~S{DltLSCd&K)ZthJZM_%vrLf&t&as%07vN4AEz2B9S5-ecjCIl0YtzTXk;89 zfo` e2nhK9dz^pZ4jL8@NC0in{^v^6i-2bd;r{>x!;_2v delta 6103 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