ഒരേ പേരിൽ രണ്ടാമത് ഒരു കണക്ഷൻ ഇതിനകം ആരംഭിച്ചതിന് ശേഷമാണ് ഡിസ്കണക്ട് രേഖ വരുന്നത്, ആ ഉപയോക്താവിന്റെ ഏറ്റവും പുതിയ വരി അപ്ഡേറ്റ് ചെയ്യുന്ന ഹാൻഡ്ലർ തെറ്റായ സെഷൻ അടയ്ക്കുന്നു. തെറ്റ് സമയമുദ്രകളുടെ താരതമ്യത്തിലല്ല. പേരും ഒരു പൂർണ സെക്കൻഡും ഒരു സെഷനെ തിരിച്ചറിയുന്നു എന്ന അനുമാനത്തിലാണ് തെറ്റ്. ഹുക്ക് ഇവന്റുകൾ കണക്ഷനുകളെ വിവരിക്കുന്നു, കണക്ഷന് അതിന് മാത്രം അവകാശപ്പെട്ട ഒരു കീ ആവശ്യമാണ്.

ഡിസ്കണക്ട് വേരിയബിളുകൾ യഥാർത്ഥത്തിൽ എന്താണ് അർത്ഥമാക്കുന്നത് എന്നതിൽ നിന്ന് തുടങ്ങുക. അപ്പോൾ മാത്രമാണ് ഐഡന്റിഫയർ തിരഞ്ഞെടുക്കൽ അർത്ഥവത്താകുന്നത്.

ഡിസ്കണക്ട് ഹുക്ക് യഥാർത്ഥത്തിൽ എന്താണ് വഹിക്കുന്നത്

Community OpenVPN 2.6 ൽ, ഹുക്ക് റഫറൻസ് time_unix ക്ലൈന്റ് കണക്ട് ചെയ്ത നിമിഷമായി നിർവചിക്കുന്നു; കണക്ട് ഹുക്ക് പ്രവർത്തിക്കുന്നതിന് മുമ്പ് ഇത് സജ്ജീകരിക്കുന്നു, ഡിസ്കണക്ട് ഹുക്ക് പിന്നീട് പ്രവർത്തിക്കുമ്പോൾ ഇത് വീണ്ടും നിർവചിക്കപ്പെടുന്നില്ല. time_duration ആ സെഷന്റെ ദൈർഘ്യം സെക്കൻഡുകളിൽ നൽകുന്നു, അതിനാൽ അവസാനം ഏകദേശം കണക്ഷൻ സമയവും ദൈർഘ്യവും കൂടിയതാണ്. രണ്ടും പൂർണ സെക്കൻഡുകളാണ്, ഒന്നും നിങ്ങളുടെ ഡാറ്റാബേസ് ഇവന്റ് പ്രോസസ്സ് ചെയ്ത നിമിഷമല്ല. ഈ മൂന്ന് സമയങ്ങൾ വേർതിരിച്ച് നിർത്തുന്നതാണ് പരസ്പരബന്ധം ടെസ്റ്റിംഗ് സമയത്ത് മാത്രം ശരിയായി തോന്നുന്നതിന് പകരം യഥാർത്ഥത്തിൽ നിലനിർത്തുന്നത്.

ഈ ഗണിതം എഴുതിവയ്ക്കാൻ യോഗ്യമാണ്, കാരണം ഹുക്ക് തന്നെ വാഗ്ദാനം ചെയ്യുന്ന ഏക അവസാന സമയമാണിത്. പ്രോസസ്സിംഗ് കാലതാമസവും ഹോസ്റ്റുകൾക്കിടയിലുള്ള ക്ലോക്ക് വ്യത്യാസങ്ങളും ഇപ്പോഴും അതിന് പുറത്താണ്.

വ്യക്തമായ ജോടി എന്തുകൊണ്ട് അദ്വിതീയമല്ല

