டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி

நிறுவனத்திற்கான பிளாக்செயின் இயங்குதளம்

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி

நல்ல மதியம், அன்பான வாசகர்களே, எனது பெயர் நிகோலாய் நெஃபெடோவ், நான் ஐபிஎம்மில் தொழில்நுட்ப நிபுணர், இந்த கட்டுரையில் நான் உங்களுக்கு பிளாக்செயின் இயங்குதளத்தை அறிமுகப்படுத்த விரும்புகிறேன் - ஹைப்பர்லெட்ஜர் ஃபேப்ரிக். நிறுவன வகுப்பு வணிக பயன்பாடுகளை உருவாக்குவதற்காக இந்த தளம் வடிவமைக்கப்பட்டுள்ளது. கட்டுரையின் நிலை IT தொழில்நுட்பங்களைப் பற்றிய அடிப்படை அறிவைக் கொண்ட ஆயத்தமில்லாத வாசகர்களுக்கானது.

ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் என்பது ஒரு திறந்த மூல திட்டமாகும், இது லினக்ஸ் அறக்கட்டளையின் கூட்டமைப்பான ஓப்பன் சோர்ஸ் ஹைப்பர்லெட்ஜர் திட்டத்தின் கிளைகளில் ஒன்றாகும். ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் முதலில் டிஜிட்டல் அசெட்ஸ் மற்றும் ஐபிஎம் மூலம் தொடங்கப்பட்டது. ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் தளத்தின் முக்கிய அம்சம் நிறுவன பயன்பாட்டில் கவனம் செலுத்துவதாகும். எனவே, பரிவர்த்தனைகளின் அதிக வேகம் மற்றும் அவற்றின் குறைந்த செலவு, அத்துடன் அனைத்து பங்கேற்பாளர்களின் அடையாளத்தையும் கணக்கில் எடுத்துக்கொண்டு தளம் உருவாக்கப்பட்டது. பரிவர்த்தனை சரிபார்ப்பு சேவையைப் பிரித்தல் மற்றும் விநியோகிக்கப்பட்ட பதிவேட்டின் புதிய தொகுதிகளை உருவாக்குதல், அத்துடன் சான்றிதழ் மையத்தைப் பயன்படுத்துதல் மற்றும் பங்கேற்பாளர்களின் அங்கீகாரம் ஆகியவற்றின் மூலம் இந்த நன்மைகள் அடையப்படுகின்றன.

எனது கட்டுரை ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் பற்றிய தொடர் கட்டுரைகளின் ஒரு பகுதியாகும், அதில் ஒரு பல்கலைக்கழகத்தில் நுழையும் மாணவர்களைப் பதிவு செய்வதற்கான அமைப்புத் திட்டத்தை நாங்கள் விவரிக்கிறோம்.

ஹைப்பர்லெட்ஜர் துணியின் பொதுவான கட்டமைப்பு

ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் என்பது விநியோகிக்கப்பட்ட பிளாக்செயின் நெட்வொர்க் ஆகும், இது நெட்வொர்க் முனைகளில் நிறுவப்பட்ட பல்வேறு செயல்பாட்டு கூறுகளைக் கொண்டுள்ளது. Hyperledger Fabric கூறுகள் DockerHub இலிருந்து இலவசமாக பதிவிறக்கம் செய்யக்கூடிய Docker கொள்கலன்கள் ஆகும். ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் ஒரு குபெர்னெட்டஸ் சூழலில் இயக்கப்படலாம்.

ஸ்மார்ட் ஒப்பந்தங்களை எழுத (ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் சூழலில் சங்கிலி), நாங்கள் கோலாங்கைப் பயன்படுத்தினோம் (ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் மற்ற மொழிகளைப் பயன்படுத்த அனுமதித்தாலும்). தனிப்பயன் பயன்பாட்டை உருவாக்க, எங்கள் விஷயத்தில், தொடர்புடைய Hyperledger Fabric SDK உடன் Node.js ஐப் பயன்படுத்தினோம்.

