Pembangunan AWS Lambda Tanpa Pelayan · Pelajaran

Penjejakan Teragih dengan AWS X-Ray

Laksanakan dan tafsirkan penjejakan teragih dengan AWS X-Ray untuk memvisualkan aliran permintaan melalui seni bina tanpa pelayan anda serta mengenal pasti kesesakan prestasi.

Pelajaran 3 daripada 412 langkah

Penjejakan Teragih dengan AWS X-Ray ialah pelajaran Pembangunan AWS Lambda Tanpa Pelayan percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pembangunan AWS Lambda Tanpa Pelayan, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pembangunan AWS Lambda Tanpa Pelayan merangkumi sejumlah 4 pelajaran.

Mengesan Permintaan Tanpa Pelayan

Dalam aplikasi tanpa pelayan, satu permintaan pengguna sering melalui banyak perkhidmatan seperti API Gateway, beberapa fungsi Lambda dan pangkalan data. Memahami perjalanan ini boleh menjadi rumit!

Di sinilah pengesanan teragih digunakan. Ini ialah teknik untuk menjejaki permintaan semasa permintaan itu mengalir merentasi perkhidmatan yang berbeza, lalu memberikan gambaran lengkap dari hujung ke hujung.

Kenali AWS X-Ray

AWS X-Ray ialah perkhidmatan yang membantu pembangun menganalisis dan menyahpepijat aplikasi teragih yang dibina menggunakan perkhidmatan mikro. Perkhidmatan ini memberikan gambaran hujung ke hujung tentang permintaan semasa permintaan itu melalui aplikasi anda.

Dengan X-Ray, anda boleh:

  • Memvisualkan interaksi antara perkhidmatan.
  • Mengenal pasti kesesakan prestasi.
  • Menyahpepijat ralat merentas sistem teragih.

Penjelasan tentang Segment X-Ray

Unit data asas dalam X-Ray ialah segment. Setiap perkhidmatan (seperti fungsi Lambda atau API Gateway) yang menjadi sebahagian daripada aplikasi anda menghantar segmentnya sendiri kepada X-Ray.

Satu segment mengandungi maklumat tentang kerja yang dilakukan oleh perkhidmatan tersebut, termasuk:

  • Nama dan ID perkhidmatan.
  • Butiran tentang permintaan masuk.
  • Maklumat masa (masa mula dan tamat).
  • Sebarang ralat atau kegagalan yang berlaku.

Penerokaan Lanjut: Subsegment

Dalam segment sesuatu perkhidmatan, anda boleh mencipta subsegment untuk pengesanan yang lebih terperinci. Subsegment mewakili unit kerja berasingan dalam perkhidmatan tersebut.

Contohnya, segment fungsi Lambda mungkin mengandungi subsegment untuk:

  • Panggilan ke pangkalan data (seperti DynamoDB).
  • Permintaan HTTP ke API luaran.
  • Logik perniagaan khusus dalam kod anda.

Subsegment membantu menentukan dengan tepat bahagian yang menggunakan masa dalam sesuatu perkhidmatan.

Jejak dan Peta Perkhidmatan

Semua segment dan subsegment yang dijana oleh satu permintaan dikumpulkan untuk membentuk jejak. Jejak ini memberikan gambaran lengkap hujung ke hujung tentang perjalanan permintaan.

X-Ray kemudian menggunakan jejak ini untuk menjana peta perkhidmatan. Peta ini ialah gambaran visual komponen aplikasi anda dan hubungan antara komponen tersebut, termasuk kependaman dan kadar ralat.

Dayakan X-Ray untuk Lambda

Untuk mula mengesan fungsi Lambda anda, anda perlu mendayakan pengesanan X-Ray terlebih dahulu. Anda boleh melakukannya dengan mudah melalui AWS Management Console atau melalui Infrastruktur sebagai Kod (seperti AWS SAM atau CloudFormation).

Dalam Konsol:

  1. Pergi ke fungsi Lambda anda.
  2. Di bawah 'Configuration', pilih 'Monitoring and operations tools'.
  3. Edit dan dayakan 'Active tracing' untuk AWS X-Ray.

Langkah ini menyediakan Lambda untuk menghantar data asas pemanggilan fungsi kepada X-Ray.

Melengkapkan Kod Lambda Python dengan Instrumentasi

Walaupun mendayakan X-Ray menangkap data asas, untuk mendapatkan cerapan yang lebih mendalam (seperti subsegment tersuai atau pengesanan panggilan SDK bukan AWS), anda perlu melengkapkan kod anda dengan instrumentasi menggunakan X-Ray SDK.

Berikut ialah contoh Python:

from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

# Patch all AWS SDK calls automatically
patch_all()

def lambda_handler(event, context):
    # Start a custom subsegment for specific logic
    with xray_recorder.in_subsegment('## my_custom_logic'):
        print("Executing custom business logic...")
        # Simulate some work
        import time
        time.sleep(0.05)

    # Any AWS SDK calls after patch_all() will be automatically traced.
    # For example, a DynamoDB put_item() call.

    return {
        'statusCode': 200,
        'body': 'Hello from Lambda with X-Ray!'
    }

# For local testing (not typically deployed with Lambda)
if __name__ == '__main__':
    print(lambda_handler({}, {}))

Melengkapkan Kod Lambda Node.js dengan Instrumentasi

Begitu juga, untuk fungsi Lambda Node.js, anda menggunakan pakej aws-xray-sdk untuk melengkapkan kod dengan instrumentasi. Ini membolehkan anda menangkap subsegment tersuai dan memastikan panggilan AWS SDK dikesan.

Berikut ialah contoh Node.js:

const AWSXRay = require('aws-xray-sdk');

// Patch all AWS SDK calls automatically.
// This ensures calls to other AWS services are traced.
AWSXRay.captureAWS(require('aws-sdk'));

exports.handler = async (event, context) => {
    // Get the current segment created by Lambda's X-Ray integration.
    const segment = AWSXRay.getSegment();

    // Create a custom subsegment to trace specific logic.
    if (segment) { // Ensure segment exists for safe local execution
        const customSubsegment = segment.addNewSubsegment('## MyCustomLogic');
        try {
            console.log("Executing custom business logic...");
            await new Promise(resolve => setTimeout(resolve, 50)); // Simulate work
        } finally {
            customSubsegment.close();
        }
    } else {
        console.log("X-Ray segment not found, executing without tracing.");
        await new Promise(resolve => setTimeout(resolve, 50)); // Simulate work
    }

    return {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda with X-Ray!'),
    };
};

// For local execution, you can simulate a call to the handler.
if (require.main === module) {
    console.log("Running handler locally...");
    exports.handler({}, {}).then(result => console.log(result));
}

Membaca Peta Perkhidmatan

Setelah X-Ray mengumpulkan data jejak, anda boleh melihat peta perkhidmatan dalam konsol X-Ray. Peta ini menggambarkan komponen aplikasi anda secara visual sebagai nod dan interaksinya sebagai sisi.

Perhatikan:

  • Nod: Mewakili perkhidmatan (Lambda, API Gateway, DynamoDB).
  • Sisi: Menunjukkan hubungan dan aliran data antara perkhidmatan.
  • Warna: Menunjukkan keadaan perkhidmatan (hijau untuk sihat, merah untuk ralat).
  • Kependaman: Petunjuk visual dan metrik pada sisi menunjukkan tempoh permintaan.

Menentukan Kesesakan

Kekuatan sebenar X-Ray terletak pada keupayaannya mengenal pasti masalah prestasi. Dengan memeriksa garis masa sesuatu jejak, anda boleh melihat tempoh yang diambil oleh setiap segment dan subsegment untuk selesai.

Ini membantu anda:

  • Mengenal pasti perkhidmatan yang perlahan: Perkhidmatan manakah yang mengambil masa paling lama?
  • Mencari kod yang tidak cekap: Subsegment manakah dalam fungsi yang menyebabkan kelewatan?
  • Mengesan kebergantungan luaran: Adakah panggilan API pihak ketiga atau pertanyaan pangkalan data memperlahankan proses?

Semakan Pengesanan X-Ray

Mari uji pemahaman anda tentang keupayaan AWS X-Ray.

Mengesan Laluan ke Hadapan

Tahniah! Anda telah mempelajari cara AWS X-Ray memberikan keterlihatan yang amat bernilai ke dalam aplikasi tanpa pelayan anda.

Dengan mendayakan X-Ray, melengkapkan kod anda dengan instrumentasi serta mentafsir peta perkhidmatan dan garis masa jejak, anda boleh:

  • Memahami aliran permintaan yang kompleks.
  • Mendiagnosis isu kependaman dan ralat.
  • Mengoptimumkan prestasi aplikasi anda.

Manfaatkan X-Ray untuk membina sistem tanpa pelayan yang lebih kukuh dan berprestasi tinggi!

Percuma untuk bermula

Pelajari Pembangunan AWS Lambda Tanpa Pelayan dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Penjejakan Teragih dengan AWS X-Ray” percuma?

Ya — teks penuh “Penjejakan Teragih dengan AWS X-Ray” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pembangunan AWS Lambda Tanpa Pelayan, tingkat taraf kepada CoddyKit PRO. Kursus Pembangunan AWS Lambda Tanpa Pelayan merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Penjejakan Teragih dengan AWS X-Ray”?

Laksanakan dan tafsirkan penjejakan teragih dengan AWS X-Ray untuk memvisualkan aliran permintaan melalui seni bina tanpa pelayan anda serta mengenal pasti kesesakan prestasi. Anda berlatih Pembangunan AWS Lambda Tanpa Pelayan menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pembangunan AWS Lambda Tanpa Pelayan?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pembangunan AWS Lambda Tanpa Pelayan di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Penjejakan Teragih dengan AWS X-Ray” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pembangunan AWS Lambda Tanpa Pelayan ini?

Ya. Setiap pelajaran Pembangunan AWS Lambda Tanpa Pelayan menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Dasar dan Kebenaran IAM Lanjutan
  2. Pengurusan Rahsia dengan AWS Secrets Manager
  3. Penjejakan Teragih dengan AWS X-Ray
  4. Pembalakan Berstruktur dan ID Korelasi
← Kembali ke Pembangunan AWS Lambda Tanpa Pelayan