දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

ආයුබෝවන් සියල්ලටම! අපට හොඳ ආරංචියක් ඇත, OTUS ජූනි මාසයේදී නැවත පාඨමාලාව දියත් කරයි "මෘදුකාංග ගෘහ නිර්මාණ ශිල්පියා", ඒ සම්බන්ධයෙන් අපි සම්ප්‍රදායිකව ඔබ සමඟ ප්‍රයෝජනවත් ද්‍රව්‍ය බෙදා ගනිමු.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

කිසිම සන්දර්භයකින් තොරව ඔබට මෙම සම්පූර්ණ ක්ෂුද්‍ර සේවා දේ හමු වී ඇත්නම්, එය ටිකක් අමුතු යැයි සිතීම සඳහා ඔබට සමාව දෙනු ඇත. යෙදුමක් ජාලයකින් සම්බන්ධ කොටස් වලට බෙදීම යනු ප්‍රතිඵලයක් ලෙස බෙදා හරින ලද පද්ධතියට සංකීර්ණ දෝෂ ඉවසීමේ මාතයන් එක් කිරීමයි.

මෙම ප්‍රවේශයට එය බොහෝ ස්වාධීන සේවාවලට කැඩීම ඇතුළත් වුවද, අවසාන ඉලක්කය වන්නේ එම සේවාවන් විවිධ යන්ත්‍ර මත ධාවනය කිරීමට වඩා බොහෝ සෙයින් වැඩි ය. අපි මෙහි කතා කරන්නේ බාහිර ලෝකය සමඟ අන්තර්ක්‍රියා කිරීම ගැන වන අතර එය එහි සාරය තුළ ද බෙදා හරිනු ලැබේ. තාක්ෂණික අර්ථයෙන් නොව, බොහෝ පුද්ගලයින්, කණ්ඩායම්, වැඩසටහන් සහ මෙම එක් එක් කොටස් වලින් සමන්විත පරිසර පද්ධතියක අර්ථයෙන් කෙසේ හෝ එහි කාර්යය ඉටු කළ යුතුය.

නිදසුනක් වශයෙන්, සමාගම් යනු කිසියම් ඉලක්කයක් සාක්ෂාත් කර ගැනීම සඳහා සාමූහිකව දායක වන බෙදා හරින ලද පද්ධති එකතුවකි. අපි දශක ගණනාවක් තිස්සේ මෙම සත්‍යය නොසලකා හැර ඇති අතර, FTPing ගොනු මගින් හෝ ව්‍යවසාය ඒකාබද්ධ කිරීමේ මෙවලම් භාවිතා කරමින් අපගේම හුදකලා ඉලක්ක කෙරෙහි අවධානය යොමු කරමින් එකමුතු වීමට උත්සාහ කරමු. නමුත් සේවා පැමිණීමත් සමඟ සියල්ල වෙනස් විය. සේවාවන් අපට ක්ෂිතිජයෙන් ඔබ්බට බැලීමට සහ එකට වැඩ කරන අන්තර් පරායත්ත වැඩසටහන් ලෝකයක් දැකීමට අපට උපකාර කර ඇත. කෙසේ වෙතත්, සාර්ථකව වැඩ කිරීම සඳහා, මූලික වශයෙන් වෙනස් ලෝක දෙකක් හඳුනාගෙන සැලසුම් කිරීම අවශ්‍ය වේ: බාහිර ලෝකය, අපි වෙනත් බොහෝ සේවාවන්හි පරිසර පද්ධතියක ජීවත් වන අතර, අප තනිවම පාලනය කරන අපගේ පුද්ගලික, අභ්‍යන්තර ලෝකය.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

