Миний сүүлчийн нийтлэлд бид өнөөдрийн өгөгдөлд тулгуурласан ертөнцөд болж буй үйл явдлын экспоненциал өсөлтийн талаар ярилцсан. Бидний эргэн тойронд маш олон програм, ухаалаг төхөөрөмж, машинууд байгаа тул үүсгэсэн өгөгдлийн хэмжээ асар их байна. Мөн бид найрал хөгжмийн платформ нь эдгээр үйл явдлыг зөв хэрэглүүрт хүргэхэд хэрхэн тусалж болохыг судалсан. Гэсэн хэдий ч, үйл явдлуудыг хүргэх нь бизнесүүдэд нөлөө үзүүлэхэд хангалтгүй байж магадгүй юм.
Хэрэглэгчдийн зан төлөвийг ойлгохын тулд эдгээр үйл явдлуудад дүн шинжилгээ хийснээр бизнесүүд илүү ухаалаг шийдвэр гаргах замаар үйлчлүүлэгчдэдээ илүү сайн үйлчлэх боломжтой. Бодит цагийн аналитик платформ нь үйл явдлын өгөгдлийг утга учиртай оюун ухаан болгон хувиргахад тусална.
Энэхүү нийтлэл нь AWS ашиглан бодит цагийн аналитик платформыг хэрхэн бий болгох, боломжит шийдлүүдийг үнэлэх, өргөтгөх боломжтой, найдвартай платформыг хэрэгжүүлэх алхам алхмаар зааварчилгааг өгөх болно. Энэхүү платформыг бүтээх нь өгөгдөл шингээх, боловсруулах, асуулга хийх гэсэн гурван үе шаттай. Бодит цагийн аналитик нь хэрэглэгчийн зан төлөв эсвэл системийн гүйцэтгэл эсэхээс үл хамааран цаг хугацааны чиг хандлага, хэв маягт анхаарлаа төвлөрүүлдэг.
Цаг хугацааны цуваа өгөгдөл нь үйл явдлуудыг дарааллаар нь зохион байгуулдаг бөгөөд энэ нь өгөгдлийг агшин зуурт шинжлэхэд хялбар болгодог. Цагийн цуваа хадгалалт нь энэ хэрэгцээнд бүрэн нийцэж, програмуудад хэмжигдэхүүнийг тооцоолох боломжийг олгодог. AWS нь энэхүү платформыг бүтээхэд хамтран ажилладаг SQS, Lambda, Timestream, Quicksight зэрэг хэрэгслүүдийг санал болгодог.
Бодит цагийн аналитик платформыг бий болгоход гурван үндсэн хэсэг байдаг
Дүрслэл, асуулга : Захиалгат хяналтын самбар эсвэл Quicksight нь дүрслэл, ойлголттой болохын тулд Timestream-тэй нэгтгэх боломжтой.
Доорх диаграмм нь аналитик платформын архитектурыг харуулж байна
AWS-ийн цагийн цуврал мэдээллийн сан болох Amazon Timestream нь асар их хэмжээний өгөгдлийг үр дүнтэй боловсруулж, шинжлэхэд тулгарч буй сорилтуудыг даван туулах зорилготой юм. Timestream нь сервергүй, өргөтгөх боломжтой бөгөөд бодит цагийн өгөгдлийн дүн шинжилгээ хийх шаардлагатай програмуудад тохиромжтой. Үүний гол шинж чанарууд нь:
Шаардлагатай бүх нөөцөд зориулсан үүл үүсгэх (CFN) загварыг Github Repo дээрээс олж болно.
Өгөгдөл залгих
Үйлчилгээнүүд нь холбогдох үйл явдлыг SQS дараалалд нийтлэх боломжтой бөгөөд энэ нь системийн мессежийн дараалал болдог. Найдвартай байдлыг нэмэгдүүлэхийн тулд үндсэн SQS дарааллын хажууд үхсэн үсгийн дарааллыг (DLQ) тохируулсан. Боловсруулж чадаагүй үйл явдлууд дахин оролдох босгоны дараа DLQ руу очно. Эдгээр үйл явдлуудыг дибаг хийх, алдаа засах, мөрдөн шалгахад ашиглаж болно.
SQS дараалал болон түүнтэй холбоотой DLQ үүсгэх CFN загварын хэсгийг доор харуулав.
EventQueueDLQ: Description: 'An DLQ queue that receives failed events' Type: AWS::SQS::Queue Properties: FifoQueue: true ContentBasedDeduplication: true QueueName: !Ref DLQQueueName SqsManagedSseEnabled: true VisibilityTimeout: 240 EventQueue: Description: 'An SQS queue that receives events' Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref SQSQueueName FifoQueue: true ContentBasedDeduplication: true KmsMasterKeyId: alias/aws/sqs VisibilityTimeout: 240 RedrivePolicy: deadLetterTargetArn: !Sub ${EventQueueDLQ.Arn} maxReceiveCount: 5
Өгөгдөл боловсруулах
AWS Lambda функц нь SQS дараалалд нийтлэгдсэн үйл явдлыг зохицуулах, боловсруулах үүрэгтэй өгөгдлийн процессороор тохируулагдсан. Энэ нь боловсруулалтын дараа үйл явдлуудыг Timestream мэдээллийн сан руу хэмжүүр болгон түлхдэг.
Доорх нь Lambda-д зориулсан CFN загварын хэсэг ба SQS-тэй зураглалыг харуулсан болно:
EventProcessorLambda: Type: 'AWS::Lambda::Function' Description: 'Lambda function that processes events from the SQS queue and writes to Timestream.' Properties: FunctionName: !Ref LambdaFunctionName Handler: 'index.lambda_handler' Role: !GetAtt LambdaExecutionRole.Arn Runtime: 'python3.12' MemorySize: 1024 Timeout: 120 Environment: Variables: TIMESTREAM_DATABASE_NAME: !Ref EventsDatabaseName TIMESTREAM_TABLE_NAME: !Ref EventsTableName Code: ZipFile: | # Lambda function code goes here SQSToLambdaEventSourceMapping: Type: 'AWS::Lambda::EventSourceMapping' Description: 'Maps the SQS queue as the event source for the Lambda function.' Properties: BatchSize: 10 EventSourceArn: !GetAtt EventQueue.Arn FunctionName: !GetAtt EventProcessorLambda.Arn Enabled: 'True'
Мэдээллийн дэлгүүр
Amazon Timestream нь янз бүрийн үйлчилгээнүүдэд үүсгэсэн бүх үйл явдлын үндсэн мэдээллийн сан болж үйлчилдэг. Тохиргоонд:
Timestream мэдээллийн сан болон хүснэгтийг үүсгэх CFN загварт зориулсан хэсэгчилсэн хэсгийг доор харуулав.
EventsDatabase: Description: 'Timestream database to store event data' Type: 'AWS::Timestream::Database' Properties: DatabaseName: !Ref EventsDatabaseName KmsKeyId: alias/aws/timestream EventsTable: Description: 'Timestream table that stores event metrics' Type: 'AWS::Timestream::Table' DependsOn: EventsDatabase Properties: DatabaseName: !Ref EventsDatabase TableName: !Ref EventsTableName RetentionProperties: MemoryStoreRetentionPeriodInHours: 72 MagneticStoreRetentionPeriodInDays: 365
Дүрслэл, асуулга
Асуулга
Timestream нь хэрэглэгчдэд хүснэгтийн эсрэг асуулга ажиллуулах боломжийг олгодог Query консолыг санал болгодог, жишээ нь:
-- Get the 10 most recent metrics in the past 15 minutes. SELECT * FROM "events-db"."events-metrics" WHERE time between ago(15m) and now() ORDER BY time DESC LIMIT 10
Дүрслэл
AWS нь Timestream-тай олон бэлэн интеграцчилалуудыг (жишээ нь QuickSight , Grafana ) хангадаг бөгөөд энэ нь дүн шинжилгээ хийх, дүрслэх, ойлголт авахад хялбар болгодог.
Үйлчилгээнүүд нь үйл явдлыг дараах форматаар SQS-д нийтлэх боломжтой бөгөөд энэ нь боловсруулалтын бүх урсгалыг өдөөдөг:
{ "order_id": "test-order-1", "customer_id": "test-customer-1", "event_type": "order_success", "metric_value": 1 }
Энэхүү архитектур нь өргөтгөх боломжтой, найдвартай аналитик платформыг бий болгох энгийн бөгөөд үр дүнтэй аргыг санал болгодог. Үйл явдал боловсруулахад зориулсан AWS Kinesis Streams, мэдээллийн санд зориулсан Prometheus, багц боловсруулалт болон аналитикт зориулсан S3+Athena зэрэг тусгай хэрэгцээ шаардлагаас хамааран өөр хувилбарууд байдаг.