முனைகள் வணிக தர்க்கத்தை (ஸ்மார்ட் ஒப்பந்தம்) செயல்படுத்துகின்றன - சங்கிலி குறியீடு, விநியோகிக்கப்பட்ட பதிவேட்டின் நிலையை (லெட்ஜர் தரவு) சேமித்து, தளத்தின் பிற கணினி சேவைகளை இயக்குகிறது. ஒரு கணு ஒரு தருக்க அலகு மட்டுமே; ஒரே இயற்பியல் சேவையகத்தில் வெவ்வேறு முனைகள் இருக்கலாம். முனைகள் எவ்வாறு தொகுக்கப்படுகின்றன (நம்பகமான டொமைன்) மற்றும் அவை பிளாக்செயின் நெட்வொர்க்கின் செயல்பாடுகளுடன் தொடர்புடையவை என்பது மிகவும் முக்கியமானது.

பொதுவான கட்டிடக்கலை இதுபோல் தெரிகிறது:

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி

படம் 1. ஹைப்பர்லெட்ஜர் துணியின் பொது கட்டிடக்கலை

யூசர் அப்ளிகேஷன் (சப்மிட்டிங் கிளையண்ட்) என்பது பிளாக்செயின் நெட்வொர்க்குடன் பயனர்கள் வேலை செய்யும் ஒரு பயன்பாடாகும். வேலை செய்ய, நீங்கள் அங்கீகரிக்கப்பட வேண்டும் மற்றும் நெட்வொர்க்கில் பல்வேறு வகையான செயல்களுக்கு பொருத்தமான உரிமைகள் இருக்க வேண்டும்.

சகாக்கள் பல பாத்திரங்களில் வருகிறார்கள்:

  • எண்டர்சிங் பீர் என்பது ஒரு பரிவர்த்தனையை செயல்படுத்துவதை உருவகப்படுத்தும் முனையாகும் (ஸ்மார்ட் ஒப்பந்தக் குறியீட்டை செயல்படுத்துகிறது). ஸ்மார்ட் ஒப்பந்தத்தின் சரிபார்ப்பு மற்றும் செயல்பாட்டிற்குப் பிறகு, முனை அதன் கையொப்பத்துடன் கிளையன்ட் பயன்பாட்டிற்கு செயல்படுத்தல் முடிவுகளை வழங்குகிறது.
  • ஆர்டர் சேவை என்பது பல முனைகளில் விநியோகிக்கப்பட்ட சேவையாகும், இது விநியோகிக்கப்பட்ட பதிவேட்டின் புதிய தொகுதிகளை உருவாக்கவும், பரிவர்த்தனைகளை நிறைவேற்றுவதற்கான வரிசையை உருவாக்கவும் பயன்படுகிறது. ஆர்டர் செய்யும் சேவை பதிவேட்டில் புதிய தொகுதிகளைச் சேர்க்காது (செயல்திறனை மேம்படுத்த இந்த அம்சம் கமிட்டிங் பீர்ஸுக்கு மாற்றப்பட்டுள்ளது).
  • கமிட்டிங் பீர் என்பது விநியோகிக்கப்பட்ட பதிவேட்டைக் கொண்ட ஒரு முனை மற்றும் பதிவேட்டில் புதிய தொகுதிகளைச் சேர்க்கிறது (அவை ஆர்டர் செய்யும் சேவையால் உருவாக்கப்பட்டவை). அனைத்து உறுதியளிக்கும் சகாக்களும் விநியோகிக்கப்பட்ட லெட்ஜரின் உள்ளூர் நகலைக் கொண்டுள்ளனர். உள்நாட்டில் ஒரு புதிய தொகுதியைச் சேர்ப்பதற்கு முன், பிளாக்கிற்குள் உள்ள அனைத்து பரிவர்த்தனைகளையும் கமிட்டிங் பீர் சரிபார்க்கிறது.

ஒப்புதல் கொள்கை என்பது பரிவர்த்தனையின் செல்லுபடியை சரிபார்க்கும் கொள்கையாகும். இந்தக் கொள்கைகள், பரிவர்த்தனை செல்லுபடியாகும் என அங்கீகரிக்க, ஸ்மார்ட் ஒப்பந்தம் செயல்படுத்தப்பட வேண்டிய தேவையான முனைகளின் தொகுப்பை வரையறுக்கிறது.