මේ බෙදා හරින ලද ලෝකය අප හැදී වැඩුණු හා පුරුදු වී සිටින ලෝකයට වඩා වෙනස් ය. සාම්ප්‍රදායික මොනොලිතික් ගෘහනිර්මාණ ශිල්පය ගොඩනැගීමේ මූලධර්ම විවේචනයට ලක් නොවේ. එබැවින් මෙම පද්ධති නිවැරදිව ලබා ගැනීම සිසිල් වයිට්බෝඩ් රූප සටහනක් හෝ සංකල්පයේ සිසිල් සාක්ෂියක් නිර්මාණය කිරීමට වඩා වැඩි යමක් වේ. කාරණය වන්නේ එවැනි පද්ධතියක් දිගු කාලයක් පුරා සාර්ථකව ක්රියාත්මක වන බව සහතික කිරීමයි. වාසනාවකට මෙන්, ඒවා වෙනස් ලෙස පෙනුනද, සේවාවන් සෑහෙන කාලයක් තිස්සේ පැවතුනි. SOA පාඩම් තවමත් අදාළ වන අතර, ඩොකර්, කුබර්නෙටස් සහ තරමක් දුර්වල හිප්ස්ටර් රැවුල් සමඟ පවා පදම් කර ඇත.

එබැවින් අද අපි නීති වෙනස් වී ඇති ආකාරය දෙස බලමු, අප සේවා වෙත ප්‍රවේශ වන ආකාරය සහ ඒවා එකිනෙකාට ලබා දෙන දත්ත නැවත සිතා බැලිය යුත්තේ ඇයි සහ එය කිරීමට අපට සම්පූර්ණයෙන්ම වෙනස් මෙවලම් අවශ්‍ය වන්නේ මන්දැයි සොයා බලමු.

Encapsulation සැමවිටම ඔබේ මිතුරා නොවනු ඇත

ක්ෂුද්‍ර සේවා එකිනෙකින් ස්වාධීනව ක්‍රියා කළ හැක. ඔවුන්ට විශාලතම වටිනාකම ලබා දෙන්නේ මෙම දේපලයි. මෙම එකම දේපල සේවා පරිමාණයට සහ වර්ධනය වීමට ඉඩ සලසයි. පරිශීලකයින් හතරකට හෝ පෙටාබයිට් ගණනකට පරිමාණය කිරීමේ අර්ථයෙන් එතරම් නොවේ (ඒවාට එහිද උපකාර කළ හැකි වුවද), නමුත් කණ්ඩායම් සහ සංවිධාන අඛණ්ඩව වර්ධනය වන විට පුද්ගලයින් අනුව පරිමාණය කිරීමේ අර්ථයෙන්.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

කෙසේ වෙතත්, ස්වාධීනත්වය යනු දෙපැත්ත කැපෙන කඩුවකි. එනම්, සේවාවම පහසුවෙන් සහ ස්වභාවිකව ධාවනය කළ හැකිය. නමුත් වෙනත් සේවාවක් භාවිතා කිරීමට අවශ්‍ය සේවාවක් තුළ ශ්‍රිතයක් ක්‍රියාත්මක කරන්නේ නම්, අපට සේවා දෙකටම පාහේ එකවර වෙනස්කම් කිරීමට සිදුවේ. මොනොලිත් එකක මෙය කිරීමට පහසුය, ඔබ වෙනස් කිරීමක් කර එය මුදා හැරීමට යවන්න, නමුත් ස්වාධීන සේවාවන් සමමුහුර්ත කිරීමේදී තවත් ගැටළු ඇති වේ. කණ්ඩායම් සහ මුදා හැරීමේ චක්‍ර අතර සම්බන්ධීකරණය වේගවත් බව විනාශ කරයි.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

සම්මත ප්‍රවේශයේ කොටසක් ලෙස, ඔවුන් හුදෙක් කරදරකාරී අන්තයේ සිට අවසානය දක්වා වෙනස්කම් වළක්වා ගැනීමට උත්සාහ කරයි, සේවා අතර ක්‍රියාකාරීත්වය පැහැදිලිව බෙදයි. තනි පුරනය වීමේ සේවාව මෙහි හොඳ උදාහරණයක් විය හැක. එය අනෙකුත් සේවාවන්ගෙන් වෙනස් කරන පැහැදිලිව නිර්වචනය කරන ලද කාර්යභාරයක් ඇත. මෙම පැහැදිලි වෙන්වීම යන්නෙන් අදහස් කරන්නේ එය වටා ඇති සේවාවන් සඳහා වේගයෙන් වෙනස් වන ඉල්ලීම් සහිත ලෝකයක, තනි පුරනය වීමේ සේවාව වෙනස් වීමට ඉඩක් නොමැති බවයි. එය දැඩි ලෙස සීමිත සන්දර්භයක් තුළ පවතී.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

