സെഫിർനെറ്റ് ലോഗോ

Apache Flink | ആമസോൺ നിയന്ത്രിത സേവനം ഉപയോഗിച്ച് ക്രോൺസ് തത്സമയ പ്രൊഡക്ഷൻ ലൈൻ നിരീക്ഷണം | ആമസോൺ വെബ് സേവനങ്ങൾ

തീയതി:

ക്രോൺസ് ലോകമെമ്പാടുമുള്ള ബ്രൂവറികൾ, പാനീയ കുപ്പികൾ, ഭക്ഷ്യ ഉൽപ്പാദകർ എന്നിവർക്ക് വ്യക്തിഗത യന്ത്രങ്ങളും സമ്പൂർണ്ണ ഉൽപ്പാദന ലൈനുകളും നൽകുന്നു. എല്ലാ ദിവസവും, ദശലക്ഷക്കണക്കിന് ഗ്ലാസ് ബോട്ടിലുകളും ക്യാനുകളും PET കണ്ടെയ്‌നറുകളും ഒരു ക്രോൺസ് ലൈനിലൂടെ കടന്നുപോകുന്നു. ഉൽപ്പാദന ലൈനുകൾ, ലൈൻ സ്തംഭിപ്പിക്കാനും ഉൽപ്പാദന വിളവ് കുറയ്ക്കാനും സാധ്യതയുള്ള ധാരാളം പിശകുകളുള്ള സങ്കീർണ്ണ സംവിധാനങ്ങളാണ്. പരാജയം എത്രയും വേഗം കണ്ടെത്താനും (ചിലപ്പോൾ അത് സംഭവിക്കുന്നതിന് മുമ്പും) വിശ്വാസ്യതയും ഉൽപാദനവും വർദ്ധിപ്പിക്കുന്നതിന് പ്രൊഡക്ഷൻ ലൈൻ ഓപ്പറേറ്റർമാരെ അറിയിക്കാനും ക്രോൺസ് ആഗ്രഹിക്കുന്നു. അപ്പോൾ ഒരു പരാജയം എങ്ങനെ കണ്ടെത്താം? ഡാറ്റാ ശേഖരണത്തിനായി ക്രോണുകൾ അവരുടെ ലൈനുകളെ സെൻസറുകൾ ഉപയോഗിച്ച് സജ്ജീകരിക്കുന്നു, അത് പിന്നീട് നിയമങ്ങൾക്ക് വിരുദ്ധമായി വിലയിരുത്താവുന്നതാണ്. ക്രോണുകൾ, ലൈൻ നിർമ്മാതാവ്, അതുപോലെ ലൈൻ ഓപ്പറേറ്റർ എന്നിവയ്ക്ക് മെഷീനുകൾക്കായി നിരീക്ഷണ നിയമങ്ങൾ സൃഷ്ടിക്കാൻ സാധ്യതയുണ്ട്. അതിനാൽ, ബിവറേജ് ബോട്ടിലർമാർക്കും മറ്റ് ഓപ്പറേറ്റർമാർക്കും ലൈനിന് അവരുടെ സ്വന്തം മാർജിൻ പിശക് നിർവചിക്കാൻ കഴിയും. മുൻകാലങ്ങളിൽ, ക്രോൺസ് ഒരു സമയ ശ്രേണി ഡാറ്റാബേസിനെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു സിസ്റ്റം ഉപയോഗിച്ചിരുന്നു. പ്രധാന വെല്ലുവിളികൾ ഈ സിസ്റ്റം ഡീബഗ് ചെയ്യാൻ പ്രയാസമാണ്, കൂടാതെ അന്വേഷണങ്ങൾ മെഷീനുകളുടെ നിലവിലെ അവസ്ഥയെ പ്രതിനിധീകരിക്കുന്നു, പക്ഷേ സംസ്ഥാന പരിവർത്തനങ്ങളെ അല്ല.

ക്രോണുകൾ അവരുടെ ലൈനുകൾ നിരീക്ഷിക്കുന്നതിന് ഒരു സ്ട്രീമിംഗ് സൊല്യൂഷൻ എങ്ങനെയാണ് നിർമ്മിച്ചതെന്ന് ഈ പോസ്റ്റ് കാണിക്കുന്നു ആമസോൺ കൈനിസ് ഒപ്പം Apache Flink-നുള്ള ആമസോൺ നിയന്ത്രിത സേവനം. പൂർണ്ണമായി കൈകാര്യം ചെയ്യുന്ന ഈ സേവനങ്ങൾ അപ്പാച്ചെ ഫ്ലിങ്ക് ഉപയോഗിച്ച് സ്ട്രീമിംഗ് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിൻ്റെ സങ്കീർണ്ണത കുറയ്ക്കുന്നു. Apache Flink-നുള്ള നിയന്ത്രിത സേവനം, ഡ്യൂറബിൾ ആപ്ലിക്കേഷൻ സ്റ്റേറ്റ്, മെട്രിക്‌സ്, ലോഗുകൾ എന്നിവയും അതിലേറെയും നൽകുന്ന അടിസ്ഥാന അപ്പാച്ചെ ഫ്ലിങ്ക് ഘടകങ്ങളെ നിയന്ത്രിക്കുന്നു, കൂടാതെ ഏത് സ്കെയിലിലും സ്ട്രീമിംഗ് ഡാറ്റ ചെലവ് കുറഞ്ഞ രീതിയിൽ പ്രോസസ്സ് ചെയ്യാൻ Kinesis നിങ്ങളെ പ്രാപ്‌തമാക്കുന്നു. നിങ്ങളുടെ സ്വന്തം അപ്പാച്ചെ ഫ്ലിങ്ക് ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ആരംഭിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, പരിശോധിക്കുക GitHub ശേഖരം Flink-ൻ്റെ Java, Python അല്ലെങ്കിൽ SQL API-കൾ ഉപയോഗിക്കുന്ന സാമ്പിളുകൾക്കായി.