விநியோகிக்கப்பட்ட பதிவேடு - லெர்கர் - இரண்டு பகுதிகளைக் கொண்டுள்ளது: WolrldState (மேலும் மாநில தரவுத்தளம் என்றும் அழைக்கப்படுகிறது) மற்றும் BlockChain.

பிளாக்செயின் என்பது தொகுதிகளின் சங்கிலி ஆகும், இது விநியோகிக்கப்பட்ட பதிவேட்டில் உள்ள அனைத்து மாற்றங்களின் பதிவுகளையும் சேமிக்கிறது.

WolrldState என்பது ஒரு விநியோகிக்கப்பட்ட லெட்ஜர் கூறு ஆகும், இது அனைத்து விநியோகிக்கப்பட்ட லெட்ஜர் பொருட்களின் தற்போதைய (கட்டிங் எட்ஜ்) மதிப்புகளை சேமிக்கிறது.

வேர்ல்ட்ஸ்டேட் ஒரு தரவுத்தளமாகும், அடிப்படை பதிப்பில் - LevelDB அல்லது மிகவும் சிக்கலான ஒன்று - CouchDB, முக்கிய மதிப்பு ஜோடிகளைக் கொண்டுள்ளது, எடுத்துக்காட்டாக: முதல் பெயர் - இவான், கடைசி பெயர் - இவானோவ், கணினியில் பதிவு தேதி - 12.12.21/17.12.1961/XNUMX , பிறந்த தேதி - XNUMX/XNUMX/XNUMX, முதலியன. வேர்ல்ட்ஸ்டேட் மற்றும் விநியோகிக்கப்பட்ட பதிவேடு கொடுக்கப்பட்ட சேனலில் உள்ள அனைத்து பங்கேற்பாளர்களிடையே சீரானதாக இருக்க வேண்டும்.

Hyperledger Fabric என்பது அனைத்து பங்கேற்பாளர்களும் அறியப்பட்ட மற்றும் அங்கீகரிக்கப்பட்ட நெட்வொர்க் என்பதால், இது ஒரு பிரத்யேக சான்றிதழ் அதிகாரத்தைப் பயன்படுத்துகிறது - CA (சான்றிதழ் ஆணையம்). CA ஆனது X.509 தரநிலை மற்றும் பொது விசை உள்கட்டமைப்பு - PKI ஆகியவற்றின் அடிப்படையில் செயல்படுகிறது.

உறுப்பினர் சேவை என்பது ஒரு பொருள் ஒரு குறிப்பிட்ட நிறுவனம் அல்லது சேனலுக்கு சொந்தமானது என்பதை உறுப்பினர்கள் சரிபார்க்கும் ஒரு சேவையாகும்.

ஒரு பரிவர்த்தனை - பெரும்பாலான சந்தர்ப்பங்களில், விநியோகிக்கப்பட்ட பதிவேட்டில் புதிய தரவை எழுதுகிறது.
சேனல்கள் அல்லது ஸ்மார்ட் ஒப்பந்தங்களை உருவாக்குவதற்கான பரிவர்த்தனைகளும் உள்ளன. பரிவர்த்தனையானது பயனர் பயன்பாட்டினால் தொடங்கப்பட்டு, விநியோகிக்கப்பட்ட லெட்ஜரில் ஒரு பதிவோடு முடிவடைகிறது.