ගැටලුව වන්නේ සැබෑ ලෝකයේ, ව්‍යාපාරික සේවාවන්ට සෑම විටම එකම පිරිසිදු භූමිකාවක් පවත්වා ගත නොහැකි වීමයි. උදාහරණයක් ලෙස, එකම ව්‍යාපාරික සේවාවන් වෙනත් සමාන සේවාවන්ගෙන් ලැබෙන දත්ත සමඟින් බොහෝ දුරට ක්‍රියා කරයි. ඔබ සබැඳි සිල්ලර වෙළඳාමේ යෙදී සිටින්නේ නම්, ඇණවුම් ප්‍රවාහය, නිෂ්පාදන නාමාවලිය හෝ පරිශීලක තොරතුරු සැකසීම ඔබේ බොහෝ සේවාවන් සඳහා අවශ්‍යතාවයක් බවට පත්වේ. සෑම සේවාවකටම ක්‍රියාත්මක වීමට මෙම දත්ත වෙත ප්‍රවේශය අවශ්‍ය වනු ඇත.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම
බොහෝ ව්‍යාපාරික සේවා එකම දත්ත ප්‍රවාහයක් බෙදා ගන්නා බැවින් ඔවුන්ගේ කාර්යය නොවෙනස්ව බැඳී පවතී.

මේ අනුව අපි කතා කළ යුතු වැදගත් කරුණකට පැමිණෙමු. බොහෝ දුරට හුදකලාව ක්‍රියාත්මක වන යටිතල පහසුකම් සංරචක සඳහා සේවාවන් හොඳින් ක්‍රියා කරන අතර, බොහෝ ව්‍යාපාරික සේවාවන් වඩාත් සමීපව බැඳී පවතී.

දත්ත ද්විකෝටික

සේවා-නැඹුරු ප්‍රවේශයන් දැනටමත් පැවතිය හැකි නමුත්, සේවා අතර විශාල දත්ත ප්‍රමාණයක් බෙදා ගන්නේ කෙසේද යන්න පිළිබඳව ඔවුන්ට තවමත් අවබෝධයක් නොමැත.

ප්රධාන ගැටළුව වන්නේ දත්ත සහ සේවාවන් වෙන් කළ නොහැකි වීමයි. එක් අතකින්, එන්කැප්සුලේෂන් මගින් දත්ත සැඟවීමට අපව දිරිමත් කරන අතර එමඟින් සේවාවන් එකිනෙකින් වෙන් කර ඒවායේ වර්ධනයට සහ වැඩිදුර වෙනස්කම් වලට පහසුකම් සපයයි. අනෙක් අතට, වෙනත් ඕනෑම දත්තයක් මෙන්, බෙදාගත් දත්ත නිදහසේ බෙදීමට සහ ජය ගැනීමට අපට හැකි විය යුතුය. කාරණය වන්නේ වෙනත් ඕනෑම තොරතුරු පද්ධතියක මෙන් නිදහසේ වහාම වැඩ ආරම්භ කිරීමට හැකි වීමයි.

කෙසේ වෙතත්, තොරතුරු පද්ධතිවලට කැප්සියුලේෂන් සමඟ සම්බන්ධයක් නැත. ඇත්ත වශයෙන්ම, එය සම්පූර්ණයෙන්ම ප්රතිවිරුද්ධයයි. දත්ත සමුදායන් ඔවුන් ගබඩා කරන දත්ත වෙත ප්‍රවේශය ලබා දීමට හැකි සෑම දෙයක්ම කරයි. ඒවා ඔබට අවශ්‍ය පරිදි දත්ත වෙනස් කිරීමට ඉඩ සලසන බලවත් ප්‍රකාශන අතුරු මුහුණතක් සමඟ පැමිණේ. එවැනි ක්‍රියාකාරීත්වය මූලික පර්යේෂණ අවධියේදී වැදගත් වන නමුත් නිරන්තරයෙන් විකාශනය වන සේවාවක වැඩෙන සංකීර්ණත්වය කළමනාකරණය කිරීම සඳහා නොවේ.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