പരിഹാരത്തിന്റെ അവലോകനം

ക്രോൺസിൻ്റെ ലൈൻ മോണിറ്ററിംഗ് ഇതിൻ്റെ ഭാഗമാണ് ക്രോൺസ് ഷോപ്പ്ഫ്ലോർ മാർഗ്ഗനിർദ്ദേശം സിസ്റ്റം. കമ്പനിയിലെ എല്ലാ പ്രവർത്തനങ്ങളുടെയും ഓർഗനൈസേഷൻ, മുൻഗണന, മാനേജ്മെൻ്റ്, ഡോക്യുമെൻ്റേഷൻ എന്നിവയിൽ ഇത് പിന്തുണ നൽകുന്നു. മെഷീൻ നിർത്തുകയോ മെറ്റീരിയലുകൾ ആവശ്യമായി വരികയോ ചെയ്താൽ, ഓപ്പറേറ്റർ എവിടെയായിരുന്നാലും ഒരു ഓപ്പറേറ്ററെ അറിയിക്കാൻ ഇത് അവരെ അനുവദിക്കുന്നു. തെളിയിക്കപ്പെട്ട അവസ്ഥ നിരീക്ഷണ നിയമങ്ങൾ ഇതിനകം അന്തർനിർമ്മിതമാണ്, എന്നാൽ ഉപയോക്തൃ ഇൻ്റർഫേസ് വഴി ഉപയോക്താവിനെ നിർവചിക്കാനും കഴിയും. ഉദാഹരണത്തിന്, നിരീക്ഷിക്കപ്പെടുന്ന ഒരു നിശ്ചിത ഡാറ്റ പോയിൻ്റ് പരിധി ലംഘിക്കുകയാണെങ്കിൽ, ലൈനിൽ മെയിൻ്റനൻസ് ഓർഡറിനായി ഒരു ടെക്‌സ്‌റ്റ് സന്ദേശമോ ട്രിഗറോ ഉണ്ടാകാം.

AWS അനലിറ്റിക്‌സ് സേവനങ്ങൾ ഉപയോഗിച്ച് AWS-ലാണ് അവസ്ഥ നിരീക്ഷണവും റൂൾ മൂല്യനിർണ്ണയ സംവിധാനവും നിർമ്മിച്ചിരിക്കുന്നത്. ഇനിപ്പറയുന്ന ഡയഗ്രം വാസ്തുവിദ്യയെ ചിത്രീകരിക്കുന്നു.

ക്രോൺസ് പ്രൊഡക്ഷൻ ലൈൻ മോണിറ്ററിംഗിനുള്ള ആർക്കിടെക്ചർ ഡയഗ്രം

മിക്കവാറും എല്ലാ ഡാറ്റ സ്ട്രീമിംഗ് ആപ്ലിക്കേഷനും അഞ്ച് ലെയറുകൾ ഉൾക്കൊള്ളുന്നു: ഡാറ്റ ഉറവിടം, സ്ട്രീം ഉൾപ്പെടുത്തൽ, സ്ട്രീം സംഭരണം, സ്ട്രീം പ്രോസസ്സിംഗ്, ഒന്നോ അതിലധികമോ ലക്ഷ്യസ്ഥാനങ്ങൾ. ഇനിപ്പറയുന്ന വിഭാഗങ്ങളിൽ, ഞങ്ങൾ ഓരോ ലെയറിലേക്കും ആഴത്തിൽ മുങ്ങുകയും ക്രോൺസ് നിർമ്മിച്ച ലൈൻ മോണിറ്ററിംഗ് സൊല്യൂഷൻ എങ്ങനെ പ്രവർത്തിക്കുകയും ചെയ്യുന്നു.

വിവര ഉറവിടം

Siemens S7 അല്ലെങ്കിൽ OPC/UA പോലുള്ള നിരവധി പ്രോട്ടോക്കോളുകൾ വായിക്കുന്ന ഒരു എഡ്ജ് ഉപകരണത്തിൽ പ്രവർത്തിക്കുന്ന ഒരു സേവനമാണ് ഡാറ്റ ശേഖരിക്കുന്നത്. ഒരു ഏകീകൃത JSON ഘടന സൃഷ്‌ടിക്കാൻ റോ ഡാറ്റ മുൻകൂട്ടി പ്രോസസ്സ് ചെയ്‌തിരിക്കുന്നു, ഇത് പിന്നീട് റൂൾ എഞ്ചിനിൽ പ്രോസസ്സ് ചെയ്യുന്നത് എളുപ്പമാക്കുന്നു. JSON-ലേക്ക് പരിവർത്തനം ചെയ്‌ത ഒരു സാമ്പിൾ പേലോഡ് ഇനിപ്പറയുന്നതായി കാണപ്പെടാം:

{
  "version": 1,
  "timestamp": 1234,
  "equipmentId": "84068f2f-3f39-4b9c-a995-d2a84d878689",
  "tag": "water_temperature",
  "value": 13.45,
  "quality": "Ok",
  "meta": {      
    "sequenceNumber": 123,
    "flags": ["Fst", "Lst", "Wmk", "Syn", "Ats"],
    "createdAt": 12345690,
    "sourceId": "filling_machine"
  }
}

സ്ട്രീം ഉൾപ്പെടുത്തൽ

AWS IoT ഗ്രീൻഗ്രാസ് ഒരു ഓപ്പൺ സോഴ്‌സ് ഇൻ്റർനെറ്റ് ഓഫ് തിംഗ്‌സ് (IoT) എഡ്ജ് റൺടൈമും ക്ലൗഡ് സേവനവുമാണ്. പ്രാദേശികമായി ഡാറ്റയിൽ പ്രവർത്തിക്കാനും ഉപകരണ ഡാറ്റ സമാഹരിക്കാനും ഫിൽട്ടർ ചെയ്യാനും ഇത് നിങ്ങളെ അനുവദിക്കുന്നു. എഡബ്ല്യുഎസ് ഐഒടി ഗ്രീൻഗ്രാസ് പ്രിബിൽറ്റ് ഘടകങ്ങൾ നൽകുന്നു, അത് അരികിലേക്ക് വിന്യസിക്കാൻ കഴിയും. പ്രൊഡക്ഷൻ ലൈൻ സൊല്യൂഷൻ സ്ട്രീം മാനേജർ ഘടകം ഉപയോഗിക്കുന്നു, അതിന് ഡാറ്റ പ്രോസസ്സ് ചെയ്യാനും AWS ലക്ഷ്യസ്ഥാനങ്ങളിലേക്ക് കൈമാറാനും കഴിയും AWS IoT അനലിറ്റിക്സ്, ആമസോൺ ലളിതമായ സംഭരണ ​​സേവനം (Amazon S3), Kinesis. സ്ട്രീം മാനേജർ റെക്കോർഡുകൾ ബഫർ ചെയ്യുകയും സംഗ്രഹിക്കുകയും ചെയ്യുന്നു, തുടർന്ന് അത് ഒരു കൈനസിസ് ഡാറ്റ സ്ട്രീമിലേക്ക് അയയ്ക്കുന്നു.

സ്ട്രീം സംഭരണം

സ്ട്രീം സ്‌റ്റോറേജിൻ്റെ ജോലി, സന്ദേശങ്ങൾ ഒരു തെറ്റ് സഹിഷ്ണുതയോടെ ബഫർ ചെയ്യുകയും ഒന്നോ അതിലധികമോ ഉപഭോക്തൃ ആപ്ലിക്കേഷനുകൾക്ക് ഉപഭോഗത്തിനായി ലഭ്യമാക്കുകയും ചെയ്യുക എന്നതാണ്. AWS-ൽ ഇത് നേടുന്നതിന്, ഏറ്റവും സാധാരണമായ സാങ്കേതികവിദ്യകൾ Kinesis ആണ് അപ്പാച്ചെ കാഫ്കയ്‌ക്കായി ആമസോൺ സ്ട്രീമിംഗ് നിയന്ത്രിച്ചു (ആമസോൺ MSK). പ്രൊഡക്ഷൻ ലൈനുകളിൽ നിന്ന് ഞങ്ങളുടെ സെൻസർ ഡാറ്റ സംഭരിക്കുന്നതിന്, Krones Kinesis തിരഞ്ഞെടുക്കുന്നു. കുറഞ്ഞ ലേറ്റൻസിയിൽ ഏത് സ്കെയിലിലും പ്രവർത്തിക്കുന്ന ഒരു സെർവർലെസ് സ്ട്രീമിംഗ് ഡാറ്റാ സേവനമാണ് Kinesis. ഒരു കൈനസിസ് ഡാറ്റ സ്ട്രീമിനുള്ളിലെ ഷാർഡുകൾ എന്നത് ഡാറ്റാ റെക്കോർഡുകളുടെ അദ്വിതീയമായി തിരിച്ചറിഞ്ഞ ഒരു ശ്രേണിയാണ്, അവിടെ ഒരു സ്ട്രീം ഒന്നോ അതിലധികമോ ഷാർഡുകൾ ഉൾക്കൊള്ളുന്നു. ഓരോ ഷാർഡിനും 2 MB/s റീഡ് കപ്പാസിറ്റിയും 1 MB/s റൈറ്റിംഗ് കപ്പാസിറ്റിയും ഉണ്ട് (പരമാവധി 1,000 റെക്കോർഡുകൾ/സെക്കൻഡ്). ആ പരിധികളിൽ കടക്കാതിരിക്കാൻ, ഡാറ്റ ഷാർഡുകൾക്കിടയിൽ കഴിയുന്നത്ര തുല്യമായി വിതരണം ചെയ്യണം. Kinesis-ലേക്ക് അയയ്‌ക്കുന്ന ഓരോ റെക്കോർഡിനും ഒരു പാർട്ടീഷൻ കീ ഉണ്ട്, അത് ഡാറ്റയെ ഒരു ഷാർഡായി ഗ്രൂപ്പുചെയ്യാൻ ഉപയോഗിക്കുന്നു. അതിനാൽ, ലോഡ് തുല്യമായി വിതരണം ചെയ്യുന്നതിനായി നിങ്ങൾക്ക് ധാരാളം പാർട്ടീഷൻ കീകൾ ഉണ്ടായിരിക്കണം. AWS IoT ഗ്രീൻഗ്രാസിൽ പ്രവർത്തിക്കുന്ന സ്ട്രീം മാനേജർ റാൻഡം പാർട്ടീഷൻ കീ അസൈൻമെൻ്റുകളെ പിന്തുണയ്ക്കുന്നു, അതായത് എല്ലാ റെക്കോർഡുകളും ക്രമരഹിതമായ ഷാർഡിൽ അവസാനിക്കുകയും ലോഡ് തുല്യമായി വിതരണം ചെയ്യുകയും ചെയ്യുന്നു. റാൻഡം പാർട്ടീഷൻ കീ അസൈൻമെൻ്റുകളുടെ ഒരു പോരായ്മ, രേഖകൾ കിനിസിസിൽ ക്രമത്തിൽ സൂക്ഷിക്കപ്പെടുന്നില്ല എന്നതാണ്. ഇത് എങ്ങനെ പരിഹരിക്കാമെന്ന് ഞങ്ങൾ അടുത്ത വിഭാഗത്തിൽ വിശദീകരിക്കും, അവിടെ ഞങ്ങൾ വാട്ടർമാർക്കുകളെക്കുറിച്ച് സംസാരിക്കും.