പേരിനെ കണക്ഷൻ സമയവുമായി ജോടിയാക്കുന്നത് തിരയൽ ചുരുക്കുന്നു, എന്നിട്ടും സെഷനെ തിരിച്ചറിയുന്നില്ല. ക്ലൈന്റിന് അതേ സെക്കൻഡിനുള്ളിൽ വീണ്ടും കണക്ട് ചെയ്യാം, അതിനാൽ രണ്ട് സെഷനുകൾക്ക് രണ്ട് മൂല്യങ്ങളും പങ്കിടാം. രണ്ട് ഡീമൺ ഇൻസ്റ്റൻസുകൾ, അല്ലെങ്കിൽ അതേ കോൺഫിഗറേഷൻ നിലനിർത്തുന്ന സെർവർ മാറ്റിസ്ഥാപിക്കൽ, ആ ജോടി വ്യത്യസ്ത പ്രോസസ്സുകളിൽ നിന്ന് ഉത്പാദിപ്പിക്കാം. ടണൽ വിലാസങ്ങളും അതേ കാരണത്താൽ പുനരുപയോഗിക്കുന്നു, ഇത് അവയെ സെഷന്റെ ഗുണങ്ങളാക്കുന്നു, അതിന്റെ ഐഡന്റിഫയറുകളല്ല.

പരാജയരീതി നിശ്ശബ്ദമാണ്. ആദ്യ സെഷനുവേണ്ടിയുള്ള വൈകിയ ഡിസ്കണക്ട് ഏറ്റവും പുതിയ വരിയുമായി യോജിച്ച് രണ്ടാം സെഷൻ ഇപ്പോഴും ഉപയോഗിക്കുന്ന ഒരു അനുവദനം അവസാനിപ്പിക്കുന്നു, അതിനാൽ ഉപയോക്താവ് താൻ ഒന്നും ചെയ്യാതെ ക്രമരഹിതമായ പ്രവേശനനഷ്ടം അനുഭവിക്കുന്നു. പിന്നീട് ശരിയായി തോന്നുന്ന വരികളുടെ എണ്ണം പ്രശ്നം കണ്ടെത്താൻ കൂടുതൽ ബുദ്ധിമുട്ടാക്കുന്നു.

സ്ഥിരതയുള്ള ഐഡന്റിറ്റി എവിടെ നിന്ന് വരുന്നു

മാനേജ്മെന്റ് ഇന്റർഫേസ് ഓരോ ക്ലൈന്റിനും ഒരു ക്ലൈന്റ്-ഇൻസ്റ്റൻസ് ഐഡന്റിഫയർ നൽകുന്നു, ആ ഐഡന്റിഫയർ അത് പുറപ്പെടുവിച്ച ഡീമൺ ഇൻസ്റ്റൻസിൽ മാത്രം പരിമിതമാണ്. പ്രായോഗികമായ ബാഹ്യ കീ ഒരു സ്ഥിരതയുള്ള സെർവർ ഐഡന്റിഫയർ, ഡീമൺ ആരംഭിക്കുമ്പോൾ മാറുന്ന ഒരു യുഗം, ആ ക്ലൈന്റ് ID എന്നിവ സംയോജിപ്പിക്കുന്നു. യുഗം പ്രധാനമാണ്, കാരണം ഐഡന്റിഫയറുകൾ പ്രോസസ്സിനൊപ്പം പുനരാരംഭിക്കുന്നു, നഗ്നമായ ഒരു പ്രോസസ് ID പിന്നീട് ബന്ധമില്ലാത്ത എന്തെങ്കിലും പുനരുപയോഗിച്ചേക്കാം.