තවද මෙහිදී උභතෝකෝටිකයක් පැන නගී. පරස්පර විරෝධය. ද්විකෝටික. සියල්ලට පසු, තොරතුරු පද්ධති යනු දත්ත සැපයීම සහ සේවා සැඟවීමයි.

මෙම බලවේග දෙක මූලික වේ. අප ගොඩනඟන පද්ධතිවල විශිෂ්ටත්වය සඳහා නිරන්තරයෙන් සටන් කරමින් අපගේ බොහෝ වැඩකටයුතුවලට ඔවුන් ආධාර කරයි.

සේවා පද්ධති වර්ධනය වන විට සහ පරිණාමය වන විට, දත්ත ද්විකෝටිකයේ ප්‍රතිවිපාක බොහෝ ආකාරවලින් අපි දකිමු. එක්කෝ සේවා අතුරුමුහුණත වර්ධනය වනු ඇත, ක්‍රියාකාරීත්වයේ දිනෙන් දින ඉහළ යන පරාසයක් සපයමින් ඉතා විසිතුරු ගෘහස්ථ දත්ත සමුදායක් ලෙස පෙනෙන්නට පටන් ගනී, නැතහොත් අපි කලකිරීමට පත් වී සම්පූර්ණ දත්ත කට්ටලයක් ලබා ගැනීමට හෝ සේවාවෙන් සේවාවට විශාල වශයෙන් ගෙන යාමට යම් ක්‍රමයක් ක්‍රියාත්මක කරනු ඇත.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

අනෙක් අතට, විසිතුරු ගෘහාශ්‍රිත දත්ත සමුදායක් වැනි දෙයක් නිර්මාණය කිරීම ගැටලු රාශියකට තුඩු දෙනු ඇත. එය භයානක වන්නේ මන්දැයි අපි විස්තරාත්මකව නොකියමු හවුල් දත්ත සමුදාය, එය සැලකිය යුතු වියදම් අධික ඉංජිනේරු සහ මෙහෙයුම් නියෝජනය කරන බව කියමු දුෂ්කරතා එය භාවිතා කිරීමට උත්සාහ කරන සමාගම සඳහා.

නරකම දෙය නම් දත්ත පරිමාවන් සේවා සීමා ගැටළු විශාලනය කිරීමයි. සේවාවක් තුළ බෙදාගත් දත්ත වැඩි වන තරමට, අතුරු මුහුණත වඩාත් සංකීර්ණ වන අතර විවිධ සේවාවන්ගෙන් ලැබෙන දත්ත කට්ටල ඒකාබද්ධ කිරීම වඩාත් අපහසු වනු ඇත.

සම්පූර්ණ දත්ත කට්ටල උපුටා ගැනීම සහ චලනය කිරීමේ විකල්ප ප්‍රවේශය ද එහි ගැටළු ඇත. මෙම ප්‍රශ්නයට පොදු ප්‍රවේශයක් පෙනෙන්නේ සම්පූර්ණ දත්ත කට්ටලයම ලබා ගැනීම සහ ගබඩා කිරීම, පසුව එය එක් එක් පරිභෝජන සේවාව තුළ දේශීයව ගබඩා කිරීම වැනිය.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

ගැටළුව වන්නේ විවිධ සේවාවන් ඔවුන් පරිභෝජනය කරන දත්ත වෙනස් ලෙස අර්ථකථනය කිරීමයි. මෙම දත්ත සෑම විටම අත ළඟය. ඒවා දේශීයව වෙනස් කර සකස් කර ඇත. ඉතා ඉක්මනින් ඔවුන් මූලාශ්‍රයේ දත්ත සමඟ පොදු කිසිවක් තිබීම නවත්වයි.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම
පිටපත් වෙනස් වන තරමට, දත්ත කාලයත් සමඟ වෙනස් වේ.

තත්වය වඩාත් නරක අතට හැරීම සඳහා, එවැනි දත්ත ආපසු හැරී බැලීමේදී නිවැරදි කිරීමට අපහසු වේ (එම්.ඩී.එම් එය සැබවින්ම ගලවා ගැනීමට පැමිණිය හැකි ස්ථානය මෙයයි). ඇත්ත වශයෙන්ම, ව්‍යාපාර මුහුණ දෙන සමහර විසඳිය නොහැකි තාක්‍ෂණික ගැටලු පැන නගින්නේ යෙදුමෙන් යෙදුමට ගුණ කරන අසමාන දත්ත මගිනි.

