Dalam seni bina tanpa pelayan, fungsi Java menyediakan kebolehskalaan dan keanjalan. 1. Kebolehskalaan: Melalui penskalaan automatik, fungsi boleh bertindak balas dengan lancar kepada perubahan beban. 2. Keanjalan: Fungsi sangat anjal, boleh mencuba semula secara automatik dan gagal, dan boleh digunakan dalam berbilang zon ketersediaan untuk meningkatkan daya tahan geografi.
Kebolehskalaan dan Ketahanan Fungsi Java dalam Seni Bina Tanpa Pelayan
Dalam seni bina tanpa pelayan, Java Functions menyediakan cara yang cekap untuk membina aplikasi berskala dan berdaya tahan. Dengan menghapuskan keperluan untuk mengkonfigurasi dan mengurus infrastruktur pelayan, pengkomputeran tanpa pelayan membolehkan pembangun menumpukan pada menulis kod aplikasi.
Skalabiliti
Fungsi Java mencapai kebolehskalaan yang lancar melalui pengembangan automatik. Apabila beban meningkat, fungsi boleh melancarkan lebih banyak kejadian secara automatik untuk memastikan pelaksanaan pantas dan mengelakkan kelewatan. Begitu juga, apabila beban berkurangan, fungsi boleh dikecilkan kepada lebih sedikit contoh untuk mengoptimumkan kos.
Ketahanan
Fungsi Java sangat berdaya tahan untuk menghadapi beban puncak dan kegagalan pelayan. Fungsi boleh dicuba semula secara automatik dan dihalakan ke keadaan sihat melalui mekanisme failover. Selain itu, fungsi boleh digunakan dengan mudah merentas berbilang Zon Ketersediaan untuk meningkatkan daya tahan geografi.
Kes Praktikal
Pertimbangkan fungsi lambda yang menjana lakaran kecil berdasarkan imej input. Menggunakan seni bina tanpa pelayan, fungsi ini membolehkan kelebihan berikut:
import com.google.cloud.functions.Context; import com.google.cloud.functions.RawBackgroundFunction; import com.google.cloud.storage.Blob; import com.google.cloud.storage.BlobId; import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Paths; public class ThumbnailGenerator implements RawBackgroundFunction { private static final String BUCKET_NAME = "my-bucket"; private static final String THUMBNAIL_SIZE = "50,50"; @Override public void accept(InputStream inputStream, Context context) throws IOException { String body = new String(inputStream.readAllBytes(), com.google.api.client.util.Charsets.UTF_8); BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(BUCKET_NAME, body)).build(); Storage storage = StorageOptions.getDefaultInstance().getService(); Blob blob = storage.get(blobInfo); if (blob != null) { // 生成缩略图 String thumbFileName = "thumb_" + blob.getName(); BlobInfo thumbBlobInfo = BlobInfo.newBuilder(BlobId.of(BUCKET_NAME, thumbFileName)).build(); // 上传缩略图到存储桶 Files.copy(Paths.get("/tmp", blob.getName()), Paths.get("/tmp", thumbFileName)); storage.create(thumbBlobInfo, Paths.get("/tmp", thumbFileName).toFile()); } } }
Fungsi ini memastikan pelaksanaan pemprosesan imej yang lancar melalui mekanisme penskalaan automatik dan cuba semula, walaupun semasa puncak beban. Selain itu, ia meningkatkan daya tahan geografi dengan digunakan merentasi berbilang Zon Ketersediaan.
Atas ialah kandungan terperinci Java berfungsi berskala dan keanjalan dalam seni bina tanpa pelayan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!