ஒரு சேனல் என்பது இரண்டு அல்லது அதற்கு மேற்பட்ட பிளாக்செயின் நெட்வொர்க் பங்கேற்பாளர்களைக் கொண்ட ஒரு மூடிய சப்நெட்வொர்க் ஆகும், இது வரையறுக்கப்பட்ட ஆனால் அறியப்பட்ட பங்கேற்பாளர்களின் வட்டத்திற்குள் ரகசிய பரிவர்த்தனைகளை நடத்த வடிவமைக்கப்பட்டுள்ளது. சேனல் பங்கேற்பாளர்கள், அதன் விநியோகிக்கப்பட்ட பதிவு, ஸ்மார்ட் ஒப்பந்தங்கள், ஆர்டர் செய்யும் சேவை, வேர்ல்ட்ஸ்டேட் ஆகியவற்றால் தீர்மானிக்கப்படுகிறது. ஒவ்வொரு சேனல் பங்கேற்பாளரும் சேனலை அணுகுவதற்கு அங்கீகாரம் பெற்றிருக்க வேண்டும் மற்றும் பல்வேறு வகையான பரிவர்த்தனைகளைச் செய்வதற்கான உரிமையைப் பெற்றிருக்க வேண்டும். உறுப்பினர் சேவையைப் பயன்படுத்தி அங்கீகாரம் செய்யப்படுகிறது.

வழக்கமான பரிவர்த்தனை செயல்படுத்தல் காட்சி

அடுத்து, எங்கள் திட்டத்தை உதாரணமாகப் பயன்படுத்தி ஒரு பொதுவான பரிவர்த்தனை செயல்படுத்தல் காட்சியைப் பற்றி பேச விரும்புகிறேன்.

எங்கள் உள் திட்டத்தின் ஒரு பகுதியாக, நாங்கள் ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் நெட்வொர்க்கை உருவாக்கினோம், இது பல்கலைக்கழகங்களுக்குள் நுழையும் மாணவர்களைப் பதிவுசெய்து கணக்கு வைக்க வடிவமைக்கப்பட்டுள்ளது. எங்கள் நெட்வொர்க், பல்கலைக்கழகம் A மற்றும் பல்கலைக்கழகம் B ஆகியவற்றைச் சேர்ந்த இரண்டு நிறுவனங்களைக் கொண்டுள்ளது. ஒவ்வொரு நிறுவனமும் ஒரு கிளையன்ட் விண்ணப்பத்தையும், அதன் சொந்த உறுதிமொழி மற்றும் ஒப்புதலைப் பெறுவதையும் கொண்டுள்ளது. நாங்கள் பொதுவான சேவைகளை ஆர்டர் செய்யும் சேவை, உறுப்பினர் சேவை மற்றும் சான்றிதழ் ஆணையத்தையும் பயன்படுத்துகிறோம்.

1) பரிவர்த்தனையின் துவக்கம்

