Snapchat ට්වීන් සහ යෞවනයන් අතර ප්රසිද්ධය. ඔබට එය ක්රියා කරන ආකාරය සොයා ගැනීමට නොහැකි නම් ඔබ බොහෝ විට 25 ට වැඩි විය හැකිය. Snapchat, වඩාත්ම ජනප්රිය සමාජ මාධ්ය යෙදුම් වලින් එකක්, ළමයින්ට සහ නව යොවුන් වියේ දරුවන්ට අවශ්ය දේ හරියටම සපයයි: සාමාන්ය සිදුවීම් බෙදා ගැනීමට පහසු ක්රමයක් වන අතරම ඔවුන් සිසිල් බවක් ද පෙන්වයි.
ඔබ කරන සෑම දෙයක්ම පටිගත කර ප්රකාශයට පත් කරන Facebook සහ Twitter මෙන් නොව, Snapchat අතුරුදහන් විය යුතු පණිවිඩ භාවිතා කරයි (ඒවා නොකරන ආකාරය බලන්න).
Snapchat ගැන බොහෝ දේ ඇත, ඔබ සංවර්ධකයෙකු නම් එය ඊටත් වඩා වැඩිය. එබැවින්, මෙම සටහන ඔබට Snapchat හි ඉහළ මට්ටමේ දසුනක් ලබා දෙනු ඇත පද්ධති නිර්මාණය සහ තවත් බොහෝ අවබෝධය.
හැදින්වීම
Snapchat යනු එක්සත් ජනපදය පදනම් කරගත් එකක් සමාජ ජාලකරණය පරිශීලකයින්ට ක්ෂණිකව සම්බන්ධ වීමට, පින්තූර බෙදා ගැනීමට සහ තවත් බොහෝ දේ ලබා දෙන යෙදුම.
- පණිවිඩ සහ පින්තූර (හෝ snaps) සඳහා පැය 24ක කාල සීමාවක් ඇත. කණ්ඩායම් වශයෙන් ඔවුන්ගේ කථා බෙදා ගැනීමට මිනිසුන් දිරිමත් කරයි.
- Snap Map මඟින් පරිශීලකයින්ට ඔවුන්ගේ මිතුරන් සිටින ස්ථානය සිතියමක දැකීමට ඉඩ සලසයි.
- මතකයන් පරිශීලකයින්ට ඔවුන් වසරකට පසුව සුරකින ලද හෝ බෙදාගත් ඡායාරූප මතක් කරයි.
- Snapchat තරුණ පරම්පරාවන් අතර, විශේෂයෙන්ම යෞවනයන් අතර අතිශයින් ජනප්රියයි. යෙදුමේ ක්රියාකාරී පරිශීලකයින් මිලියන 319 ක් සිටින අතර සෑම දිනකම ස්නැප් බිලියන 5.4 ක් යවනු ලැබේ.
වැදගත් සැලසුම් නියමයන්
මොනොලිතික් ගෘහ නිර්මාණ ශිල්පය - වෙනත් යෙදුම් වලින් ස්වාධීනව ක්රියාත්මක වන තනි-ස්ථර යෙදුමක් ඒකලිතයක් (මොනොලිතික් ගෘහ නිර්මාණ ශිල්පයක්) ලෙස හැඳින්වේ. මොනොලිත් නිර්මාණය කර ඇත්තේ කාර්යයක් සම්පූර්ණ කිරීමට අවශ්ය සියලුම ක්රියාකාරකම් සිදු කිරීමට සහ හැසිරවීමටය. යෙදුම ආරම්භයේ සිට අවසානය දක්වා සියලුම කාර්යයන් ඉටු කරයි.
ක්ෂුද්ර සේවා - එය මොනොලිත් වලට විරුද්ධ ධ්රැවීය වේ. ක්ෂුද්ර සේවා සේවා එකතුවක් ලෙස යෙදුමක් සංවිධානය කරන වාස්තුවිද්යාත්මක ප්රවේශයකි. යෙදුමක බොහෝ අංග පාලනය කිරීමට මෙම සේවාවන් භාවිතා වේ. පාරිභෝගිකයෙක් ඇණවුමක් කරයි, වේටර්වරයකු එය ගෙන එය ලබා දෙයි, සහ චෙෆ් එය සූදානම් කරයි. මෙම උදාහරණයේ දී, එක් එක් සංරචක ස්වාධීනව සහ අනෙකුත් ඒවායින් වෙන් වෙන්ව ක්රියා කරයි; අනෙක් අය කරන්නේ කුමක්දැයි කිසිවෙකු හරියටම දන්නේ නැත, කිසිවෙකුට එකම තොරතුරු සඳහා ප්රවේශය නොමැත.
JSON: එය ජාවාස්ක්රිප්ට් වස්තු, වචනාර්ථ, අරා සහ දත්ත සංදර්ශන කිරීමට භාවිතා කළ හැකි පෙළ-පාදක ආකෘතියකි. මෙම පෙළ-පාදක ආකෘතිය කියවීමට සහ ලිවීමට සරල මෙන්ම මෘදුකාංග මගින් ජීර්ණය කිරීමට අදහස් කෙරේ. සේවාදායක සහ සබැඳි යෙදුම් අතර දත්ත සහ තොරතුරු මාරු කිරීමට JSON බහුලව භාවිතා වේ.
වාද්ය වෘන්දය: බොහෝ මෙහෙයුම් ස්වයංක්රීය කිරීමේ තාක්ෂණය වාද්ය වෘන්දය ලෙස හැඳින්වේ. මෙම රැකියා පරිගණක පද්ධති සහ මෘදුකාංග වින්යාස කිරීම, සම්බන්ධීකරණය සහ පරිපාලනය ඇතුළත් වේ.
ප්රොක්සි: ප්රොක්සියක් සම්පතක් සොයන සේවාදායකයෙකු සහ එය සපයන සේවාදායකය අතර අතරමැදියක් ලෙස ක්රියා කරයි.
දැල් කොටු: සේවා දැලක් යනු ප්රොක්සි හරහා සේවා අතර නියාමනය කළ, නිරීක්ෂණය කළ හැකි සහ ආරක්ෂිත සන්නිවේදනයකට ඉඩ සැලසීම සඳහා යටිතල පහසුකම් ස්ථරයකට ස්ථරයක් එක් කරන මෘදුකාංග ගෘහ නිර්මාණ රටාවකි.
ඉහළ මට්ටමේ නිර්මාණය
මොනොලිතික් ගැටළු
Snapchat Google App Engine මත පදනම් වූ වලාකුළු මත පදනම් වූ ඒකලිතයක් ලෙස ආරම්භ විය. කෙසේ වෙතත්, වැඩසටහන ජනප්රිය වෙමින් වැඩි පරිශීලකයින් සහ දත්ත ලබා ගත් විට, පරිමාණය ගැටළුවක් විය.
මීට අමතරව, මොනොලිත් තුළ විශාල පිපිරුම් අරය සමඟ, පද්ධතිය පුරා කැළඹීම් වඩාත් හැකි විය. Snapchat හි එක් ගැටළුවක් "පොදු ඛේදවාචකයක්" ලෙස අර්ථ දක්වා ඇත, එහි විශේෂාංග සම්පත් වෙත ප්රවේශය සඳහා තරඟ කරයි; යෙදුම් දියත් කිරීමේ වේලාවේදී විශේෂාංග පූරණය වන අතර, සමහර විශේෂාංග වේගයෙන් පූරණය වීමට ඉඩ සලසයි, නමුත් අනෙක් ඒවා මන්දගාමීව පූරණය වේ.
සේවය නම්යශීලී සහ කාර්යක්ෂම විය හැකි වන පරිදි ඉංජිනේරුවන් සංවර්ධන ආස්ථානයකින් ඒවායේ කොටස්වල පැහැදිලි දෘශ්යතාව, වෙන් කිරීම සහ හිමිකාරිත්වය අපේක්ෂා කළහ.
පරිවර්තනය
Snapchat ව්යාප්ත වීමත් සමඟම, එහි මොනොලිතික් යටිතල ව්යුහය කුඩා, වඩා කාර්යක්ෂම කොටස් වලට කැඩීමට අවශ්ය බව සමාගමට වැටහුණි. අඩු ප්රමාදයක් ලබා දීම සඳහා, සංවිධානය ක්ෂුද්ර සේවා පදනම් වූ සැලසුමක් සංවර්ධනය කිරීමට තීරණය කළේය.
එම අරමුණු ඉටු කර ගැනීම සඳහා, Snapchat විසින් සිය මෘදුකාංගය යාවත්කාලීන කිරීමට තෝරා ගත්තේ, පරිමාණ කළ හැකි NoSQL දත්ත සමුදා සේවාවක් වන Amazon DynamoDB භාවිතා කරමිනි. එහි උත්සාහයේ ප්රතිඵලයක් ලෙස මධ්ය ප්රමාදය 20% කින් අඩු කිරීමට සමාගමට හැකි විය.
යෙදුම සංස්ථාව විසින් කුඩා යෙදුම් රාශියකට නැවත ලියා ඇත. Snapchat ආරම්භ වූයේ කැමරාවක්, කතාබස්, මතකයන්, පින්තූර සංස්කරණය, අන්තර්ගත පරිභෝජනය සහ සිතියමක් ඇතුළු බොහෝ යෙදුම් සමඟිනි. මෙම වැඩසටහන් තනි ඒකලිතයකට අනුකලනය කිරීම පාරිභෝගිකයින්ට පහසු වුවද, හොඳ කාර්ය සාධනයක් පවත්වා ගැනීම සම්බන්ධයෙන් දැඩි තාක්ෂණික ගැටළුවක් මතු විය.
නැවත ලිවීම සඳහා, සංස්ථාව බොහෝ මූලික නීති ස්ථාපිත කළේය. පූර්ව පූරණය නොකරන්න; සෑම විශේෂාංගයක්ම තමන්ගේම යෙදුමක් විය යුතු අතර, එය ඉක්මන් විය යුතුය. Snapchat නැවත ලිවීම සක්රීය කිරීම සඳහා ස්ථාන කිහිපයක වෙනස් කිරීම් නවතා දැමූ අතර එය දැඩි තාක්ෂණික කාර්යයක් බවට පත් කළේය.
අතිරේක විශේෂාංග ඒකාබද්ධ කිරීම
Snapchat හි කැමරා යෙදුමට කාච, ෆිල්ටර, බිට්මොජි සහ වෙනත් දේවල් අතර වැඩි දියුණු කළ රියැලිටි සජීවිකරණ එකතු කිරීමේ හැකියාව ඇත. Snapchat හි චැට් යෙදුම පරිශීලකයින්ට ඡායාරූප ගබඩා කිරීමට, කතා සුරැකීමට, චිත්තවේගීය එකතු කිරීමට සහ තවත් බොහෝ දේ කිරීමට ඉඩ සලසයි.
Snapchat හි සිතියම, වෙනත් දේ අතර, මිතුරන්ට ඔබට අවශ්ය නම් ඔවුන් නිරීක්ෂණය කිරීමට ඔබට ඉඩ සලසයි. මතකයන්, ඡායාරූප සංස්කරණය සහ අන්තර්ගත පරිභෝජන සියල්ලම ඔවුන්ගේ අද්විතීය හැකියාවන් සහිත වෙනම Snapchat යෙදුම් වේ.
මතකයන් ඔබට පසුකාලීන භාවිතය සඳහා ඡායාරූප හෝ වීඩියෝ ගබඩා කිරීමට හෝ වෙනස් කිරීමට මෙන්ම ඒවා උඩුගත කිරීමට හෝ යැවීමට ඉඩ සලසයි. පරිශීලකයින්ට චිත්රපට කැපීමට, පෙළ එක් කිරීමට, ස්ටිකර් එකතු කිරීමට සහ තවත් බොහෝ දේ සඳහා පින්තූර සංස්කරණය භාවිතා කළ හැක.
Snapchat හි බාහිර අන්තර්ගත පරිභෝජනය යනු පරාමිති පරාසයක් මත පදනම්ව පරිශීලකයින්ට පෙන්වන දෙයයි.
ක්ෂුද්ර සේවා
එම අවස්ථාවේදී ජාල විමසුම් සිදු කිරීම සඳහා වැඩසටහන JSON මත බෙහෙවින් රඳා පැවතුනි. කෙසේ වෙතත්, JSON විග්රහ කිරීම කාලය ගතවන සහ අකාර්යක්ෂම විය. මෙම ගැටලුව විසඳීම සඳහා ක්රියාත්මක කිරීමේ විස්තරයක් ලෙස JSON භාවිතය වසන් කිරීමට Snapchat මධ්යගත ජාල කළමනාකරණ API භාවිතා කළේය.
ක්ෂුද්ර සේවා මගින් යෙදුම් රාජ්ය කළමනාකරණය, සේවා සන්නිවේදනය සහ අසාර්ථක කළමනාකරණයේ අභියෝග හඳුන්වා දෙයි. Snapchat ශක්තිමත් සහ විශ්වාසනීය පද්ධතියක් ගොඩනැගීම සඳහා වාද්ය වෘන්දයේ දුෂ්කරතා මඟහරවා ගැනීමට Temporal වැනි විවෘත මූලාශ්ර තාක්ෂණයන් භාවිතා කළේය.
එහි ප්රතිඵලයක් වශයෙන්, සේවා දැල් නිර්මාණ රටාවක් භාවිතා කිරීමට සංවිධානය තීරණය කළේය. Snapchat මෙම රටාව සාක්ෂාත් කර ගැනීම සඳහා ප්රොක්සියක් ලෙස ක්රියා කරන තවත් විවෘත මූලාශ්ර මෙවලමක් වන Envoy භාවිතා කළේය. එන්වොයි විසින් යටිතල පහසුකම් හරහා සේවා ගමනාගමනය ගලායාම කළමනාකරණය කරන ලද අතර, සංවර්ධකයින්ට විභව දුෂ්කරතාවලට දෘශ්යමාන විය.
Snapchat සේවා දැල තුළ Switchboard නමින් අභ්යන්තර යෙදුමක් නිර්මාණය කළේය. Switchboard Snap හි සේවා සඳහා පාලක පැනලයක් ලෙස ක්රියා කරන අතර, පරිශීලකයින්ට ගමනාගමනය මාරු කිරීමට, සේවා පරායත්තතා කළමනාකරණය කිරීමට (එක් සේවාවක් අනෙක් අයගේ තත්ත්වය මත පදනම්ව කළමනාකරණය කිරීමට ඉඩ සලසන විශේෂාංගයක්) සහ ප්රදේශ කාණු කිරීමට ඉඩ සලසයි.
සේවා තුළ විභව වින්යාසවල සංකීර්ණත්වය සරල කිරීම සඳහා, සම්පූර්ණ එන්වෝයි ඒපීඅයි හෙළිදරව් කිරීම වෙනුවට ස්විච්බෝඩ් භාවිතා කරන ලදී. Snap හට එහි ක්ෂුද්ර සේවා සඳහා පොදු අභ්යන්තර සහ කලාපීය ජාලයක් ඇත.
එකම කලාපය තුළ ඇති සේවාවන් පොදු අන්තර්ජාලය භාවිතා නොකර එකිනෙක සම්බන්ධ කළ හැකි අතර බාහිර ජාල ගමනාගමනයට අභ්යන්තර ජාල කොටස් සමඟ සන්නිවේදනය කළ නොහැක.
ආරක්ෂක හේතූන් මත අන්තර්ජාලයට නිරාවරණය වීමට අවසර දෙනු ලබන්නේ ගේට්වේ වලට පමණි. උදාහරණයක් ලෙස, API ද්වාර පහසුවෙන් ඉදිරිපස දොරවල් ලෙස ක්රියා කරයි, සේවාලාභීන්ගෙන්/පරිශීලකයන්ගෙන් ඉල්ලීම් සැකසීමට සහ ජාලය සමඟ ඒවා මෙහෙයවීමට හැකිය.
ජාල සහ API ද්වාරය
Snapchat සේවාලාභියාගේ සියලුම විමසුම් API Gateway හරහා පැමිණේ. එය එකම එන්වෝයි රූපය භාවිතා කරන අතර අපගේ අභ්යන්තර ක්ෂුද්ර සේවා මෙන් එකම පාලන තලයට සම්බන්ධ වේ. අපගේ පාලන තලය අභිරුචි එන්වෝයි ෆිල්ටර සබල කිරීමට අපට ඉඩ සලසයි.
Snapchat හි සත්යාපන පද්ධති, මෙන්ම අපගේ අනුපාත සීමා කිරීමේ සහ බර පැටවීමේ තාක්ෂණයන්, මෙම පෙරහන් මගින් හසුරුවනු ලැබේ. පෙරහන් දාමය සම්පූර්ණ වූ පසු අදාළ ක්ෂුද්ර සේවාව වෙත ඉල්ලීම් යොමු කිරීමට නියෝජිතයා සේවා දැල භාවිත කරයි.
නිගමනය
Snapchat හි API ද්වාරය බාහිර ගමනාගමනය යෙදුමේ බොහෝ ක්රියාකාරීත්වයන් වෙත යොමු කරයි. වින්යාස තත්ත්වයන් වෙනස් කිරීමට පරිශීලකයින්ගේ ඉල්ලීම් කළමනාකරණය කරනු ලබන්නේ සේවාදායකයන් විසිනි දත්ත ලබා දෙන්න සහ යෙදුමේ බොහෝ සේවාවන් වෙත තොරතුරු ආපසු.
සමස්තයක් වශයෙන්, Snapchat හි වර්තමාන සැලසුම තනි මෙහෙයුම් පද්ධතියක ක්රියාත්මක වන වැඩසටහන් කිහිපයකට සැසඳිය හැකිය, මෙම අවස්ථාවේදී Snapchat යෙදුම වේ. Snapchat පද්ධති නිර්මාණය පිළිබඳ ඉහළ මට්ටමේ දළ විශ්ලේෂණයක් ඔබට ලබා දීමට මම දැඩි උත්සාහයක් ගත්තෙමි. ඔබට එය ප්රයෝජනවත් වූ බව මම විශ්වාස කරමි.
ඔබමයි