വാട്ടർമാർക്കുകൾ

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

ക്രോണിന് ലോകമെമ്പാടുമുള്ള സംവിധാനങ്ങളുണ്ട്, കണക്ഷൻ നഷ്‌ടങ്ങളോ മറ്റ് നെറ്റ്‌വർക്ക് പരിമിതികളോ കാരണം വൈകി എത്തുന്നവരെ കൈകാര്യം ചെയ്യേണ്ടത് ആവശ്യമാണ്. വൈകി എത്തിച്ചേരുന്നവരെ നിരീക്ഷിച്ചും ഈ മെട്രിക്കിൽ അവർ കണ്ട പരമാവധി മൂല്യത്തിലേക്ക് ഡിഫോൾട്ട് ഫ്ലിങ്ക് ലേറ്റ് ഹാൻഡ്ലിംഗ് സജ്ജീകരിച്ചും അവർ ആരംഭിച്ചു. എഡ്ജ് ഉപകരണങ്ങളിൽ നിന്നുള്ള സമയ സമന്വയത്തിൽ അവർ പ്രശ്നങ്ങൾ നേരിട്ടു, ഇത് വാട്ടർമാർക്കിംഗിൻ്റെ കൂടുതൽ സങ്കീർണ്ണമായ മാർഗത്തിലേക്ക് അവരെ നയിക്കുന്നു. എല്ലാ അയക്കുന്നവർക്കും അവർ ഒരു ആഗോള വാട്ടർമാർക്ക് നിർമ്മിക്കുകയും ഏറ്റവും കുറഞ്ഞ മൂല്യം വാട്ടർമാർക്ക് ആയി ഉപയോഗിക്കുകയും ചെയ്തു. എല്ലാ ഇൻകമിംഗ് ഇവൻ്റുകൾക്കുമായി ടൈംസ്റ്റാമ്പുകൾ ഒരു ഹാഷ്മാപ്പിൽ സംഭരിച്ചിരിക്കുന്നു. വാട്ടർമാർക്കുകൾ ഇടയ്ക്കിടെ പുറപ്പെടുവിക്കുമ്പോൾ, ഈ ഹാഷ്മാപ്പിൻ്റെ ഏറ്റവും ചെറിയ മൂല്യം ഉപയോഗിക്കുന്നു. ഡാറ്റ നഷ്‌ടപ്പെടുന്നതിലൂടെ വാട്ടർമാർക്കുകൾ മുടങ്ങുന്നത് ഒഴിവാക്കാൻ, അവർ ഒരു കോൺഫിഗർ ചെയ്‌തു idleTimeOut ഒരു നിശ്ചിത പരിധിയേക്കാൾ പഴയ ടൈംസ്റ്റാമ്പുകളെ അവഗണിക്കുന്ന പരാമീറ്റർ. ഇത് ലേറ്റൻസി വർദ്ധിപ്പിക്കുന്നു, പക്ഷേ ശക്തമായ ഡാറ്റ സ്ഥിരത നൽകുന്നു.