ஒரு பயனர் பயன்பாடு, ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் SDK ஐப் பயன்படுத்தி, பரிவர்த்தனை கோரிக்கையைத் தொடங்கி, ஸ்மார்ட் ஒப்பந்தங்களுடன் கூடிய முனைகளுக்கு கோரிக்கையை அனுப்புகிறது. கோரிக்கையானது விநியோகிக்கப்பட்ட பதிவேட்டில் (லெட்ஜர்) இருந்து மாற்ற அல்லது படிக்க வேண்டும். பல்கலைக்கழக மாணவர்களுக்கான கணக்கியலுக்கான எங்கள் சோதனை அமைப்பு உள்ளமைவின் உதாரணத்தை நாங்கள் கருத்தில் கொண்டால், கிளையன்ட் அப்ளிகேஷன் A மற்றும் B பல்கலைக்கழகங்களின் முனைகளுக்கு பரிவர்த்தனை கோரிக்கையை அனுப்புகிறது, அவை ஸ்மார்ட் ஒப்பந்தத்தின் ஒப்புதல் கொள்கையில் சேர்க்கப்பட்டுள்ளன. நோட் ஏ என்பது பல்கலைக்கழகத்தில் உள்ள ஒரு முனையாகும், இது உள்வரும் மாணவரைப் பதிவு செய்கிறது, மேலும் முனை B என்பது மற்றொரு பல்கலைக்கழகத்தில் அமைந்துள்ள ஒரு முனை ஆகும். விநியோகிக்கப்பட்ட பதிவேட்டில் ஒரு பரிவர்த்தனை சேமிக்கப்படுவதற்கு, வணிக தர்க்கத்தின்படி, பரிவர்த்தனைக்கு ஒப்புதல் அளிக்கும் அனைத்து முனைகளும் அதே முடிவுடன் ஸ்மார்ட் ஒப்பந்தங்களை வெற்றிகரமாக செயல்படுத்துவது அவசியம். முனை A பயனர் பயன்பாடு, Hyperledger Fabric SDK கருவிகளைப் பயன்படுத்தி, ஒப்புதல் கொள்கையைப் பெறுகிறது மற்றும் பரிவர்த்தனை கோரிக்கையை எந்த முனைகளுக்கு அனுப்ப வேண்டும் என்பதை அறியும். விநியோகிக்கப்பட்ட பதிவேட்டில் குறிப்பிட்ட தரவைப் படிக்க அல்லது எழுத ஒரு குறிப்பிட்ட ஸ்மார்ட் ஒப்பந்தத்தை (செயின்கோட் செயல்பாடு) செயல்படுத்துவதற்கான கோரிக்கை இது. தொழில்நுட்ப ரீதியாக, கிளையன்ட் SDK தொடர்புடைய செயல்பாட்டைப் பயன்படுத்துகிறது, அதன் API பரிவர்த்தனை அளவுருக்களுடன் ஒரு குறிப்பிட்ட பொருளை அனுப்புகிறது, மேலும் கிளையன்ட் கையொப்பத்தைச் சேர்த்து, gRPC வழியாக நெறிமுறை இடையகத்தின் மூலம் இந்தத் தரவை பொருத்தமான முனைகளுக்கு அனுப்புகிறது (சகாக்களை அங்கீகரிக்கிறது).

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 2. ஒரு பரிவர்த்தனையைத் தொடங்குதல்

2) ஸ்மார்ட் ஒப்பந்தத்தை நிறைவேற்றுதல்

கணுக்கள் (சகாக்களின் ஒப்புதல்), ஒரு பரிவர்த்தனை நடத்துவதற்கான கோரிக்கையைப் பெற்ற பிறகு, கிளையன்ட் கையொப்பத்தைச் சரிபார்த்து, எல்லாம் ஒழுங்காக இருந்தால், அவர்கள் கோரிக்கைத் தரவுடன் ஒரு பொருளை எடுத்து, ஸ்மார்ட் ஒப்பந்தத்தை (செயின்கோட் செயல்பாடு) செயல்படுத்துவதற்கான உருவகப்படுத்துதலை இயக்குகிறார்கள். இந்த தரவு. ஸ்மார்ட் ஒப்பந்தம் என்பது ஒரு பரிவர்த்தனையின் வணிக தர்க்கம், ஒரு குறிப்பிட்ட நிபந்தனைகள் மற்றும் வழிமுறைகள் (எங்கள் விஷயத்தில், இது ஒரு மாணவரின் சரிபார்ப்பு, இது ஒரு புதிய மாணவரா, அல்லது அவர் ஏற்கனவே பதிவு செய்தவரா, வயது சரிபார்ப்பு போன்றவை). ஸ்மார்ட் ஒப்பந்தத்தை நிறைவேற்ற, உங்களுக்கு வேர்ல்ட்ஸ்டேட்டிலிருந்து தரவு தேவைப்படும். எண்டர்சிங் பியர் மீது ஸ்மார்ட் ஒப்பந்தத்தை உருவகப்படுத்துவதன் விளைவாக, இரண்டு செட் தரவு பெறப்படுகிறது - ரீட் செட் மற்றும் ரைட் செட். ரீட் செட் மற்றும் ரைட் செட் ஆகியவை அசல் மற்றும் புதிய வேர்ல்ட்ஸ்டேட் மதிப்புகள். (புதியது - ஸ்மார்ட் ஒப்பந்தத்தின் உருவகப்படுத்துதலின் போது பெறப்பட்ட பொருளில்).

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 3. ஸ்மார்ட் ஒப்பந்தத்தை நிறைவேற்றுதல்

3) கிளையன்ட் பயன்பாட்டிற்கு தரவைத் திருப்பி அனுப்புகிறது