ചൈൽഡ് കണക്ട് സ്ക്രിപ്റ്റിനുള്ളിൽ സജ്ജീകരിച്ച പരിസ്ഥിതി വേരിയബിളുകൾ പാരന്റ് ഡീമണിന്റെ പിന്നീടുള്ള ഡിസ്കണക്ട് സ്ക്രിപ്റ്റിലേക്ക് പോകുന്നില്ല, കാരണം ആ സ്ക്രിപ്റ്റുകൾ സ്വന്തം പരിസ്ഥിതികളുള്ള വേറിട്ട പ്രോസസ്സുകളായി പ്രവർത്തിക്കുന്നു. അതിനാൽ കണക്ഷൻ സമയത്ത് UUID സൃഷ്ടിക്കുന്നത് പകുതി പരിഹാരമാണ്. ഡിസ്കണക്ട് വശത്തിന് അതേ UUID പേരിടാൻ കഴിയണം, അതായത് ഐഡന്റിറ്റി രണ്ട് ഇവന്റുകൾക്കും എത്താൻ കഴിയുന്ന ഒരിടത്ത് ജീവിക്കണം.

വിരമിക്കലിനെ സോപാധികവും ഐഡംപോട്ടന്റുമാക്കുക

സെഷൻ ഉടമയുടെ അടിസ്ഥാനത്തിൽ വിരമിക്കുക, ഉപയോക്താവിന്റെ അടിസ്ഥാനത്തിൽ അല്ല. ഒരു പേരിന് ഇപ്പോൾ ഉള്ള ഏതെങ്കിലും അനുവദനം ഇല്ലാതാക്കുന്ന ഹാൻഡ്ലർ ഒടുവിൽ തെറ്റായത് ഇല്ലാതാക്കും, ഒരേയൊരു പ്രതിരോധം നീക്കം ചെയ്യുന്ന രേഖ ഈ ഇവന്റ് വിവരിക്കുന്ന രേഖ തന്നെയാണോ എന്ന് പരിശോധിക്കുകയാണ്.

മാനേജ്മെന്റ് ഇന്റർഫേസ് ഒരു സമയത്ത് ഒരു കണക്ട് ചെയ്ത മാനേജ്മെന്റ് ക്ലൈന്റ് മാത്രം സ്വീകരിക്കുന്നു, അതിനാൽ അതേ സോക്കറ്റിനായി മത്സരിക്കുന്ന രണ്ടാമത് നിരീക്ഷകനെ ഘടിപ്പിക്കുന്നതിന് പകരം ഇതിനകം അത് സ്വന്തമാക്കിയവരുമായി സംയോജിപ്പിക്കുക.

ആവർത്തിക്കുന്ന ഇവന്റുകൾ ഫലം രണ്ടുതവണ മാറ്റാതെ കൈകാര്യം ചെയ്യുക, ജോടിയാക്കാത്ത ഇവന്റുകൾ വലിച്ചെറിയുന്നതിന് പകരം അനുരഞ്ജനത്തിനായി സൂക്ഷിക്കുക. ഡിസ്കണക്ട് കോൾബാക്കിന് രേഖപ്പെടുത്തിയ ജീവിതചക്ര വ്യവസ്ഥകളുണ്ട്, ക്രാഷിനോ കഠിനമായ നിർത്തലിനോ ശേഷം അത് ഒരിക്കലും വന്നെന്നും വരില്ല, അതിനാൽ ഡിസൈനിന് അവസാന ഇവന്റ് ഇല്ലാത്ത ഒരു സെഷൻ പ്രതിനിധീകരിക്കാനുള്ള വഴി വേണം.

അസൗകര്യകരമായ കേസുകൾ ബോധപൂർവം പരീക്ഷിക്കുക: ഒരു സെക്കൻഡിനുള്ളിൽ രണ്ട് പുനഃകണക്ഷനുകൾ, രണ്ട് ഡീമൺ ഇൻസ്റ്റൻസുകൾ, പ്രോസസ്സിംഗ് പരാജയപ്പെട്ട ഒരു കണക്ഷൻ, സെഷന്റെ മധ്യത്തിൽ ഡീമൺ പുനരാരംഭം. നാലിനെയും അതിജീവിക്കുന്ന കീ മാത്രമാണ് വിശ്വാസയോഗ്യമായ കീ.

അനുബന്ധ ലേഖനങ്ങൾ