Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat pengkomputeran awan, semakin banyak perusahaan telah mula memilih untuk menggunakan aplikasi mereka pada awan untuk mencapai kelebihan ketersediaan tinggi, penskalaan anjal dan pengembangan yang lancar. Di antara banyak bahasa pengaturcaraan, bahasa Go semakin digemari oleh pembangun kerana prestasinya yang tinggi, konkurensi yang kukuh dan kod yang ringkas dan mudah dibaca. Jadi, dengan ledakan bahasa Go hari ini, bagaimana untuk menggunakan aplikasi Go dalam awan dengan cepat? Seterusnya, saya akan bercakap tentang beberapa amalan dan pemikiran saya.
Pertama sekali, kita mesti memilih penyedia perkhidmatan awan yang sesuai dengan kita. Secara umumnya, penyedia perkhidmatan awan arus perdana yang ada di pasaran termasuk Alibaba Cloud, Tencent Cloud, Huawei Cloud, dll. Penyedia perkhidmatan awan ini menyediakan banyak produk awan, seperti pelayan awan ECS, perkhidmatan kontena, pangkalan data, pengimbangan beban, CDN, dsb. Kita boleh memilih mengikut keperluan kita.
Selain itu, untuk menggunakan aplikasi Go dengan cepat dan mudah, kami boleh memilih penyedia perkhidmatan awan yang menyediakan platform atau perkhidmatan kontena PaaS. Contohnya, ACM Alibaba Cloud, perkhidmatan kontena TKE Tencent Cloud, enjin kontena CCE Huawei Cloud, dsb.
Dalam proses menggunakan aplikasi Go, kami biasanya memilih teknologi kontena Docker. Teknologi kontena Docker boleh membungkus aplikasi dan persekitaran operasi kami bersama-sama untuk mencapai penggunaan pantas, penghijrahan dan penskalaan. Oleh itu, apabila membangunkan aplikasi Go, kita harus menggunakan Dockerfiles untuk menerangkan aplikasi kita.
Contoh Dockerfile mudah diberikan di bawah:
# 基础镜像 FROM golang:1.16.2-alpine3.13 AS builder # 设置工作目录 WORKDIR /app # 将应用代码复制到容器中 COPY . . # 编译 RUN go build -o /app/main # 运行环境 FROM alpine:3.13 # 设置工作目录 WORKDIR /app # 复制二进制文件 COPY --from=builder /app/main . # 设置环境变量 ENV PORT 8888 # 暴露端口 EXPOSE 8888 # 启动应用 CMD ["./main"]
Di atas ialah aplikasi Go Dockerfile berdasarkan alpine. Antaranya, kami menggunakan golang:1.16.2-alpine3.13 sebagai imej asas peringkat pertama, di mana kami boleh menggunakan go build untuk menyusun. Kami kemudian menggunakan alpine:3.13 sebagai imej asas untuk peringkat kedua dan menyalin binari yang disusun ke dalamnya. Akhir sekali, kami menetapkan pembolehubah persekitaran dan port terdedah, dan memulakan aplikasi. Dalam Dockerfile, kita boleh membuat pengubahsuaian yang sesuai mengikut keperluan kita.
Selepas menulis Fail Docker, kita perlu membinanya dan menolaknya ke gudang imej. Di sini, kita boleh memilih gudang imej awan awam (contohnya: Pendaftaran Kontena Alibaba Cloud, pustaka imej Tencent Cloud, perkhidmatan imej Huawei Cloud, dll.) atau gudang imej persendirian. Di sini, kami mengambil Pendaftaran Kontena Alibaba Cloud sebagai contoh:
$ docker login --username=<your_username> registry.cn-hangzhou.aliyuncs.com
Di mana,
$ docker build -t registry.cn-hangzhou.aliyuncs.com/<your_namespace>/<your_repo>:<tag> .
Di mana,
$ docker push registry.cn-hangzhou.aliyuncs.com/<your_namespace>/<your_repo>:<tag>
Pada ketika ini, imej kami telah berjaya ditolak ke Pendaftaran Kontena Alibaba Cloud.
Selepas kami berjaya menolak imej Docker, kami boleh memilih untuk menggunakan Perkhidmatan Kontena Awan untuk penggunaan pantas.
Mengambil Kubernetes Alibaba Cloud sebagai contoh, kita perlu membuat gugusan Kubernetes pada konsol dahulu, kemudian mengkonfigurasi nama gudang imej, nombor versi dan maklumat lain ke dalam fail konfigurasi Deployment, dan akhirnya laksanakan kubectl apply - f arahan untuk digunakan.
Dalam Tencent Cloud, perkhidmatan kontena TKE menyediakan antara muka operasi konsol yang sangat kaya, membolehkan kami mengatur dan mengurus bekas dengan lebih mudah.
Begitu juga, penyedia perkhidmatan awan lain juga menyediakan pelbagai perkhidmatan kontena untuk kami gunakan.
Ringkasnya, kita dapat melihat bahawa sangat mudah untuk menggunakan bahasa Go untuk menggunakan aplikasi, dan dalam era awan hari ini, menggunakan bekas Docker dan perkhidmatan kontena awan boleh meningkatkan kecekapan penggunaan . dan kemudahan operasi. Dalam amalan, kita harus sabar meneroka dan belajar, dan sentiasa mengoptimumkan rancangan penggunaan kita untuk menyesuaikan diri dengan perubahan keperluan perniagaan.
Atas ialah kandungan terperinci Golang mudah digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!