ஸ்மார்ட் ஒப்பந்தத்தின் உருவகப்படுத்துதலை நடத்திய பிறகு, எண்டர்சிங் பியர்ஸ் அசல் தரவு மற்றும் உருவகப்படுத்துதலின் முடிவு, அத்துடன் கிளையன்ட் பயன்பாட்டிற்கு அவர்களின் சான்றிதழால் கையொப்பமிடப்பட்ட RW செட் ஆகியவற்றைத் திருப்பித் தருகிறது. இந்த கட்டத்தில், விநியோகிக்கப்பட்ட பதிவேட்டில் எந்த மாற்றமும் ஏற்படாது. கிளையன்ட் அப்ளிகேஷன், எண்டர்சிங் பியர் கையொப்பத்தைச் சரிபார்த்து, அனுப்பப்பட்ட அசல் பரிவர்த்தனைத் தரவையும் திருப்பி அனுப்பப்பட்ட தரவையும் ஒப்பிடுகிறது (அதாவது, பரிவர்த்தனை உருவகப்படுத்தப்பட்ட அசல் தரவு சிதைக்கப்பட்டதா என்பதை இது சரிபார்க்கிறது). பரிவர்த்தனை பதிவேட்டில் இருந்து தரவைப் படிப்பதற்காக மட்டுமே இருந்தால், கிளையன்ட் பயன்பாடு அதற்கேற்ப தேவையான வாசிப்பு தொகுப்பைப் பெறுகிறது, மேலும் இது பொதுவாக விநியோகிக்கப்பட்ட பதிவேட்டை மாற்றாமல் பரிவர்த்தனையை வெற்றிகரமாக முடிக்கிறது. பதிவேட்டில் தரவை மாற்ற வேண்டிய பரிவர்த்தனை விஷயத்தில், கிளையன்ட் பயன்பாடு கூடுதலாக ஒப்புதல் கொள்கையை செயல்படுத்துவதை சரிபார்க்கிறது. ஒரு கிளையன்ட் பயன்பாடு ஒப்புதல் கொள்கையை செயல்படுத்துவதன் முடிவைச் சரிபார்க்காமல் இருக்கலாம், ஆனால் இந்த விஷயத்தில் ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் இயங்குதளமானது பதிவேட்டில் பரிவர்த்தனையைச் சேர்க்கும் கட்டத்தில் நோட்களில் (கமிட்டிங் பீர்ஸ்) கொள்கைகளைச் சரிபார்க்க வழங்குகிறது.

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 4. கிளையன்ட் பயன்பாட்டிற்கு தரவைத் தருகிறது

4) ஆர்டர் செய்யும் சகாக்களுக்கு RW செட்களை அனுப்புதல்

கிளையன்ட் அப்ளிகேஷன் பரிவர்த்தனையை அதனுடன் சேர்த்து ஆர்டர் செய்யும் சேவைக்கு அனுப்புகிறது. இதில் RW செட், சகாக்களின் கையொப்பங்களை ஏற்றுக்கொள்வது மற்றும் சேனல் ஐடி ஆகியவை அடங்கும்.

