áá±á«ááºážá á®ážá áá»ááºážáá¬áá±ážáá²á·áá®ááœááºáá²á· áá¯á¶á·ááŒááºááŸá¯ááᯠááŒá áºá á±áᬠáá±áá»á¬áá«ááẠ- "áá±á¬ááºážááŒá®á á¡á²áá« ááŒááºá ááŒá®..." áá«áá±ááá·áº áááºážáá²á·á¡á¬áá¯á¶ááᯠ5-10 áááá áºáá±á¬ááºááŒá¬á¡á±á¬áẠáááºážáá¬ážáá«áá á±á áááºážáá²á·áá»áŸá±á¬áºááá·áºáá»ááºááœá±ááᯠá áááºáá»ááºááá¯á· áá«ááŒáá¯ážá á¬ážáááºá
áá±á¬ááºážáá«ážáááœá²á·á ááºážáá¯á¶ááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááá·áºáááº- áá®ááœá²ááŸá¬ áá¯ááºááŒááºáá»ááºáá áºáá¯ááᯠáá°áá±á¬ááºááŒá®áž á€áá¯á¶áá±áá¯á¶á ᶠáá±á«áºáá±á«ááºáá¬ááŒááºážá âááá±á¬ááá¬áâ ááᯠáá¯ááºáá±á¬áºáá²á·áááºá áááºážááẠááá·áºááá±á¬áá»ááºáá»á¬ážááœáẠáá±áá¬áááŸááºááŸá¯ááá¯ááºáᬠáá«áá¬ááá¯ááºážááœá±ážáá»ááºááŸá¯ááᯠááŸá¯áá±á¬áá·áºá¡áá áºá០ááŒáá·áºááŸá¯ááá¯ááºáááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
RPC ááá¯áᬠáá¬áá²ááá¯áá¬ááᯠááŸááºážááŸááºážáááºážáááºáž ááááá¯ááºááá¯á· á
á¶ááŸá¯ááºážááᯠá
ááºážá
á¬ážááá¯á· á¡ááá¯ááŒá¯áá«áááºá
RPC áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠááá·áºá¡á¬áž á¡á á¯ááá¯ááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááŒá¯áá¯ááºááá¯ááºá á±áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠááá¯ááá¯ááŒááºáááºááŒá®áž ááá¯ááá¯áááá±á¬ááºáá«áááºá
á¡áááá¡áá»ááºááŸá¬ RPC ááœáẠáááºááẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯áááºážááœáẠáá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážá áœá¬ááᯠáá áºááŒáááºáááºážáá±á«áºááá¯ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¯á¶ážááŒá¯áá°áá áºáŠážáááºáá®ážáá«á áá°á·áá¶ááá¯ááºááœá¬ážáá áºáá¯ááá·áºáá«á áá°áá®áá±á¬áá±á¬ááºážááá¯áá»ááºááœááºá á¡áá»áá¯á·áá±á¬á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááœáẠáá°á·ááá¯á á¬áááºážááœááºážáá«á áá±á¬ááºážááá¯áá»ááºáá áºáá¯áá²á áááºáá±á¬ááºá¡áá»áá¯ážááŸááá²á
á¡ááŸááºááŸá¬á ááá·áºááœáẠbackend node áá áºáá¯áá¬ááŸááá«áá batch áá±á¬ááºážááá¯ááŸá¯ááŒáá·áº áááºážááẠááá¯ááá¯ááŒááºáááºáá¬áááºááŒá áºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº REST áá±á¬ááºážááá¯áá»ááºáá¯á¶ážáá¯ááẠáá»áááºáááºááŸá¯áá»á¬ážááᯠáááºáá±á¬ááºáááºá¡ááœáẠnode áá áºáá¯á០á¡áááºážá¡ááŒá áºáá»á¬áž áá¯á¶ážáááá¯ááá¯ááá¯á¡ááºáááºááŒá áºáááºá
REST ááá á¹á ááœáẠááááá±á¬ááºážááá¯áá»ááºááẠáá±á¬ááºáááºááœá²áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŒá¯áá¯ááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá° ID ááᯠááŒááºáá±ážááááºááŒá áºááŒá±á¬ááºáž áááááŒá¯áá«á áááºážááẠá¡áá¯á¶ážá á¯á¶ááááºááᯠááááá¯ááºá á±áá«áááºá
ááá¯á·áá±á¬áº ááá¯áá²á·ááá¯á·áá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááᯠá¡áááºááœááºážááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº áá¯ááºáááºážáá»á¬ážááœááºáᬠááœá±á·ááŸáááá¯ááºáááºá WEB ááá±á¬áá»ááºáááºáá»á¬ážááœáẠáá±á¬ááºáá¯á¶ážá¡á¬ážááá¯ážáá¬áá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ WEB ááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº HighLoad áá¯áá±á«áºááá·áºáá±á¬ááºá០áááºáá±á¬ááºáááºáááá¯ááºáááºáá«á áááºážááá¯á·á á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááẠááŒáá·áºáá¬ážáá±á¬áááŸáááá¯ááºááŸá¯ááŸáá·áº áááºáá±á¬ááºááŸá¯ááá¯ááºáᬠáááºááŸááºáá»ááºáá»á¬ážááŸáá·áº ááŒáá·áºáá®ááááºááŒá áºáááºá ááŒá®ážáá±á¬á· áá¯á¶á ááŒá±á¬ááºážáá±áááºá
áá°áá®áá±á¬á¡ááŒá±á¡áá±á¡á±á¬ááºááœáẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯ááºáᬠááŸá¯ááºááŸá¬ážááŸá¯áá»ááºáááºáá»á¬ážááᯠá¡á áááºážáá±á¬ááºááŒáá·áº á¡ááŸááºá¡áá¬ážááŒá¯áá¬ážáááºá RPC áááºáá²á·ááá¯á· ááŒá¯áá°áááºááᯠáááááŒá¯áá«á áá±á¬ááºážááá¯áá»ááºááẠáá»áááºááœááºáá»áŸá¬á០áá±á¬ááºááœááºááá¯á· ááŒá±áá±á¬ááºáá áºáááºáááºážááœáẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠá¡áá¯á¶ážááŒá¯áááºá ááááá±á¬ááºážááá¯áá»ááºááœáẠREST ááŸá¯á¶ážáá±áá±á¬áºáááºáž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá áºáá¯áá¯á¶ážááᯠá¡áá¯á¶ážááŒá¯á áá¯á¶ážááŸá¯á¶ážááœá¬ážáá±á¬á¡áá»áááºá¡ááœáẠáááºáá®ážáá±ážáááºá
áá¬ááºááœáŸááºážáá²ááá¯á· ááŒáá·áºááœááºážááẠáá¯á¶áá±á¬ááºáá±á¬ áá±á¬ááºážááá¯áá»áẠááŸá áºáá¯ááá¯ááºáá±á¬áºáááºážá áá«ážáᯠááá¯á·ááá¯áẠáááºáá¯ááᯠááŒá±á¬áá«... ááŸáá·áº "á¡áᯠáááºáá°á¡ááá¯ááºáááá²" ááá¯áá²á· áá±ážááœááºážáá²á· á¡ááŒá±áá«á áááŸááºážááááºážááŒá áºáá¬áááºá
ááŒá¿áá¬ááᯠááá¯ááá¯áá»ááºááŒáá·áºá áœá¬ ááŸá¯ááŒááºááẠá¡ááá¯ááŒá¯áá«áááºá áá¯á¶ááŒááºážááœáẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»ááºáááºáá»á¬ážááᯠáááºááá¯á·á¡áá¯á¶ážááŒá¯ááŒá±á¬ááºážááŒááá±á¬áºáááºáž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠáá»ááºáááºáá»á¬ážá¡ááœáẠá¡ááá·áºá¡áááºáááŸááá«á áááºá¡á¬ážááŒáá·áºáá¬ážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á á¡áá±ážááŒá®ážáá±á¬ á¡á áááºá¡ááá¯ááºážááŸá¬ áááºááŸáºáá»á¬ážááŒá áºáááºá ááᯠá¡áá¯á¶ážááŒá¯áá° á¡áá¯á¡áá±á¬áẠáá áºáá»áá¯ážááᯠááá°ááá¯ááºáá¡á±á¬ááºá á¡ááŒáááºááŒáááºá áá ááŒáááºááá¯áá«á áá¯á·á
ááŒáá·áºáá¬ážáá±á¬áááºááá¯á¡ááºáá»ááºáá»á¬ážááá¯ááŒáá·áºáááºážááẠRPC á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠáááááá¬áá¬ááá¯ážáááºáá±á¬ááºážááœááºáá¬áá¯á¶ááá¯ááŒáá·áºáá«á á¡ááŒá±á¬ááºážááŸá¬ REST ááẠRPC ááŸáá·áºááá°áá² HTTP áááá¯ááá¯áá±á¬á áá«áá«á¡ááŒáá·áºááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá á¡áááºáá±á¬áºááŒáá« áá¯á¶ááœáẠá€áá«áá«á¡á¬áž áá±á¬ááºážááá¯ááŸá¯áááºážáááºáž - GET ááŒáá·áº áá¬ážáááºáááºá
HTTP áááºážáááºážáá»á¬ážá á¡ááŒá¬ážá¡áá¬áá»á¬ážáá²ááœáẠáááºáá»ááŒááºážáá»á°áá¬áá»á¬ážááŸááááºá áááºážááá¯á·ááᯠá
á¬ááœááºá
á¬áááºážáá»á¬ážááœáẠááŸá¬ááœá±ááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áº RPC ááẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠ caches ááᯠáááááá±á¬ááºáá±á¬áẠá¡áá¯á¶ážáááŒá¯ááá¯ááºáá«á áááºážááẠáá±á¬á·ááºáá²áẠáááºááŸáºáá»á¬ážááᯠáááºááœááºážááẠááá¯á¡ááºáááºá áá¯á¶ááŒááºážááẠá€á¡áááºážááá¹áááœáẠRedis ááá¯ááŒááááºá áá±á¬á·ááºáá²áẠáááºááŸáºááẠáá áºáááºá áááºáá®ážáá°á¡á¬áž áá¯ááºá¡ááœáŸá¬áá áºáᯠáááºááá·áºáááºááŸáá·áº áááá¯áá¬áááºáá¬ááœáẠáááá¬áááºááŸá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááá·áºááœááºážááẠááá¯á¡ááºáááºá
ááá·áºááœááºážá ááºážá á¬ážáá±áá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠááœáẠREST ááŸáá·áº RPC "ááœá±ážááœá¬ážáá±áž" áá±á¬ááºážááá¯ááŸá¯ áááºáá»áŸááŸááááºááᯠááá¯áá±ááœááºááŒáá·áºááŒáá«á áá¯á·á
áá±á¬ááºážááá¯áá»ááºáá»á¬áž
á
á¬áá¯á¶áž
backend áá¯ááºááá¯á·
DBMS ááá¯á·
soft cache ( Redis ) ááá¯á·
á
á¯á
á¯áá±á«ááºáž
REST
1 / 32 *
1
1
0
3 / 35
CPR
32
32
1
31
96
áááá¡á á®á¡á á¥áºáá²á· ááŸááºááẠááœá¬ááŒá¬ážáá»ááºá áááááá¬áá¬áá«áá²á á¡áá¯áá±á¬á· REST áá²á· á¡áá»áá¯ážáá»á±ážáá°ážá ááŸááºážááœá¬ážáá«ááŒá®á áá«áá±ááá·áº á¡á²á·áá®ááŸá¬ áááºááá±ááá¯á· á¡ááŒá¶ááŒá¯áá»ááºáá«áááºá ááœá¶á·ááŒáá¯ážááŒá®ážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááœáẠCDN áá«áááºáááºá áááŒá¬ááááá¯áááᯠDDoS ááŸáá·áº DoS ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠáááºááŒááºááá·áºááŒá¿áá¬ááá¯áááºáž ááŒá±ááŸááºážáá±ážáááºá áá»áœááºá¯ááºááá¯á·áááŸááááº-
áá«á RPC á¡ááœáẠááááºááᯠááá¯ážááœá¬ážáá²á· áá±áá¬áá«á RPC ááẠá¡áá¯ááºáá¬áááºá¡á¬áž CDN ââááá¯á· ááœáŸá²á¡ááºáá±ážááá¯ááºá áœááºážáááŸááá«á áááºááŒááºááá¯ááºááá¯ááºááŸá¯áá»á¬ážá¡ááœáẠá áá áºáá»á¬ážááá¯áᬠáá»áœááºá¯ááºááá¯á·á¡á¬ážááá¯ážááá¯ááºáá«áááºá
á€áá±áá¬ááœáẠá¡áá¯á¶ážáááºááẠááŒá áºááá¯ááºáá«ááá¬ážá áá±á¬ááºááááºá á¡áááºááœááºáá±á¬áºááŒáá²á·ááá·áºá¡ááá¯ááºáž HTTP áááºážáááºážáá»á¬ážááœáẠáááºážááá¯á·á ááá¯ááºááá¯áẠâááŸá±á¬áºááá¬â ááŸááááºá GET áááºážáááºážááᯠá¡ááºáá¬áááºááŸá¬ ááœááºááœááºáá»ááºáá»áẠá¡áá¯á¶ážááŒá¯áá±áá¬ááŒá±á¬áá·áº á¡ááŒá±á¬ááºážááŒáá»ááºáááŸááá² ááá¯ááºáá«áá°ážá á€áááºážáááºážááẠá¡ááŒá±á¬ááºážá¡áá¬áá áºáá¯á¡á¬áž áááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºá ááááºážáá»á¯ááºááŸá¯á០ááá·áºáá¯ááºááá¯á·áááœáŸá²ááŒá±á¬ááºážáá® á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá¡áááá¹áá¬ááºááœáá·áºááá¯ááá¯ááºááá·áº á¡ááŒá±á¡áá±áá»á¬ážááᯠáááºááŸááºáá±ážááá¯ááºááẠá áááºááá¯á·ááᯠáááááŒá¯áá«á á€á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááŸááºááááºááŒá®ážáá¬ážáá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááá¯ááºááœááºááá¯ááºááá·áº ááŒá±á¬ááºážááœááºááŒááºááœááºá á á®áá¶ááá·áºááœá²ááá¯ááºáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááᯠáááºáá®ážááá¯ááºá á±áááºááŒá áºáááºá ááá¯á·áá±á¬áº RPC ááœáẠá€áááºážáááºážááᯠáá»á áºáá»á°ááŸá¯áá¬ážáááºá
áá«ááᯠbatch Requests (RPC) á áá¬ááŒá±á¬áá·áº áá®áááºááá¯ááŒááºááá¬áá²á áá¯áá¹ááá¯ááºáá±ážá¡áá ááá±á¬áá»ááºá¡áá»á¬ážá á¯ááẠREST á á¡á áœááºážááá¹ááááᯠááŒáááá¯ááºááá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááá·áºááá¯á· ááá±á¬ááºááá¯ááºáᯠáá»áœááºá¯ááºáááºáá«áááºá ááá¯á·á¡ááŒáẠá¡áá±ážá á¬áž ááá±á¬áá»ááºáá»á¬ážááœááºáááºáž áá°á á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠááŒáááá¯á ááẠááá¯áá»á¬ážáááºá
REST ááá¯á·ááá¯áẠRPC ááœá±ážáá»ááºááŸá¯ááẠááá±á¬áá»ááºáá áºáá¯ááŸá áá áºáŠážáá»ááºážá á®á ááá¹áá¡áá»á±á¬áẠááœá±ážáá»ááºááŸá¯ááá¯ááºáá«á á€ááœá±ážáá»ááºááŸá¯ááẠááá±á¬áá»ááºá ááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº ááá¯ááºáá®ááááºá á¡áááºá ááá±á¬áá»ááºáá áºáá¯ááẠREST á០á¡ááŸááºááááºááá¯á¡ááºááá»áŸááᯠááŸá áºáá¯ááºááá¯ááºáá»áŸáẠREST ááẠá¡áá±á¬ááºážáá¯á¶ážááœá±ážáá»ááºááŸá¯áá áºáá¯ááŒá áºáááºá
á¡áááºá REST á á¡áá»áá¯ážáá»á±ážáá°ážá¡á¬ážáá¯á¶ážááᯠááááºá¡ááœáẠá¡áááºá áááºááẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠáá»ááºááŒááºá áœá¬ ááá¯ááºážáá¬áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠá á®áá¶ááá·áºááœá²ááẠá á®áá¶ááá·áºááœá²áá°áá»á¬ážá WEB áááºáá±á¬ááºááŸá¯á á¡ááœáŸá¬á¡á¬ážáá¯á¶ážááᯠáá®ááá¯ááºážáá¯ááºááẠáááá¯áá¬ááá¬ááŸááºáá áºáŠážááᯠááŸá¬ážáááºážááẠááá¯á¡ááºáá«áááºá áá áºáá»áááºáááºážááŸá¬áá² áá áºáá±á·ááᯠáá¬áá»áááºáž á áá¯ááºáá±á¬ááºážáááº... áá« RPC áá²á· áááºáá±áá¬ááá¯á·... á€áááá¯ááá¯áá±á¬ááẠááá¯ááá¯á¡áá»áá¯ážááŸáá á±áá«áááºá áááºážááẠáááºááŸáºáá»á¬ážááŸáá·áº á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬áž áááºááá¯á·á¡áá¯ááºáá¯ááºááŒá±á¬ááºáž áááºáá²áá±á¬á¡ááááá¬áááá¯á¡ááºáá±á¬áºáááºážá áá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡á¬áž áá°ááá¯á¡ááºáá±á¬áá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážá¡ááœáẠááá¯ážááŸááºážááŒá®áž áá¬ážáááºááá¯ááºáá±á¬áá±á«áºááá¯ááŸá¯áá»á¬ážááᯠá¡á¬áá¯á¶á áá¯ááºáááºááŒá áºáááºá á á®ážááœá¬ážâáá±áž âáá»á±á¬áºâááœáŸááºââáá±áááºâá
RPC áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠááœá±áá±ážááœá±áá°áá áºáá¯áááºážá¡ááœááºáž batch áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááá¯ááá¯áá¯á¶ááŒááºá áááºáá»ááááºá
RPC á á€ááá¯ááºááá¯ááºááŸá¯ááẠáááá»áá±áá»á¬áá±á¬ á¡á¬ážáá¬áá»ááºááŒá áºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá áá±áá¬áá±á·á áºááᯠáááááºáááºážáá¬ážááẠááœááºáá°áááºá áá«áá±ááá·áº REST áá²á·ááá¯ááẠááá¯ááá¯ááŒá®áž ááŸá¯ááºááœá±ážáá¬áá«áááºá áá±á¬ááºážááá¯áá»ááºáá»á¬ážááẠááá°áá®áá±á¬ backend node áá»á¬ážáá®ááá¯á· áááááºáááºáž áá±á¬ááºááœá¬ážááá¯ááºáááºá
REST á ဠ"á¡á¬ážáááºážáá»ááº" ááẠá¡áááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ áááºážáá¡á¬ážáá¬áá»ááºá áá±á¬ááºááŒááºá¡ááŒááºážááŒá áºááẠ- á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠá¡áááºážá¡ááŒá áºá¡á¬ážáá¯á¶ážááᯠáááááá±á¬ááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŸá¯á á¡áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬áž áá¶á·áá»ááºážáá«áá ááá±á¬áá»ááºá áááá¯áá¬áááºáá¬áá»á¬ážááŸáá·áº á¡áá°ážáááŒáá·áº áá±áá¬áá±á·á áºááᯠáá®ááá¯ááºážáá±ážááœá²ááŸá¯ áá¶á·áá»ááºážáá«áá áááºážááẠá¡ááŸááºááááºááẠáá¬áá»ááºá áá¬ááŒá®ážááŒá áºáááºá
ááá¯á·áá±á¬áº á¡á á¯ááá¯ááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááẠáááºážááá¯á·áááºááá±á¬áẠá áááºáá»ááá«ááá¬ážá ááá á¹á áá áºáá¯ááᯠááŒáá·áºááŒáá«á áá¯á·á áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ážá áœá²áá°áá áºáŠážááᯠáááºáá®ážááŒá®áž áááºážááááá¯ááá¯ááºááᯠáá±á¬áºááŒáá»ááºá¡áá»áá¯á·ááŒáá·áº ááŒáá·áºááœááºážááŒá®áž ááŸááºáá¯á¶áááºááŒá®ážááŒá±á¬ááºááẠáá»áŸáá¯á·ááŸááºáá»ááºáá áºáá¯ááŒáá·áº áá°á·ááᯠSMS áá áºá á±á¬áẠáá±ážááá¯á·áá«á á¡á²áá«ááœá±á batch áá áºáá¯ááœáẠáá±á¬ááºážááá¯ááŸá¯áá¯á¶ážááŒáááºá
áá¯á¶ááŒááºážááᯠááŒáá·áºáá¡á±á¬ááºá ááŒáá·áºáá¬ážáá±á¬áááŸáááá¯ááºááŸá¯ááŒááºá ááºáá»á¬ážáá« á ááºáá±á¬á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯áááºááŒáááºá SMS gateways ááŸáá·áº áá®ážááŒá¬ážááœááºáááºáá±á¬ áááºááœááºáá±ážáááºážááŒá±á¬ááºážááŸá áºáá¯ááŸááááºá áá«áá±ááá·áº... áá«ááá¯á· áá¬ááŒááºáá²á SMS áá±ážááá¯á·ááá·áºá¡áá« á¡ááŸá¬ážá¡ááœááºáž 503 ááŒá áºáá±á«áºááẠ- áááºáá±á¬ááºááŸá¯ááᯠáá±áá¹áááááá¯ááºáá«á áá¬ááŒá áºááá¯á·áá²ááá¯áá±á¬á· SMS áá±ážááá¯á·ááŒááºážááᯠá¡á á¯ááá¯ááºáá±á¬ááºážááá¯ááŸá¯áá áºáá¯ááœáẠáá¯ááºááá¯ážáá¬ážááŒá®ážá ááá¯á·áá±á¬áẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯áá¯á¶ážááᯠááŒááºáááºáá¯ááºááááºážááááºááŒá áºáááºá DBMS ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºáá»ááºáá¬ážáááºá client ááẠá¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááᯠáááºáá¶áááŸáááẠá
áá±á¬ááºáá áºáá¯ááá±á¬á· áá¶á ááºážáá²áá«á áá±á¬ááºážááá¯áá»ááºááẠáá°áá®áá±á¬ node ááᯠáááºáá«ááá²áá² á¡ááŸá¬ážáá áºáá¯ááŒááºááá¯á·ááẠááá¯á·ááá¯áẠáááºáá¶áá±á¬ááºážáááºááŒá áºááŒá®áž áááºážááᯠáá¯ááºáá±á¬ááºáááºááŒá áºáááºá ááá¯á·áá±á¬áº á¡áááá¡áá»ááºááŸá¬ áá»áœááºá¯ááºááá¯á·áá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠá¡áááºážáá¯á¶ážáá áºááŒááẠá¡áá»ááºážááŸá®ážááŒá áºáá±ááŒá®ááŒá áºáááºá áááºááŸááá±á¬áºáááºáž á¡áá»áá¯ážáááŸááá±á
áá±á¬ááºážááŒá®á áá»áœááºá¯ááºááá¯á·ááẠááááááá¯ááºááᯠ(!) áááºážáá»ááºááŒá®áž áá±á¬ááºážááá¯ááŸá¯ áá áºá áááºáá áºááá¯ááºáž á¡á±á¬ááºááŒááºá áœá¬ ááŒá®ážááŒá±á¬ááºááá¯ááºááá·áºá¡áá« ááœá±ážáá»ááºááŸá¯ááᯠá ááºážá á¬ážááŒáá·áºááŒáá«á áá¯á·á á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá áºáá¯ááŒá¬ááŒá®ážáá±á¬áẠáá»ááºáá¬ááœá±ááᯠáááºááŒá®áž ááŒá®ážá¡á±á¬ááºááŒáá¯ážá á¬ážáá«á·ááẠ(áááºáá¬á ááŸá±á·áá¯á¶ážá áá¯á¶ážááŒááºááŸá¬áá²á) áá«áá±ááá·áº áá¶á ááºážáá²ááá±á¬á· áá®á¡ááá¯ááºážáá«áá²á SMS áá±ážááá¯á·ááẠáá±á¬ááºážááá¯ááŸá¯ááẠáá»ááºááœááºááá¯ááºááŒá± 50/50 ááŸááááºá
ááá±á¬áá°áá«áááºá áá±á¬ááºáááºáááºááŸá áááºáá±á¬ááºááŸá¯ááẠáá»áœááºá¯ááºááá¯á·ááá¯áá»ááºááá±á¬áẠá áááºáá»ááá¯á¶ááá±á«áº... REST áá±á¬á
REST ááẠHTTP á ááá¹á áááºááᯠáááºáá¶á¡áá¯á¶ážááŒá¯áá±á¬áºáááºáž ááá¯á¡áá« áá¯á¶á·ááŒááºáá¯ááºáá»á¬ážááŒáá·áº ááŒá¯áá¯ááºáá¬ážáááºá SMS ááááºáááœáẠá¡ááŸá¬ážá¡ááœááºáž 503 ááŒá áºáá±á«áºáá¬áá±á¬á¡áá«á áá±á¬ááºááœááºááŸááẠá€á¡ááŸá¬ážááᯠáááºáá»ááºáá®á á±ááẠáá¯ááºááœáŸáá·áºáááºá Balancer ááẠá€á¡ááŸá¬ážááᯠáááºáá¶áááŸáááŒá®áž client ááŸáá·áº áá»áááºáááºááŸá¯ááᯠááá»áá¯ážáá»ááºáá² áá±á¬ááºážááá¯áá»ááºááᯠá¡á±á¬ááºááŒááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááá·áº á¡ááŒá¬áž node ááá¯á· áá±á¬ááºážááá¯áá»ááºááᯠáá±ážááá¯á·áá«áááºá á¡á²áá«ááœá±á áá±á¬ááºáááºááẠáá»áŸá±á¬áºááá·áºáá¬ážááá·áºááááºááᯠáááºáá¶áááŸáááŒá®áž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠáááºážáááŒáá·áºáá¬ážáá±á¬ âá¡ááœááºáááºáá±á¬ááºááá¯ááºáá±á¬â áá±á«ááºážá ááºááᯠá¡áááºááŒá¯áááºá áá¯á¶ážá áœá²áá°á áá»á±á¬áºáááºá
áá«ááœá±á¡á¬ážáá¯á¶ážááá¯ááºááŒááºáá°ážá áá»áááºááœááºáá»áŸá¬ááẠ503 á áá¯á¶á·ááŒááºááŸá¯áá¯ááºááᯠáááºáá¶áááŸááá¯á¶áá»áŸáááá²á á á¶ááŸá¯ááºážá¡ááá¯ááºáž áá¯á¶á·ááŒááºááá·áºá¡áá«á á€áá¯ááºááᯠâááŒááºáááºááŒáá¯ážá á¬ážááŒá®ážáá±á¬ááºááœááºâ áá±á«ááºážá á®ážááŒáá·áº áá±ážáá±á¬ááºááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá áááºááŸááºáá¬ážáá±á¬á¡áá»áááºáá áºáá¯á¡áá á€áááºážááŒá±á¬ááºážááŸá ဠnode ááᯠáááŸá±á¬áá·áºááŸááºááá·áºááŒá±á¬ááºáž áá»áááºááœááºáá»áŸá¬á¡á¬áž áá±á«ááºážá á®ážá ááŸááºážáááºážá á±áááºá SMS áá±ážááá¯á·ááẠáá±á¬ááºáááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠSMS gateway ááŸáá·áº ááŒá¿áá¬áááŸááá±á¬ node ááá¯á· ááá¯ááºááá¯ááºáá±ážááá¯á·áááºááŒá áºáá«áááºá
áá»áœááºá¯ááºááá¯á·ááŒááºáááá·áºá¡ááá¯ááºáž JSON-RPC ááá¯á¶ááŒááºá áááºáá»áááŸá¯ááẠá¡ááá·áºáááºááŸááºááŸá¯ááœááºáá²áááºá ááááºáá±á¬á·á áá±áá¬áá±á·á áºááŸá¬ áá®ááœááºááŸá¯ááᯠá á¯á ááºážááá¯á· ááá¯ááœááºáá«áááºá ááá¯á·áá±á¬áº á€ááá á¹á ááœáẠá áœáá·áºááœáŸááºá¡áá áºáá¬áá¶ááŸá¯ááẠá áá áºáá áºáá¯áá¯á¶ážá áá¯á¶ááŒááºá áááºáá»áááŸá¯ááŒá áºáááá·áºáááºá
áááá¯á¶ážáá»á¯ááºáá»ááºááẠááááºááŸáá·áº á¡ááœááºáá°áááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááẠááá¯ážááŸááºážáá±á¬á¡áá«á JSON-RPC á áááá¬áááºááŸá¬ážááŸá¯ááẠá¡áá±á«ááºážááá¹ááá¬áá áºáá¯ááŒá áºáááºá ááá±á¬áá»ááºááœáẠáááºáá¯ááºáááºááá¯áž ááŒáá·áºáá¬ážá áœá¬ áááŸáááá¯ááºááŸá¯ ááŒáá·áºáá¬ážáá«á REST ááẠááá¯á ááŸá¯ááºááœá±ážáá±á¬áºáááºáž ááŒá±ááŸááºážáá»áẠááá¯ááŸááºáá¯á¶ááááºá
REST ááá¯á· áááºáá±á¬ááºááŸá¯á¡ááá·áºááẠáááá·áºáá«áááºá
á¡áááºáá±á¬áºááŒáá« ááœá²ááŒááºážá áááºááŒá¬áá»ááºááẠRPC ááŸáá·áºáááºáááºáá±á¬ áá»ááŸááºáá¬ážáá±á¬ á á¶ááá°áá¬áá»á¬ážááᯠáááºááŸá¬ážááŒááºážááŒáá·áº REST ááá¯á· áááºáá±á¬ááºááẠáááºááŸááºáá»ááºááẠRPC ááẠáá¶ááááááºážááœááºáᬠááŒáá·áºáá¬ážááŒá±á¬ááºáž ááŸááºážááŸááºážáááºážáááºáž ááŒááá²á·áááºáᯠáá»áœááºáá±á¬áºáááºáá«áááºá áááºážááẠHTTP á¡áá¯ááºáá¯ááºáá¯á¶ááᯠáááºáá²á áœá¬ áá¬ážáááºááẠááá¯á¡ááºááá·áºá¡ááŒáẠWEB ááá±á¬áá»ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº ááŸáááŒá®ážáá¬áž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯ááºáᬠá¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá±á¬ááºáž áá¯á¶áá±á¬ááºáá±á¬ á¡ááááá¬ááŸáááẠááá¯á¡ááºááŒááºážááŒá±á¬áá·áº ááŒá áºáááºá
Так пПÑÐµÐŒÑ ÐŒÐœÐŸÐ³ÐžÐµ ÐŽÑЌаÑÑ, ÑÑП REST пПпÑПÑе бÑЎеÑ? ÐОÑМП ЌПе ЌМеМОе заклÑÑаеÑÑÑ Ð² ÑПЌ, ÑÑП ÑÑа кажÑÑаÑÑÑ Ð¿ÑПÑÑПÑа ОÑÑ ÐŸÐŽÐžÑ ÐžÐ· ÑÐ°ÐŒÐžÑ ÐŒÐ°ÐœÐžÑеÑÑПв REST. Т.е. REST ÑÑП Ме пÑПÑПкПл, а кПМÑепÑОÑâŠ Ñ REST ÐœÐµÑ ÑÑаМЎаÑÑа, еÑÑÑ ÐœÐµÐºÐŸÑПÑÑе ÑекПЌеМЎаÑОО⊠REST Ме ÑлПжМее HTTP. ÐажÑÑаÑÑÑ ÑвПбПЎа О аМаÑÑ ÐžÑ ÐŒÐ°ÐœÐžÑ âÑвПбПЎМÑÑ Ñ ÑЎПжМОкПвâ.
áá¯ááºáá«áááºá REST á HTTP ááẠááá¯ááŸá¯ááºááœá±ážáá¬áááŸááá«áá°ážá ááá¯á·áá±á¬áº HTTP ááá¯ááºááá¯ááºá áááºá á¯ááŸá áºáá»á¬ážá áœá¬ áááºááá¯ážááŸáááŒá±á¬ááºáž áááºáá±ááŒáá²á·ááá·áº áá±á¬ááºážááœááºá áœá¬ áá®ááá¯ááºážááœá²áá¬ážáá±á¬ áááá¯ááá¯áá±á¬áá áºáá¯ááŒá áºáááºá HTTP ááá¯ááºááá¯ááºá áááºáááºáá²áá² áá¬ážáááºááŸá¯áááŸáááẠREST ááᯠá¡áá²ááŒááºááá¯á· áááá«áá°ážá
áá«áá±ááá·áº RPC á¡ááŒá±á¬ááºáž - áááºáá¯ááºááá¯ááºáááºá áááºážááááºááŸááºáá»ááºááá¯áá°áááºáá¯á¶áá±á¬ááºáááºá áá«ááᯠáááºážááá¯á¡ááºáá¬ážá
áááºážáá²á·á¡áá»áááºááœá±ááᯠáá«áááŒá¯ááºážáá®ážáááá«á á±áá²á·ááá¯á· áá«ááá¯ážáá¬ážá áœá¬áá»áŸá±á¬áºááá·áºáá«áááºá
source: www.habr.com