public class BucketWatermarkGenerator implements WatermarkGenerator<DataPointEvent> {
private HashMap <String, WatermarkAndTimestamp> lastTimestamps;
private Long idleTimeOut;
private long maxOutOfOrderness;
}

സ്ട്രീം പ്രോസസ്സിംഗ്

സെൻസറുകളിൽ നിന്ന് ഡാറ്റ ശേഖരിച്ച് കിനിസിസിലേക്ക് ഉൾപ്പെടുത്തിയ ശേഷം, അത് ഒരു റൂൾ എഞ്ചിൻ ഉപയോഗിച്ച് വിലയിരുത്തേണ്ടതുണ്ട്. ഈ സിസ്റ്റത്തിലെ ഒരു നിയമം ഒരു മെട്രിക് (താപനില പോലുള്ളവ) അല്ലെങ്കിൽ മെട്രിക്‌സിൻ്റെ ഒരു ശേഖരത്തെ പ്രതിനിധീകരിക്കുന്നു. ഒരു മെട്രിക് വ്യാഖ്യാനിക്കുന്നതിന്, ഒന്നിലധികം ഡാറ്റാ പോയിൻ്റുകൾ ഉപയോഗിക്കുന്നു, ഇത് ഒരു സ്റ്റേറ്റ്ഫുൾ കണക്കുകൂട്ടലാണ്. ഈ വിഭാഗത്തിൽ, അപ്പാച്ചെ ഫ്ലിങ്കിലെ കീഡ് സ്റ്റേറ്റിലേക്കും പ്രക്ഷേപണ നിലയിലേക്കും ഞങ്ങൾ ആഴത്തിൽ മുങ്ങുന്നു, ക്രോൺസ് റൂൾ എഞ്ചിൻ നിർമ്മിക്കാൻ അവ എങ്ങനെ ഉപയോഗിക്കുന്നു.

സ്ട്രീമും പ്രക്ഷേപണ നില പാറ്റേണും നിയന്ത്രിക്കുക

അപ്പാച്ചെ ഫ്ലിങ്കിൽ, സംസ്ഥാനം സമയത്തിലും പ്രവർത്തനങ്ങളിലും സ്ഥിരമായി വിവരങ്ങൾ സംഭരിക്കാനും നിയന്ത്രിക്കാനുമുള്ള സിസ്റ്റത്തിൻ്റെ കഴിവിനെ സൂചിപ്പിക്കുന്നു, ഇത് സ്റ്റേറ്റ്ഫുൾ കമ്പ്യൂട്ടേഷനുകൾക്കുള്ള പിന്തുണയോടെ സ്ട്രീമിംഗ് ഡാറ്റയുടെ പ്രോസസ്സിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നു.

ദി പ്രക്ഷേപണ സംസ്ഥാന പാറ്റേൺ ഒരു ഓപ്പറേറ്ററുടെ എല്ലാ സമാന്തര സംഭവങ്ങളിലേക്കും ഒരു സംസ്ഥാനത്തിൻ്റെ വിതരണം അനുവദിക്കുന്നു. അതിനാൽ, എല്ലാ ഓപ്പറേറ്റർമാർക്കും ഒരേ അവസ്ഥയുണ്ട്, അതേ അവസ്ഥ ഉപയോഗിച്ച് ഡാറ്റ പ്രോസസ്സ് ചെയ്യാൻ കഴിയും. ഒരു കൺട്രോൾ സ്ട്രീം ഉപയോഗിച്ച് ഈ വായന-മാത്രം ഡാറ്റ ഉൾപ്പെടുത്താവുന്നതാണ്. ഒരു കൺട്രോൾ സ്ട്രീം ഒരു സാധാരണ ഡാറ്റ സ്ട്രീം ആണ്, എന്നാൽ സാധാരണയായി വളരെ കുറഞ്ഞ ഡാറ്റ നിരക്ക്. ഈ പാറ്റേൺ നിങ്ങളെ എല്ലാ ഓപ്പറേറ്റർമാരുടെയും അവസ്ഥ ചലനാത്മകമായി അപ്ഡേറ്റ് ചെയ്യാൻ അനുവദിക്കുന്നു, ഒരു പുനർവിന്യാസത്തിൻ്റെ ആവശ്യമില്ലാതെ തന്നെ ആപ്ലിക്കേഷൻ്റെ അവസ്ഥയും സ്വഭാവവും മാറ്റാൻ ഉപയോക്താവിനെ പ്രാപ്തമാക്കുന്നു. കൂടുതൽ കൃത്യമായി പറഞ്ഞാൽ, ഒരു നിയന്ത്രണ സ്ട്രീം ഉപയോഗിച്ചാണ് സംസ്ഥാനത്തിൻ്റെ വിതരണം ചെയ്യുന്നത്. കൺട്രോൾ സ്ട്രീമിലേക്ക് ഒരു പുതിയ റെക്കോർഡ് ചേർക്കുന്നതിലൂടെ, എല്ലാ ഓപ്പറേറ്റർമാർക്കും ഈ അപ്‌ഡേറ്റ് ലഭിക്കുകയും പുതിയ സന്ദേശങ്ങൾ പ്രോസസ്സ് ചെയ്യുന്നതിന് പുതിയ അവസ്ഥ ഉപയോഗിക്കുകയും ചെയ്യുന്നു.

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