ஆர்டர் சேவை - பெயரின் அடிப்படையில், இந்த சேவையின் முக்கிய செயல்பாடு உள்வரும் பரிவர்த்தனைகளை சரியான வரிசையில் ஏற்பாடு செய்வதாகும். விநியோகிக்கப்பட்ட பதிவேட்டின் புதிய தொகுதியை உருவாக்குதல் மற்றும் அனைத்து கமிட்டிங் நோட்களுக்கும் புதிய உருவாக்கப்பட்ட தொகுதிகளை வழங்குவதற்கு உத்தரவாதம் அளிக்கப்படுகிறது, இதனால் விநியோகிக்கப்பட்ட பதிவேட்டைக் கொண்ட அனைத்து முனைகளிலும் தரவு நிலைத்தன்மையை உறுதி செய்கிறது (கமிட்டிங் பியர்ஸ்). அதே நேரத்தில், ஆர்டர் செய்யும் சேவை எந்த வகையிலும் பதிவேட்டை மாற்றாது. ஆர்டர் சேவை என்பது கணினியின் ஒரு முக்கிய அங்கமாகும், எனவே இது பல முனைகளின் தொகுப்பாகும். ஆர்டர் செய்யும் சேவை பரிவர்த்தனையின் செல்லுபடியை சரிபார்க்காது, இது ஒரு குறிப்பிட்ட சேனல் அடையாளங்காட்டியுடன் ஒரு பரிவர்த்தனையை ஏற்றுக்கொள்கிறது, உள்வரும் பரிவர்த்தனைகளை ஒரு குறிப்பிட்ட வரிசையில் ஏற்பாடு செய்கிறது மற்றும் அவற்றிலிருந்து விநியோகிக்கப்பட்ட பதிவேட்டின் புதிய தொகுதிகளை உருவாக்குகிறது. ஒரு ஆர்டர் சேவை ஒரே நேரத்தில் பல சேனல்களுக்கு சேவை செய்ய முடியும். ஆர்டர் செய்யும் சேவையில் காஃப்கா கிளஸ்டர் உள்ளது, இது சரியான (மாறாத) பரிவர்த்தனை வரிசையை பராமரிக்கிறது (பாயின்ட் 7 ஐப் பார்க்கவும்).

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 5. ஆர்டரிங் பியர்களுக்கு RW செட்களை அனுப்புகிறது

5) உருவாக்கப்படும் தொகுதிகளை கமிட்டிங் பியர்க்கு அனுப்புதல்

ஆர்டர் செய்யும் சேவையில் உருவாக்கப்பட்ட தொகுதிகள் அனைத்து நெட்வொர்க் முனைகளுக்கும் அனுப்பப்படும் (ஒளிபரப்பு). ஒவ்வொரு முனையும், ஒரு புதிய தொகுதியைப் பெற்ற பிறகு, ஒப்புதல் கொள்கையுடன் இணங்குகிறதா எனச் சரிபார்க்கிறது, ஸ்மார்ட் ஒப்பந்த உருவகப்படுத்துதலின் விளைவாக, அனைத்து ஒப்புதலளிக்கும் சகாக்களும் ஒரே முடிவைப் பெற்றுள்ளதா (எழுது தொகுப்பு) மற்றும் அசல் மதிப்புகள் உள்ளதா என்பதையும் சரிபார்க்கிறது. பரிவர்த்தனை தொடங்கப்பட்ட தருணத்திலிருந்து மாற்றப்பட்டது (அதாவது, ரீட் செட் - வேர்ல்ட் ஸ்டேட்டிலிருந்து ஸ்மார்ட் ஒப்பந்தத்தால் படிக்கப்பட்ட தரவு). அனைத்து நிபந்தனைகளும் பூர்த்தி செய்யப்பட்டால், பரிவர்த்தனை செல்லுபடியாகும் எனக் குறிக்கப்படும், இல்லையெனில், பரிவர்த்தனை செல்லாத நிலையைப் பெறும்.

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 6. உருவாக்கப்படும் தொகுதிகளை கமிட்டிங் பியர்க்கு அனுப்புதல்

6) பதிவேட்டில் ஒரு தொகுதியைச் சேர்த்தல்

