Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Golang tidak mempunyai bekas

Mengapa Golang tidak mempunyai bekas

PHPz
PHPzasal
2023-04-06 08:53:53605semak imbas

Dengan perkembangan teknologi pengkomputeran awan, teknologi kontena semakin digunakan secara meluas. Dari segi perkembangan bahasa dalam bidang kontena, Golang nampaknya tidak mempunyai kelebihan yang jelas terutama di kawasan yang lebih mendalam seperti unikernel. Artikel ini akan meneroka sebab mengapa Golang tidak mempunyai bekas dan penyelesaian yang mungkin.

1. Mengapa Golang tidak mempunyai bekas?

Walaupun Golang dikenali sebagai bahasa pengaturcaraan yang cekap, selamat dan mudah digunakan, ia nampaknya agak "dibayangi" dalam medan kontena. Sebabnya ialah kaedah pautan statik tradisional yang diguna pakai oleh Golang menghasilkan fail binari yang agak besar dan disertakan dengan perpustakaan standard yang besar.

Dalam bidang bekas, ciri ringan adalah penting. Oleh kerana bekas ringan selalunya perlu dijalankan dalam persekitaran sistem pengendalian yang dikurangkan, jika fail imej terlalu besar, ia akan menduduki banyak ruang storan, mengakibatkan kemerosotan prestasi.

Apabila Golang disusun, sebagai tambahan kepada program utama, ia juga akan menyusun semua perpustakaan yang digunakan oleh program tersebut. Ini bermakna binari yang dihasilkan oleh program kecil di Golang boleh menjadi sangat besar. Ini lebih menyusahkan dalam bekas kerana persekitaran kontena dibina pada mesin pembangunan. Oleh itu, saiz Golang dan model perpustakaan standard akan menjadi dua isu utama apabila mempromosikan kontena.

2. Penyelesaian kontena Golang

Walaupun Golang mempunyai masalah ini dalam bidang kontena, sesetengah orang dalam komuniti Golang masih cuba menyelesaikan masalah ini untuk meningkatkan sokongan kontena Golang. Pada masa ini, komuniti termasuk dua penyelesaian.

  1. Versi ringan Golang

Ringan ialah ciri penting dalam medan kontena. Di Golang, bekas yang berkuasa boleh dilaksanakan melalui versi ringkas dan ringan.

Menggunakan versi Golang yang ringan boleh mengurangkan saiz fail yang dijana oleh program dengan ketara dan sokongan untuk pencerminan juga telah dipertingkatkan dengan ketara. Ini membolehkan Golang menyesuaikan diri dengan lebih baik dengan keperluan bekas dalam medan aplikasi, atau menyahpasang beberapa perpustakaan tambahan dalam senario tertentu.

  1. Precompiled standard library

Golang standard library ialah teras ekosistem Golang, tetapi disebabkan saiznya yang besar, imej docker yang dihasilkan juga akan menjadi sangat besar . Satu cara untuk menyelesaikan masalah ini ialah dengan menyusun semula perpustakaan standard Teknologi ini boleh menjana perpustakaan standard Golang ke dalam bentuk perpustakaan statik, dengan itu mengurangkan saiz fail binari.

Pada masa yang sama, anda juga boleh menggunakan bendera seperti -ldflags=’-s -w’ dalam pengkompil Go untuk mengurangkan lagi saiz binari program boleh laku yang dijana. Bendera '-s' akan menanggalkan jadual simbol dalam binari, dan bendera '-w' akan melumpuhkan maklumat penyahpepijatan DWARF.

Walau bagaimanapun, untuk penyelesaian kontena ringan dan penyelesaian perpustakaan standard yang telah disusun sebelumnya, ia memerlukan kerja tambahan untuk membina persekitaran aplikasi.

3. Ringkasan

Berbanding dengan bahasa pembangunan lain, sokongan dan aplikasi Golang dalam medan kontena nampaknya kurang. Walau bagaimanapun, sudah ada beberapa penyelesaian yang boleh memberikan Golang sokongan kontena yang lebih baik. Versi Golang yang ringan dan penyelesaian perpustakaan standard yang telah dikompilasi kini merupakan dua penyelesaian yang paling biasa digunakan.

Pada masa hadapan, dengan pembangunan berterusan teknologi pengkomputeran awan, aplikasi Golang dalam bidang kontena masih mempunyai banyak ruang untuk pembangunan. Pada masa hadapan, lebih banyak penyelesaian untuk pembinaan kontena akan muncul dalam komuniti Golang, dan kami mempunyai sebab untuk mempercayai bahawa Golang akan digunakan secara lebih meluas dalam medan kontena.

Atas ialah kandungan terperinci Mengapa Golang tidak mempunyai bekas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn