പ്ലഗ് ഊരിമാറ്റുക. കിൽസ്വിച്ച് അമർത്തുക. നിങ്ങൾ ഒരു സിംഗിൾ മെഷീന് അരികിൽ നിൽക്കുമ്പോൾ ഈ രീതികൾ ഫലിച്ചേക്കാം. എന്നാൽ നിങ്ങളുടെ AI സിസ്റ്റം മൂന്ന് അവൈലബിലിറ്റി സോണുകളിലായി അമ്പതോളം നോഡുകളിൽ വ്യാപിച്ചു കിടക്കുമ്പോൾ ഇവ പരാജയപ്പെടുന്നു. മിക്ക എഞ്ചിനീയറിംഗ് ടീമുകളും കഠിനമായ അനുഭവങ്ങളിലൂടെയാണ് ഇത് പഠിക്കുന്നത്. അവർ ഒരു സെൻട്രൽ ഡാറ്റാബേസ് അപ്ഡേറ്റ് ചെയ്യുന്നു, ഒരു ബൂളിയൻ വാല്യൂ 'true' എന്നതിൽ നിന്ന് 'false' എന്നതിലേക്ക് മാറ്റുന്നു, സിസ്റ്റം നിൽക്കുമെന്ന് അവർ കരുതുന്നു. എന്നാൽ അത് സംഭവിക്കുന്നില്ല. ഡാറ്റാബേസ് വൃത്തിയായി കാണപ്പെടുന്നുണ്ടാകാം, പക്ഷേ സർവീസ് ഇപ്പോഴും പ്രവർത്തിച്ചുകൊണ്ടിരിക്കുന്നു.
ഒറ്റ സ്വിച്ചിന്റെ മിഥ്യാധാരണ
എപ്പോക്ക് 12-ൽ ഒരു റിക്കോവേഷൻ (അവകാശം റദ്ദാക്കൽ) രേഖപ്പെടുത്തുന്ന ഒരു കൺട്രോളറിനെ സങ്കൽപ്പിക്കുക. അത് ഈ മാറ്റം ഒരു പെർസിസ്റ്റന്റ് സ്റ്റോറിൽ രേഖപ്പെടുത്തുകയും ആശ്വാസത്തോടെ ഇരിക്കുകയും ചെയ്യുന്നു. അതേസമയം, വർക്കർ B എപ്പോക്ക് 11-ലെ ഒരു കാഷഡ് ഗ്രാന്റ് ഉപയോഗിച്ച് പ്രവർത്തിച്ചുകൊണ്ടിരിക്കുകയാണ്. ആ വിവരം വർക്കർക്ക് ലഭിച്ചിട്ടില്ല. മുപ്പത് സെക്കൻഡിന് ശേഷം, അത് ഒരു മോഡൽ ഇൻഫറൻസ് ജോബ് ആരംഭിക്കുന്നു, അല്ലെങ്കിൽ ഒരു GPU ക്ലസ്റ്റർ പ്രവർത്തിപ്പിക്കുന്നു, അല്ലെങ്കിൽ ഒരു എക്സ്റ്റേണൽ API വിളിക്കുന്നു. ആക്സസ് റദ്ദാക്കിയെന്ന് ഓഡിറ്റ് ലോഗ് പറയുന്നുണ്ടെങ്കിലും, ആ പ്രവർത്തനം നടന്നു കഴിഞ്ഞു.
ഇതാണ് പെർസിസ്റ്റൻസിനും പ്രൊപ്പഗേഷനും ഇടയിലുള്ള വിടവ്. ഒരു ഡാറ്റാബേസ് റൈറ്റ് എന്നത് ഒരു സിസ്റ്റം സ്റ്റേറ്റ് അല്ല. അത് ഒരു ടേബിളിലെ ഒരു വരി മാത്രമാണ്, നിങ്ങളുടെ സിസ്റ്റത്തിലെ പല ഘടകങ്ങളും (actors) അവർക്ക് ആവശ്യമുള്ള കൃത്യസമയത്ത് ആ ടേബിൾ പരിശോധിക്കാറില്ല (poll). ഒരു എമർജൻസി സ്റ്റോപ്പിനെ ഒരു ലൈറ്റ് സ്വിച്ച് പോലെയാണെന്ന് നിങ്ങൾ കരുതിയാൽ, മുറിയുടെ ചില കോണുകളിൽ ഇരുട്ട് ഒരിക്കലും എത്തില്ലെന്ന് നിങ്ങൾ തിരിച്ചറിയും.
ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റങ്ങളുടെ കഠിനമായ യാഥാർത്ഥ്യം
പരാജയങ്ങൾക്കായി നിങ്ങൾ തയ്യാറെടുത്ത് ഡിസൈൻ ചെയ്യണം. ഇടയ്ക്കിടെയുള്ള പരാജയങ്ങൾക്കല്ല, മറിച്ച് നിരന്തരവും കുഴപ്പങ്ങളും സ്വതന്ത്രവുമായ പരാജയങ്ങൾക്കായിരിക്കണം. ഒരു ജോബ് നടന്നു കൊണ്ടിരിക്കുമ്പോൾ തന്നെ വർക്കറുകൾ റീബൂട്ട് ആകുന്നു. ക്യൂ കൺസ്യൂമേഴ്സ് മിനിറ്റുകൾ പിന്നില
