2014-ஆம் ஆண்டின் பார்வையில் இருந்து Jaja.tv சாகசத்தை நினைவுகூர்ந்து, நமது நினைவுப் பயணத்தை தொடர்கையில், நமது புதுமையின் முதுகெலும்பாக இருந்தது - நமது தொழில்நுட்ப அடுக்கு பற்றி ஆழமாக ஆராய வேண்டிய நேரம் இது. 2010 முதல் 2012 வரை, நாங்கள் வெறுமனே ஒரு புதிய தளத்தை உருவாக்கவில்லை; நேரடி, ஊடாடும் ஊடக அனுபவங்களில் சாத்தியமானவற்றின் எல்லைகளை நாங்கள் தள்ளிக்கொண்டிருந்தோம்.
மேகம் அடிப்படையிலான அடித்தளம்#
Jaja.tv-இன் மையத்தில் ஒரு வலுவான, மேகம் அடிப்படையிலான உள்கட்டமைப்பு இருந்தது, இது நாங்கள் விரைவாக விரிவடைய அனுமதித்தது மற்றும் ஆயிரக்கணக்கான பயனர்களின் நேரடி ஊடாடல்களை ஒரே நேரத்தில் கையாள அனுமதித்தது. எங்கள் தொழில்நுட்பங்களின் தேர்வு எங்கள் பயனர்களுக்கு நாங்கள் கற்பனை செய்த தடையற்ற, பதிலளிக்கும் அனுபவத்தை செயல்படுத்துவதில் முக்கியமானதாக இருந்தது.
Django: இணைய கட்டமைப்பு சக்திவாய்ந்தது#
பல காரணங்களுக்காக நாங்கள் Django-ஐ எங்கள் முதன்மை இணைய கட்டமைப்பாக தேர்வு செய்தோம்:
- விரைவான மேம்பாடு: Django-வின் “பேட்டரிகள் உள்ளடக்கிய” தத்துவம் நாங்கள் விரைவாக உருவாக்கவும் மாற்றியமைக்கவும் அனுமதித்தது.
- அளவிடக்கூடியது: எங்கள் பயனர் தளம் வளர்ந்தபோது எதிர்பார்க்கப்பட்ட அதிக போக்குவரத்தை கையாள முடிந்தது.
- பாதுகாப்பு: Django-வின் உள்ளமைக்கப்பட்ட பாதுகாப்பு அம்சங்கள் எங்கள் பயனர்களின் தரவைப் பாதுகாப்பதில் முக்கியமானதாக இருந்தன.
Node.js: நேரடி மாயாஜாலத்தை செயல்படுத்துதல்#
Django எங்கள் தளத்தின் முதுகெலும்பாக இருந்தபோதிலும், Node.js Jaja.tv-ஐ சிறப்பாக்கிய நேரடி ஊடாடல்களை செயல்படுத்திய ரகசிய சாஸ் ஆகும்:
- WebSocket ஆதரவு: Node.js WebSocket இணைப்புகளை செயல்படுத்த அனுமதித்தது, உடனடி புதுப்பிப்புகள் மற்றும் அரட்டை செயல்பாட்டை செயல்படுத்தியது.
- நிகழ்வு-இயக்கப்பட்ட கட்டமைப்பு: இது பல ஒரே நேர இணைப்புகளை திறமையாக கையாள்வதற்கு சரியானதாக இருந்தது.
- NPM சுற்றுச்சூழல்: Node.js தொகுப்புகளின் வளமான சுற்றுச்சூழல் எங்கள் மேம்பாட்டு செயல்முறையை துரிதப்படுத்தியது.
தரவு மேலாண்மை மற்றும் தேடல்#
Jaja.tv-இன் செயல்திறனுக்கு தரவை திறமையாக நிர்வகித்தல் மற்றும் மீட்டெடுத்தல் முக்கியமானதாக இருந்தது.
MySQL: நம்பகமான தரவு சேமிப்பு#
நாங்கள் MySQL-ஐ எங்கள் முதன்மை தரவுத்தளமாக பயன்படுத்தினோம்:
- நம்பகத்தன்மை: பெரிய தரவுத்தொகுப்புகளை கையாளுவதில் நிரூபிக்கப்பட்ட டிராக் ரெக்கார்டு.
- செயல்திறன்: விரைவான படிக்கும் செயல்பாடுகள், இவை எங்கள் உள்ளடக்கம் நிறைந்த தளத்திற்கு முக்கியமானவை.
- அளவிடக்கூடியது: எங்கள் தரவு வளர்ந்தபோது கிடைமட்டமாக அளவிட முடியும்.
Redis: மின்னல் வேக கேச்சிங்#
Redis எங்கள் தளத்தின் பதிலளிப்பை மேம்படுத்துவதில் முக்கிய பங்கு வகித்தது:
- நினைவக தரவு கட்டமைப்பு: மிக வேகமான படிக்கும்/எழுதும் செயல்பாடுகளை அனுமதித்தது.
- Pub/Sub செய்தி அனுப்புதல்: தளம் முழுவதும் நேரடி புதுப்பிப்புகளை எளிதாக்கியது.
- கேச்சிங்: அடிக்கடி அணுகப்படும் தரவை கேச் செய்வதன் மூலம் எங்கள் முதன்மை தரவுத்தளத்தின் சுமையைக் குறைத்தது.
Sphinx: புத்திசாலித்தனமான தேடலை இயக்குதல்#
பயனர்கள் தொடர்புடைய உள்ளடக்கம் மற்றும் உரையாடல்களை விரைவாகக் கண்டுபிடிக்க அனுமதிக்க, நாங்கள் Sphinx முழு உரை தேடலை செயல்படுத்தினோம்:
- வேகமானது மற்றும் துல்லியமானது: உயர் தொடர்புடைய தன்மையுடன் மின்னல் வேக தேடல் முடிவுகளை வழங்கியது.
- நெகிழ்வான குறியீடு: பரந்த வகையான உள்ளடக்க வகைகளை குறியீடு செய்ய அனுமதித்தது.
- நேரடி புதுப்பிப்புகள்: நேரடி குறியீட்டு புதுப்பிப்புகளுடன் தேடல் முடிவுகளை நடப்பில் வைத்திருந்தது.
மொபைல் முதல்: Android மற்றும் iPhone பயன்பாடுகள்#
மொபைலின் வளர்ந்து வரும் முக்கியத்துவத்தை அங்கீகரித்து, Android மற்றும் iOS இரண்டு தளங்களுக்கும் நேட்டிவ் பயன்பாடுகளை உருவாக்கினோம்:
- நேட்டிவ் செயல்திறன்: ஒவ்வொரு தளத்திலும் சீரான செயல்திறன் மற்றும் நேட்டிவ் உணர்வை உறுதி செய்தது.
- புஷ் அறிவிப்புகள்: பயனர்களின் பிடித்த நிகழ்ச்சிகள் மற்றும் உரையாடல்கள் பற்றிய சமீபத்திய புதுப்பிப்புகளுடன் பயனர்களை ஈடுபடுத்தியது.
- ஆஃப்லைன் திறன்கள்: இணைய இணைப்பு இல்லாமல் கூட பயனர்கள் சில அம்சங்களை அணுக அனுமதித்தது.
பைதான் பசை#
பைதான் எங்கள் பல்வேறு தொழில்நுட்ப அடுக்கை ஒன்றாக வைத்திருந்த பசையாக இருந்தது:
- தரவு செயலாக்கம்: பின்புல தரவு செயலாக்கம் மற்றும் பகுப்பாய்விற்கு பயன்படுத்தப்பட்டது.
- தானியங்கி: எங்கள் பதிவேற்ற ஸ்கிரிப்டுகள் மற்றும் பிற தானியங்கி கருவிகளை இயக்கியது.
- இயந்திர கற்றல்: பயனர்களுக்கு உள்ளடக்கம் மற்றும் உரையாடல்களை பரிந்துரைக்க பரிந்துரை வழிமுறைகளை செயல்படுத்தியது.
சவால்கள் மற்றும் வெற்றிகள்#
இந்த சிக்கலான தொழில்நுட்ப அடுக்கை உருவாக்குவது சவால்கள் இல்லாமல் இல்லை:
- ஒருங்கிணைப்பு சிக்கல்: இந்த வெவ்வேறு தொழில்நுட்பங்கள் அனைத்தும் தடையின்றி ஒன்றாக இயங்குவதை உறுதி செய்வது ஒரு தொடர்ச்சியான சவாலாக இருந்தது.
- அளவிடும் சிக்கல்கள்: எங்கள் பயனர் தளம் வளர்ந்தபோது, செயல்திறனை பராமரிக்க எங்கள் உள்கட்டமைப்பை தொடர்ந்து உகந்ததாக்க வேண்டியிருந்தது.
- நேரடி ஒத்திசைவு: ப