මෙම ගැටලුවට විසඳුමක් සෙවීම සඳහා, අපි බෙදාගත් දත්ත ගැන වෙනස් ලෙස සිතිය යුතුය. ඒවා අප ගොඩනඟන ගෘහ නිර්මාණ ශිල්පයේ පළමු පන්තියේ වස්තූන් බවට පත්විය යුතුය. පැට් හෙලන්ඩ් එවැනි දත්ත "බාහිර" ලෙස හඳුන්වයි, මෙය ඉතා වැදගත් අංගයකි. අපි සේවාවක අභ්‍යන්තර ක්‍රියාකාරිත්වය හෙළි නොකිරීමට අපට සංග්‍රහයක් අවශ්‍ය වේ, නමුත් අපි සේවාවලට බෙදාගත් දත්ත වෙත ප්‍රවේශ වීම පහසු කළ යුතු අතර එමඟින් ඔවුන්ට ඔවුන්ගේ කාර්යය නිවැරදිව කළ හැකිය.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

ගැටළුව වන්නේ සේවා අතුරුමුහුණත්, පණිවිඩ යැවීම හෝ හවුල් දත්ත සමුදාය බාහිර දත්ත සමඟ වැඩ කිරීම සඳහා හොඳ විසඳුමක් ලබා නොදෙන බැවින්, ප්‍රවේශයක් වත් අදට අදාළ නොවේ. සේවා අතුරුමුහුණත් ඕනෑම පරිමාණයකින් දත්ත හුවමාරු කිරීම සඳහා දුර්වල ලෙස සුදුසු වේ. පණිවිඩ යැවීම දත්ත ගෙන යන නමුත් එහි ඉතිහාසය ගබඩා නොකරයි, එබැවින් දත්ත කාලයත් සමඟ දූෂිත වේ. හවුල් දත්ත සමුදායන් එක් කරුණක් කෙරෙහි ඕනෑවට වඩා අවධානය යොමු කරයි, එය ප්‍රගතිය වළක්වයි. අපි අනිවාර්යයෙන්ම දත්ත අසමත් වීමේ චක්‍රයක සිරවී සිටිමු:

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම
දත්ත අසමත් වීමේ චක්රය

ප්‍රවාහ: දත්ත සහ සේවා සඳහා විමධ්‍යගත ප්‍රවේශයක්

ඉතා මැනවින්, අපි බෙදාගත් දත්ත සමඟ සේවා ක්‍රියා කරන ආකාරය වෙනස් කළ යුතුය. මෙම අවස්ථාවෙහිදී, එක්කෝ ප්‍රවේශය ඉහත සඳහන් ද්විකෝටිකයට මුහුණ දෙයි, මන්ද එය අතුරුදහන් වීමට ඉසිය හැකි මැජික් දූවිලි නොමැති බැවිනි. කෙසේ වෙතත්, අපට ගැටලුව නැවත සිතා බලා සම්මුතියකට එළඹිය හැකිය.

මෙම සම්මුතියට යම් තරමක මධ්‍යගතකරණයක් ඇතුළත් වේ. එය විශ්වාසදායක, පරිමාණය කළ හැකි ප්‍රවාහයන් සපයන බැවින් අපට බෙදා හරින ලද ලොග් යාන්ත්‍රණය භාවිතා කළ හැක. අපට දැන් මෙම බෙදාගත් නූල් වලට සම්බන්ධ වීමට සහ ක්‍රියා කිරීමට හැකි සේවාවන් අවශ්‍ය වේ, නමුත් අපට මෙම සැකසීම සිදු කරන සංකීර්ණ මධ්‍යගත දෙවියන්ගේ සේවාවන් වළක්වා ගැනීමට අවශ්‍යය. එබැවින්, හොඳම විකල්පය වන්නේ එක් එක් පාරිභෝගික සේවාව තුළට ප්රවාහ සැකසුම් ගොඩනැගීමයි. මේ ආකාරයෙන්, විවිධ මූලාශ්‍රවලින් දත්ත කට්ටල ඒකාබද්ධ කිරීමට සහ ඔවුන්ට අවශ්‍ය ආකාරයට ඒවා සමඟ වැඩ කිරීමට සේවාවන්ට හැකි වේ.