അളവുകളുടെ ഗ്രൂപ്പിംഗ്

ഡാറ്റയുടെയും മെട്രിക്സിൻ്റെയും ഗ്രൂപ്പിംഗ് ഇൻകമിംഗ് ഡാറ്റയുടെ പ്രസക്തി നിർവചിക്കാനും കൃത്യമായ ഫലങ്ങൾ ഉണ്ടാക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. ഇനിപ്പറയുന്ന ചിത്രത്തിലെ ഉദാഹരണത്തിലൂടെ നമുക്ക് നടക്കാം.

അളവുകളുടെ ഗ്രൂപ്പിംഗ്

ഘട്ടം 1 ൽ, ഞങ്ങൾ രണ്ട് അവസ്ഥ ഗ്രൂപ്പുകളെ നിർവചിക്കുന്നു. ഗ്രൂപ്പ് 1 മെഷീൻ നിലയും ഏത് ഉൽപ്പന്നമാണ് ലൈനിലൂടെ കടന്നുപോകുന്നത് എന്നതും ശേഖരിക്കുന്നു. ഗ്രൂപ്പ് 2 താപനില, മർദ്ദം സെൻസറുകളുടെ മൂല്യം ഉപയോഗിക്കുന്നു. ഒരു കണ്ടീഷൻ ഗ്രൂപ്പിന് ലഭിക്കുന്ന മൂല്യങ്ങളെ ആശ്രയിച്ച് വ്യത്യസ്ത അവസ്ഥകൾ ഉണ്ടാകാം. ഈ ഉദാഹരണത്തിൽ, ഗ്രൂപ്പ് 1 മെഷീൻ പ്രവർത്തിക്കുന്ന ഡാറ്റ സ്വീകരിക്കുന്നു, ഒരു ലിറ്റർ കുപ്പി ഉൽപ്പന്നമായി തിരഞ്ഞെടുത്തു; ഇത് ഈ ഗ്രൂപ്പിന് സംസ്ഥാനം നൽകുന്നു ACTIVE. ഗ്രൂപ്പ് 2 ന് താപനിലയ്ക്കും മർദ്ദത്തിനും അളവുകൾ ഉണ്ട്; രണ്ട് മെട്രിക്കുകളും അവയുടെ പരിധിക്ക് മുകളിലാണ് 5 മിനിറ്റിലധികം. ഇതിൻ്റെ ഫലമായി ഗ്രൂപ്പ് 2 എയിൽ ഉൾപ്പെടുന്നു WARNING സംസ്ഥാനം. ഇതിനർത്ഥം ഗ്രൂപ്പ് 1 എല്ലാം ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു, ഗ്രൂപ്പ് 2 അങ്ങനെയല്ല. ഘട്ടം 2 ൽ, ഗ്രൂപ്പുകളിലേക്ക് ഭാരം ചേർക്കുന്നു. ചില സാഹചര്യങ്ങളിൽ ഇത് ആവശ്യമാണ്, കാരണം ഗ്രൂപ്പുകൾ പരസ്പരവിരുദ്ധമായ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്തേക്കാം. ഈ സാഹചര്യത്തിൽ, ഗ്രൂപ്പ് 1 റിപ്പോർട്ട് ചെയ്യുന്നു ACTIVE ഗ്രൂപ്പ് 2 റിപ്പോർട്ടുകളും WARNING, അതിനാൽ ലൈനിൻ്റെ അവസ്ഥ എന്താണെന്ന് സിസ്റ്റത്തിന് വ്യക്തമല്ല. തൂക്കങ്ങൾ ചേർത്തതിന് ശേഷം, ഘട്ടം 3-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, സംസ്ഥാനങ്ങളെ റാങ്ക് ചെയ്യാൻ കഴിയും. അവസാനമായി, സ്റ്റെപ്പ് 4-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഏറ്റവും ഉയർന്ന റാങ്കുള്ള സംസ്ഥാനം വിജയിക്കുന്ന ഒന്നായി തിരഞ്ഞെടുക്കപ്പെടുന്നു.

നിയമങ്ങൾ വിലയിരുത്തി അന്തിമ മെഷീൻ നില നിർവചിച്ച ശേഷം, ഫലങ്ങൾ കൂടുതൽ പ്രോസസ്സ് ചെയ്യും. സ്വീകരിച്ച നടപടി റൂൾ കോൺഫിഗറേഷനെ ആശ്രയിച്ചിരിക്കുന്നു; മെറ്റീരിയലുകൾ പുനഃസ്ഥാപിക്കുന്നതിനോ ചില അറ്റകുറ്റപ്പണികൾ നടത്തുന്നതിനോ അല്ലെങ്കിൽ ഡാഷ്‌ബോർഡിലെ ഒരു വിഷ്വൽ അപ്‌ഡേറ്റ് ചെയ്യാനോ ഇത് ലൈൻ ഓപ്പറേറ്റർക്ക് ഒരു അറിയിപ്പ് ആകാം. അളവുകളും നിയമങ്ങളും വിലയിരുത്തുകയും ഫലങ്ങളെ അടിസ്ഥാനമാക്കി നടപടികൾ കൈക്കൊള്ളുകയും ചെയ്യുന്ന സിസ്റ്റത്തിൻ്റെ ഈ ഭാഗം, ഭരണം എഞ്ചിൻ.