ஒவ்வொரு முனையும் அதன் விநியோகிக்கப்பட்ட பதிவேட்டின் உள்ளூர் நகலில் ஒரு பரிவர்த்தனையைச் சேர்க்கிறது, மேலும் பரிவர்த்தனை செல்லுபடியாகும் என்றால், Write Set WorldState க்கு (தற்போதைய நிலை) பயன்படுத்தப்படும், அதன்படி, பாதிக்கப்பட்ட பொருட்களின் புதிய மதிப்புகள் பரிவர்த்தனை எழுதப்பட்டுள்ளது. ஒரு பரிவர்த்தனை செல்லுபடியாகாத டோக்கனைப் பெற்றால் (எடுத்துக்காட்டாக, ஒரே தொகுதிக்குள் ஒரே பொருள்களுடன் இரண்டு பரிவர்த்தனைகள் நடந்தன, அசல் மதிப்புகள் ஏற்கனவே மற்றொன்றால் மாற்றப்பட்டதால், பரிவர்த்தனைகளில் ஒன்று தவறானதாக மாறும். பரிவர்த்தனை). இந்த பரிவர்த்தனை தவறான டோக்கனுடன் விநியோகிக்கப்பட்ட லெட்ஜரில் சேர்க்கப்பட்டது, ஆனால் இந்த பரிவர்த்தனையின் எழுத்துத் தொகுப்பு தற்போதைய வேர்ல்ட்ஸ்டேட்டிற்குப் பயன்படுத்தப்படாது, அதன்படி, பரிவர்த்தனையில் பங்கேற்கும் பொருட்களை மாற்றாது. இதற்குப் பிறகு, விநியோகிக்கப்பட்ட பதிவேட்டில் பரிவர்த்தனை நிரந்தரமாக சேர்க்கப்பட்டுள்ளது, அத்துடன் பரிவர்த்தனையின் நிலை, அதாவது அது செல்லுபடியாகிறதா இல்லையா என்பது பற்றிய அறிவிப்பு பயனர் பயன்பாட்டிற்கு அனுப்பப்படுகிறது.

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
படம் 7. பதிவேட்டில் ஒரு தொகுதியைச் சேர்த்தல்

சேவையை ஆர்டர் செய்தல்

ஆர்டர் செய்யும் சேவையானது தொடர்புடைய ZooKeeper முனைகள் மற்றும் ஆர்டரிங் சர்வீஸ் நோட்கள் (OSN) கொண்ட காஃப்கா கிளஸ்டரைக் கொண்டுள்ளது, இது ஆர்டர் செய்யும் சேவை கிளையண்டுகளுக்கும் காஃப்கா கிளஸ்டருக்கும் இடையில் நிற்கிறது. காஃப்கா கிளஸ்டர் என்பது விநியோகிக்கப்பட்ட, தவறு-சகிப்புத்தன்மை கொண்ட ஓட்டம் (செய்தி) மேலாண்மை தளமாகும். காஃப்காவில் உள்ள ஒவ்வொரு சேனலும் (தலைப்பு) பதிவுகளின் மாறாத வரிசையாகும், இது புதிய பதிவைச் சேர்ப்பதை மட்டுமே ஆதரிக்கிறது (ஏற்கனவே உள்ள ஒன்றை நீக்குவது சாத்தியமில்லை). தலைப்பு கட்டமைப்பின் விளக்கம் கீழே காட்டப்பட்டுள்ளது. காஃப்காவின் இந்த சொத்து தான் பிளாக்செயின் தளத்தை உருவாக்க பயன்படுகிறது.

டம்மிகளுக்கான ஹைப்பர்லெட்ஜர் துணி
kafka.apache.org இலிருந்து எடுக்கப்பட்டது

  • படம் 8. ஆர்டர் செய்யும் சேவை தலைப்பு அமைப்பு*

பயனுள்ள இணைப்புகள்

Youtube - ஹைப்பர்லெட்ஜர் திட்டத்துடன் வணிகத்திற்கான பிளாக்செயினை உருவாக்குதல்
ஹைப்பர்லெட்ஜர் ஃபேப்ரிக் டாக்ஸ்
ஹைப்பர்லெட்ஜர் துணி: அனுமதிக்கப்பட்ட பிளாக்செயின்களுக்கான விநியோகிக்கப்பட்ட இயக்க முறைமை

ஒப்புதல்கள்

இந்தக் கட்டுரையைத் தயாரிக்க உதவிய எனது சக ஊழியர்களுக்கு எனது ஆழ்ந்த நன்றியைத் தெரிவித்துக் கொள்கிறேன்:
நிகோலாய் மரின்
இகோர் கபோவ்
டிமிட்ரி கோர்பச்சேவ்
அலெக்சாண்டர் ஜெம்ட்சோவ்
எகடெரினா குசேவா

ஆதாரம்: www.habr.com

கருத்தைச் சேர்