මෙම ප්‍රවේශය සාක්ෂාත් කර ගැනීමට එක් ක්‍රමයක් නම් ප්‍රවාහ වේදිකාවක් භාවිතා කිරීමයි. බොහෝ විකල්ප ඇත, නමුත් අද අපි Kafka දෙස බලමු, එහි Stateful Stream Processing භාවිතය මඟින් ඉදිරිපත් කරන ලද ගැටළුව ඵලදායී ලෙස විසඳීමට අපට ඉඩ සලසයි.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

බෙදා හරින ලද ලොග් කිරීමේ යාන්ත්‍රණයක් භාවිතා කිරීමෙන් අපට හොඳින් ගමන් කළ මාර්ගය අනුගමනය කිරීමට සහ වැඩ කිරීමට පණිවිඩ යැවීම භාවිතා කිරීමට ඉඩ සලසයි. සිදුවීම් මත පදනම් වූ ගෘහ නිර්මාණ ශිල්පය. මෙම ප්‍රවේශය ඉල්ලීම්-ප්‍රතිචාර යාන්ත්‍රණයට වඩා හොඳ පරිමාණය සහ කොටස් කිරීම සැපයීම ලෙස සැලකේ, මන්ද එය යවන්නාට වඩා ග්‍රාහකයාට ප්‍රවාහයේ පාලනය ලබා දෙන බැවිනි. කෙසේ වෙතත්, මේ ජීවිතයේ සෑම දෙයක් සඳහාම ඔබ ගෙවිය යුතු අතර, මෙහිදී ඔබට තැරැව්කරුවකු අවශ්ය වේ. නමුත් විශාල පද්ධති සඳහා, වෙළඳාම් කිරීම වටී (ඔබේ සාමාන්‍ය වෙබ් යෙදුම සඳහා එය එසේ නොවිය හැකිය).

සම්ප්‍රදායික පණිවිඩකරණ පද්ධතියකට වඩා බෙදා හරින ලද ලොග් කිරීම සඳහා තැරැව්කරුවෙකු වගකිව යුතු නම්, ඔබට අමතර විශේෂාංග වලින් ප්‍රයෝජන ගත හැකිය. ප්‍රවාහනයට රේඛීයව මෙන්ම බෙදා හරින ලද ගොනු පද්ධතියක් ද පරිමාණය කළ හැකිය. දත්ත සෑහෙන කාලයක් ලඝු-සටහන් වල ගබඩා කළ හැක, එබැවින් අපට පණිවිඩ හුවමාරුව පමණක් නොව තොරතුරු ගබඩා කිරීම ද ලැබේ. වෙනස් කළ හැකි හවුල් තත්වයට බියෙන් තොරව පරිමාණය කළ හැකි ගබඩාව.

එවිට ඔබට පරිභෝජන සේවා වෙත ප්‍රකාශන දත්ත සමුදා මෙවලම් එක් කිරීමට රාජ්‍ය ප්‍රවාහ සැකසුම් භාවිතා කළ හැක. මෙය ඉතා වැදගත් අදහසකි. සියලුම සේවාවන්ට ප්‍රවේශ විය හැකි බෙදාගත් ප්‍රවාහවල දත්ත ගබඩා කර ඇති අතර, එම සේවාව සිදු කරන එකතු කිරීම සහ සැකසීම පුද්ගලික වේ. ඔවුන් දැඩි ලෙස සීමිත සන්දර්භයක් තුළ හුදකලා වී ඇත.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම
වෙනස් කළ නොහැකි රාජ්‍ය ප්‍රවාහය වෙන් කිරීමෙන් දත්ත ද්විකෝටිය ඉවත් කරන්න. ඉන්පසු මෙම ක්‍රියාකාරීත්වය Stateful Stream Processing භාවිතයෙන් සෑම සේවාවකටම එක් කරන්න.

මේ අනුව, ඔබේ සේවාවට ඇණවුම්, නිෂ්පාදන නාමාවලියක්, ගබඩාවක් සමඟ වැඩ කිරීමට අවශ්‍ය නම්, එයට සම්පූර්ණ ප්‍රවේශය ඇත: කුමන දත්ත ඒකාබද්ධ කළ යුතුද, එය සැකසිය යුත්තේ කොතැනද සහ කාලයත් සමඟ එය වෙනස් විය යුත්තේ කෙසේද යන්න තීරණය කරන්නේ ඔබ පමණි. දත්ත හුවමාරු කර ඇති බවක් තිබියදීත්, එය සමඟ වැඩ කිරීම සම්පූර්ණයෙන්ම විමධ්යගත කර ඇත. එය සෑම සේවාවක් තුළම නිෂ්පාදනය කරනු ලැබේ, සෑම දෙයක්ම ඔබේ නීතිවලට අනුව සිදුවන ලෝකයක.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම
දත්ත එහි අඛණ්ඩතාවයට හානි නොකර බෙදා ගන්න. අවශ්‍ය සෑම සේවාවකම ප්‍රභවය නොව ශ්‍රිතය සංග්‍රහ කරන්න.

දත්ත විශාල වශයෙන් ගෙන යා යුතු බව සිදු වේ. සමහර විට සේවාවක් සඳහා තෝරාගත් දත්ත සමුදා එන්ජිම තුළ දේශීය ඓතිහාසික දත්ත කට්ටලයක් අවශ්ය වේ. උපක්‍රමය නම්, අවශ්‍ය නම්, බෙදා හරින ලද ලොග් කිරීමේ යාන්ත්‍රණයට ප්‍රවේශ වීමෙන් පිටපතක් ප්‍රභවයෙන් ප්‍රතිසාධනය කළ හැකි බවට ඔබට සහතික විය හැකිය. කෆ්කා හි සම්බන්ධකයින් මේ සඳහා විශිෂ්ට කාර්යයක් කරයි.

එබැවින්, අද සාකච්ඡා කරන ලද ප්රවේශය වාසි කිහිපයක් ඇත:

  • දත්ත සාමාන්‍ය ප්‍රවාහ ආකාරයෙන් භාවිතා වන අතර, එය දිගු කාලයක් ලඝු-සටහන් වල ගබඩා කළ හැකි අතර, පොදු දත්ත සමඟ වැඩ කිරීමේ යාන්ත්‍රණය එක් එක් සන්දර්භය තුළ දැඩි වී ඇති අතර එමඟින් සේවාවන්ට පහසුවෙන් සහ ඉක්මනින් ක්‍රියා කිරීමට ඉඩ සලසයි. මේ ආකාරයෙන්, දත්තවල ද්විකෝටිය සමතුලිත කළ හැකිය.
  • විවිධ සේවාවන්ගෙන් ලැබෙන දත්ත පහසුවෙන් කට්ටලවලට ඒකාබද්ධ කළ හැකිය. මෙය හවුල් දත්ත සමඟ අන්තර්ක්‍රියා සරල කරන අතර දත්ත සමුදාය තුළ දේශීය දත්ත කට්ටල පවත්වා ගැනීමේ අවශ්‍යතාවය ඉවත් කරයි.
  • රාජ්‍ය ප්‍රවාහ සැකසුම් දත්ත හැඹිලි පමණක් වන අතර සත්‍යයේ මූලාශ්‍රය සාමාන්‍ය ලඝු ලෙස පවතී, එබැවින් කාලයත් සමඟ දත්ත දූෂණය වීමේ ගැටලුව එතරම් උග්‍ර නොවේ.
  • ඔවුන්ගේ හරය තුළ, සේවාවන් දත්ත මත පදනම් වේ, එනම් දිනෙන් දින වැඩි වන දත්ත පරිමාවන් තිබියදීත්, සේවාවන්ට තවමත් ව්‍යාපාරික සිදුවීම් වලට ඉක්මනින් ප්‍රතිචාර දැක්විය හැක.
  • පරිමාණය පිළිබඳ ගැටළු තැරැව්කරුට මිස සේවාවන්ට නොවේ. පරිමාණය ගැන සිතීමට අවශ්‍ය නොවන බැවින් මෙය ලිවීමේ සේවාවන්හි සංකීර්ණත්වය සැලකිය යුතු ලෙස අඩු කරයි.
  • නව සේවා එකතු කිරීම සඳහා පැරණි ඒවා වෙනස් කිරීම අවශ්ය නොවේ, එබැවින් නව සේවාවන් සම්බන්ධ කිරීම පහසු වේ.