റൂൾ എഞ്ചിൻ സ്കെയിലിംഗ്

ഉപയോക്താക്കളെ അവരുടെ സ്വന്തം നിയമങ്ങൾ നിർമ്മിക്കാൻ അനുവദിക്കുന്നതിലൂടെ, റൂൾ എഞ്ചിന് മൂല്യനിർണ്ണയം ചെയ്യേണ്ട ഉയർന്ന നിയമങ്ങൾ ഉണ്ടായിരിക്കും, ചില നിയമങ്ങൾ മറ്റ് നിയമങ്ങൾ പോലെ തന്നെ സെൻസർ ഡാറ്റയും ഉപയോഗിച്ചേക്കാം. ഫ്ലിങ്ക് വളരെ നന്നായി തിരശ്ചീനമായി സ്കെയിൽ ചെയ്യുന്ന ഒരു വിതരണ സംവിധാനമാണ്. നിരവധി ടാസ്ക്കുകളിലേക്ക് ഒരു ഡാറ്റ സ്ട്രീം വിതരണം ചെയ്യാൻ, നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം keyBy() രീതി. ലോജിക്കൽ രീതിയിൽ ഒരു ഡാറ്റാ സ്ട്രീം പാർട്ടീഷൻ ചെയ്യാനും ഡാറ്റയുടെ ഭാഗങ്ങൾ വ്യത്യസ്ത ടാസ്‌ക് മാനേജർമാർക്ക് അയയ്‌ക്കാനും ഇത് നിങ്ങളെ അനുവദിക്കുന്നു. ഒരു ഏകപക്ഷീയമായ കീ തിരഞ്ഞെടുക്കുന്നതിലൂടെയാണ് ഇത് പലപ്പോഴും ചെയ്യുന്നത്, അതിനാൽ നിങ്ങൾക്ക് തുല്യമായി വിതരണം ചെയ്യപ്പെടുന്ന ലോഡ് ലഭിക്കും. ഈ സാഹചര്യത്തിൽ, ക്രോൺസ് കൂട്ടിച്ചേർത്തു ruleId ഡാറ്റ പോയിൻ്റിലേക്ക് അത് ഒരു കീ ആയി ഉപയോഗിച്ചു. അല്ലെങ്കിൽ, ആവശ്യമായ ഡാറ്റ പോയിൻ്റുകൾ മറ്റൊരു ടാസ്‌ക് ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യുന്നു. ഒരു സാധാരണ വേരിയബിൾ പോലെ എല്ലാ നിയമങ്ങളിലും കീ ചെയ്ത ഡാറ്റ സ്ട്രീം ഉപയോഗിക്കാനാകും.

ലക്ഷ്യസ്ഥാനങ്ങൾ

ഒരു റൂൾ അതിൻ്റെ അവസ്ഥ മാറ്റുമ്പോൾ, വിവരങ്ങൾ ഒരു കിനിസിസ് സ്ട്രീമിലേക്കും തുടർന്ന് വഴിയും അയയ്ക്കുന്നു ആമസോൺ ഇവന്റ്ബ്രിഡ്ജ് ഉപഭോക്താക്കൾക്ക്. പ്രൊഡക്ഷൻ ലൈനിലേക്ക് കൈമാറ്റം ചെയ്യപ്പെടുന്ന ഇവൻ്റിൽ നിന്ന് ഉപഭോക്താക്കളിൽ ഒരാൾ ഒരു അറിയിപ്പ് സൃഷ്ടിക്കുകയും പ്രവർത്തിക്കാൻ ഉദ്യോഗസ്ഥരെ അറിയിക്കുകയും ചെയ്യുന്നു. റൂൾ സ്റ്റേറ്റ് മാറ്റങ്ങൾ വിശകലനം ചെയ്യാൻ, മറ്റൊരു സേവനം ഒരു ഡാറ്റ എഴുതുന്നു ആമസോൺ ഡൈനാമോഡിബി വേഗത്തിലുള്ള ആക്‌സസിനായുള്ള പട്ടികയും കൂടുതൽ റിപ്പോർട്ടിംഗിനായി ആമസോൺ എസ് 3-ലേക്ക് ദീർഘകാല ചരിത്രം ഓഫ്‌ലോഡ് ചെയ്യുന്നതിനായി ഒരു TTL നിലവിലുണ്ട്.

തീരുമാനം

ഈ പോസ്റ്റിൽ, AWS-ൽ ക്രോൺസ് എങ്ങനെയാണ് ഒരു തത്സമയ പ്രൊഡക്ഷൻ ലൈൻ മോണിറ്ററിംഗ് സിസ്റ്റം നിർമ്മിച്ചതെന്ന് ഞങ്ങൾ കാണിച്ചുതന്നു. അപ്പാച്ചെ ഫ്ലിങ്കിനുള്ള നിയന്ത്രിത സേവനം, അടിസ്ഥാന സൗകര്യങ്ങളേക്കാൾ ആപ്ലിക്കേഷൻ വികസനത്തിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചുകൊണ്ട് ക്രോൺസ് ടീമിനെ വേഗത്തിൽ ആരംഭിക്കാൻ അനുവദിച്ചു. ഫ്ലിങ്കിൻ്റെ തത്സമയ കഴിവുകൾ, മെഷീൻ പ്രവർത്തനരഹിതമായ സമയം 10% കുറയ്ക്കാനും കാര്യക്ഷമത 5% വരെ വർദ്ധിപ്പിക്കാനും ക്രോണുകളെ പ്രാപ്തമാക്കി.

നിങ്ങളുടെ സ്വന്തം സ്ട്രീമിംഗ് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ലഭ്യമായ സാമ്പിളുകൾ പരിശോധിക്കുക GitHub ശേഖരം. ഇഷ്‌ടാനുസൃത കണക്ടറുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ ഫ്ലിങ്ക് ആപ്ലിക്കേഷൻ വിപുലീകരിക്കണമെങ്കിൽ, കാണുക Apache Flink ഉപയോഗിച്ച് കണക്ടറുകൾ നിർമ്മിക്കുന്നത് എളുപ്പമാക്കുന്നു: Async സിങ്ക് അവതരിപ്പിക്കുന്നു. Apache Flink പതിപ്പ് 1.15.1 ലും അതിനുശേഷമുള്ള പതിപ്പിലും Async സിങ്ക് ലഭ്യമാണ്.


രചയിതാക്കളെക്കുറിച്ച്

ഫ്ലോറിയൻ മെയർ AWS-ലെ ഒരു സീനിയർ സൊല്യൂഷൻ ആർക്കിടെക്റ്റും ഡാറ്റ സ്ട്രീമിംഗ് വിദഗ്ധനുമാണ്. AWS ക്ലൗഡ് സേവനങ്ങൾ ഉപയോഗിച്ച് ബിസിനസ്സ് വെല്ലുവിളികൾ പരിഹരിച്ച് യൂറോപ്പിലെ ഉപഭോക്താക്കളെ വിജയിക്കാനും നവീകരിക്കാനും സഹായിക്കുന്ന ഒരു സാങ്കേതിക വിദഗ്ധനാണ് അദ്ദേഹം. ഒരു സൊല്യൂഷൻ ആർക്കിടെക്റ്റായി ജോലി ചെയ്യുന്നതിനൊപ്പം, ഫ്ലോറിയൻ ഒരു വികാരാധീനനായ പർവതാരോഹകനാണ്, കൂടാതെ യൂറോപ്പിലുടനീളമുള്ള ഏറ്റവും ഉയർന്ന പർവതങ്ങളിൽ ചിലത് കയറിയിട്ടുണ്ട്.

എമിൽ ഡയറ്റിൽ അപ്പാച്ചെ ഫ്ലിങ്കിലും മൈക്രോ സർവീസസിലും ഒരു പ്രധാന ഫീൽഡ് ഉള്ള, ഡാറ്റാ എഞ്ചിനീയറിംഗിൽ സ്പെഷ്യലൈസ് ചെയ്ത ക്രോണിലെ ഒരു സീനിയർ ടെക് ലീഡാണ്. അദ്ദേഹത്തിൻ്റെ പ്രവർത്തനങ്ങളിൽ പലപ്പോഴും മിഷൻ-ക്രിട്ടിക്കൽ സോഫ്‌റ്റ്‌വെയറിൻ്റെ വികസനവും പരിപാലനവും ഉൾപ്പെടുന്നു. തൻ്റെ പ്രൊഫഷണൽ ജീവിതത്തിന് പുറത്ത്, കുടുംബത്തോടൊപ്പം ഗുണനിലവാരമുള്ള സമയം ചെലവഴിക്കുന്നതിനെ അദ്ദേഹം ആഴത്തിൽ വിലമതിക്കുന്നു.

സൈമൺ പെയർ സ്വിറ്റ്‌സർലൻഡ് ആസ്ഥാനമായുള്ള AWS-ലെ ഒരു സൊല്യൂഷൻ ആർക്കിടെക്റ്റാണ്. അദ്ദേഹം ഒരു പ്രായോഗിക പ്രവർത്തകനാണ്, കൂടാതെ AWS ക്ലൗഡ് സേവനങ്ങൾ ഉപയോഗിക്കുന്ന സാങ്കേതികവിദ്യയെയും ആളുകളെയും ബന്ധിപ്പിക്കുന്നതിൽ താൽപ്പര്യമുണ്ട്. ഡാറ്റാ സ്ട്രീമിംഗും ഓട്ടോമേഷനുമാണ് അദ്ദേഹത്തിന് പ്രത്യേക ശ്രദ്ധ. ജോലിയ്‌ക്ക് പുറമേ, സൈമൺ തൻ്റെ കുടുംബവും അതിഗംഭീരവും മലനിരകളിലെ കാൽനടയാത്രയും ആസ്വദിക്കുന്നു.

സ്പോട്ട്_ഐഎംജി

ഏറ്റവും പുതിയ ഇന്റലിജൻസ്

സ്പോട്ട്_ഐഎംജി