ඔබට පෙනෙන පරිදි, මෙය නිකම්ම නිකම්ම REST වඩා වැඩි ය. බෙදාගත් දත්ත සමඟ විමධ්‍යගත ආකාරයෙන් වැඩ කිරීමට ඔබට ඉඩ සලසන මෙවලම් කට්ටලයක් අපට ලැබී ඇත.

අද ලිපියේ සියලුම අංශ ආවරණය කර නැත. ඉල්ලීම්-ප්‍රතිචාර සුසමාදර්ශය සහ සිදුවීම්-ධාවන සුසමාදර්ශය අතර සමතුලිත වන්නේ කෙසේදැයි අප තවමත් සොයා බැලිය යුතුය. නමුත් අපි ඊළඟ වතාවේ මෙය සමඟ කටයුතු කරමු. ඔබට වඩා හොඳින් දැන ගැනීමට අවශ්‍ය මාතෘකා තිබේ, උදාහරණයක් ලෙස, රාජ්‍ය ප්‍රවාහ සැකසුම් එතරම් හොඳ වන්නේ ඇයි. අපි මේ ගැන තුන්වන ලිපියෙන් කතා කරමු. අප ඒවාට යොමු වුවහොත් අපට ප්‍රයෝජන ගත හැකි වෙනත් බලවත් ඉදිකිරීම් තිබේ, උදාහරණයක් ලෙස, හරියටම වරක් සැකසීම. එය බෙදා හරින ලද ව්‍යාපාර පද්ධති සඳහා ක්‍රීඩාව වෙනස් කරන්නෙකු වන්නේ එය ගනුදෙනු ඇපකර සපයන බැවිනි XA පරිමාණය කළ හැකි ආකාරයෙන්. මෙය හතරවන ලිපියෙන් සාකච්ඡා කෙරේ. අවසාන වශයෙන්, අපි මෙම මූලධර්ම ක්‍රියාත්මක කිරීමේ විස්තර වෙත යාමට අවශ්‍ය වනු ඇත.

දත්ත ද්විකෝටිය: දත්ත සහ සේවා අතර සම්බන්ධය නැවත සිතා බැලීම

නමුත් දැනට, මෙය මතක තබා ගන්න: ව්‍යාපාරික සේවා ගොඩ නැගීමේදී අප මුහුණ දෙන බලවේගයක් වන්නේ දත්ත ද්විකෝටියයි. ඒ වගේම අපි මෙය මතක තබා ගත යුතුයි. උපක්‍රමය නම් සෑම දෙයක්ම හිස මත හරවා බෙදාගත් දත්ත පළමු පන්තියේ වස්තු ලෙස සැලකීම ආරම්භ කිරීමයි. Stateful Stream Processing මේ සඳහා සුවිශේෂී සම්මුතියක් සපයයි. එය ප්‍රගතිය වළක්වන මධ්‍යගත “දෙවි සංරචක” වළක්වයි. එපමණක් නොව, එය දත්ත ප්‍රවාහ නල මාර්ගවල වේගවත් බව, පරිමාණය සහ ඔරොත්තු දීමේ හැකියාව සහතික කරන අතර ඒවා සෑම සේවාවකටම එක් කරයි. එබැවින්, ඕනෑම සේවාවක් එහි දත්ත සමඟ සම්බන්ධ වී වැඩ කළ හැකි පොදු සවිඥානක ධාරාව කෙරෙහි අවධානය යොමු කළ හැකිය. මෙය සේවාවන් වඩාත් පරිමාණය කළ හැකි, හුවමාරු කළ හැකි සහ ස්වාධීන කරයි. එබැවින් ඔවුන් වයිට්බෝඩ් සහ උපකල්පන පරීක්ෂණවල හොඳ පෙනුමක් ලබා දෙනවා පමණක් නොව, ඔවුන් දශක ගණනාවක් වැඩ කර පරිණාමය වනු ඇත.

පාඨමාලාව ගැන තව දැනගන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න