SAE, uygulamaya yönelik bir Serverless PaaS platformudur. Platform Hizmeti (PaaS) kullanıcılarını Altyapı Hizmeti (IaaS) işletim ve bakımından kurtarır, kullandıkça öde faturalama ile kaynakları ihtiyaca göre kullanmanıza olanak tanır ve mikro hizmetler, Java ve PHP gibi teknoloji yığınlarıyla oluşturulan uygulamaların cloud ortamına geçiş engellerini düşürür. Bu konu, dağıtım iş akışını adım adım açıklar ve her yetenek alanı için uygulanacak yöntemlere ilişkin yönlendirmeler sunar.
Dağıtım iş akışı
Aşağıdaki şekilde SAE iş akışı gösterilmektedir.

İş akışı dört aşamadan oluşur. 1'den 3'e kadar olan aşamalar, çalışan bir uygulamaya ulaşmak için gereken minimum yolu temsil eder. 4. aşama ise uygulamanız production ortamına hazırlandıkça ekleyeceğiniz yetenekleri kapsar.
-
Kaynakları planlayın ve hazırlıkları tamamlayın. İlk kez bir SAE uygulaması dağıtmadan önce Virtual Private Cloud (VPC), vSwitch ve ad alanlarınızı planlayın. Ad alanları; test, staging ve production gibi ortamları birbirinden ayırır. Bu konudaki Başlamadan önce bölümüne ve Ön koşullar konusuna bakın.
-
Uygulamanızı dağıtın. Uygulamayı SAE konsolunda dağıtın. Ayrıntılar için bu konudaki Application deployment ve Bir uygulama dağıtın bölümlerine bakın. Konsol tabanlı dağıtım dışında SAE, Jenkins, IDE eklentileri, Maven eklentileri, Terraform, OpenAPI, Alibaba Cloud DevOps ve kubectl-sae aracı aracılığıyla dağıtım desteği de sunar.
NotBir uygulamayı ilk kez SAE üzerine dağıtıyorsanız uygulamayı SAE konsolunda oluşturun.
-
Uygulamanıza erişilebilir hale getirin. İstemcilerin uygulamaya nasıl ulaştığına bağlı olarak bir erişim yöntemi seçin. Yöntemlerin tam karşılaştırması ve uygulamaları için bu konudaki Uygulama erişimi bölümüne bakın.
Ingress (önerilen) — Tek bir bağlantı noktası birden çok uygulamaya hizmet verir ve trafik, alan adlarına ve yollara göre farklı uygulamalara yönlendirilir. Ayrıntılar için bkz. Bir ingress yapılandırın.
Service — Tek bir bağlantı noktası tek bir uygulamaya hizmet verir. Katman 4 TCP erişimine ihtiyaç duyduğunuzda veya alan adı tabanlı erişim mevcut olmadığında Service kullanın. Bir Service'i Network Load Balancer (NLB) örneğiyle dışa açmak için bkz. Bir NLB örneğini bir uygulamaya bağlayın.
Elastic IP adresi (EIP) — Bir örnek, tek bir EIP ile eşlenebilir; bu sayede örnek hem İnternet'e trafik gönderebilir hem de İnternet'ten trafik alabilir. Ayrıntılar için bkz. Bir SAE örneği için genel erişimi etkinleştirmek üzere bir EIP yapılandırın.
Gelişmiş özellikleri yapılandırın. Bu konunun aşağıdaki bölümleri, bir SAE uygulamasına ekleyebileceğiniz yetenekleri açıklamaktadır:
Erişim kontrolü: İzin yapılandırması
Maliyet düşürme ve verimlilik için esneklik: Esneklik
Java mikro hizmet geliştirmeleri: Mikro hizmetler
Yüksek kullanılabilirlik (HA): Yüksek kullanılabilirlik
Depolama: Depolama
-
Başlamadan önce
SAE konusunda yeniyseniz SAE ve temel işlemleri hakkında bilgi edinmek için videoyu izleyin.
Hizmetle ilgili ayrıntılar için bkz. Serverless App Engine nedir?.
Ön koşullar
İlk dağıtım öncesi aşağıdaki öğeleri hazırlayın:
Ağ kaynakları — Bir VPC ve vSwitch'lerini planlayın. Bir vSwitch oluştururken IP adresi sayısını Sınırlar ve kotalar bölümünde açıklandığı şekilde planlayın.
Ad alanları — Test, staging ve production ortamlarınızı ayıracak ad alanlarını planlayın.
Uygulama kaynağı — Bir kod paketi veya konteyner görüntüsü hazırlayın. Desteklenen kaynaklar için bkz. Dağıtım kaynakları.
-
Konsol girişi — İlk uygulamanızı SAE konsolunda oluşturun.
Ayrıntılar için bkz. Ön koşullar.
Sınırlar ve kotalar
Planlama sırasında aşağıdaki sınırları dikkate alın. Her biri, bir uygulamanın oluşturulup oluşturulamayacağını, ölçeklendirilip ölçeklendirilemeyeceğini veya izlenip izlenemeyeceğini etkiler.
Sistem diski — SAE, 20 GB sistem diski depolama alanı sağlar. Harici depolamadan okuma veya yazma yapmak için Apsara File Storage NAS veya Object Storage Service (OSS) kullanın. Ayrıntılar için bkz. Depolama.
Gerçek zamanlı günlükler — Gerçek zamanlı günlük özelliği 500 satır günlük verisi görüntüler. Daha fazla günlük verisi görüntülemek için dosya günlüğü toplama özelliğini kullanın. Ayrıntılar için bkz. Günlükler.
EIP miktarı — Her örnek bir EIP ile eşlendiğinde, EIP sayısının en az örnek sayısı artı bir olduğundan emin olun. EIP'ler yetersizse örnek oluşturma başarısız olur ve örnek trafiğe hizmet veremez.
vSwitch IP adresleri — Yetersiz IP adresleri oluşturma ve otomatik ölçeklendirme hatalarına neden olduğundan her vSwitch için 100 veya daha fazla IP adresi planlayın.
Bağlantı noktası eşlemesi — Bir Service, tek bir uygulama için tek bir bağlantı noktası dışa açar. Bir ingress, birden çok uygulama için tek bir bağlantı noktası dışa açar.
Bir uygulama dağıtın
Bu bölümde SAE tarafından desteklenen dağıtım kaynakları, dağıtım sırasında yapılandırdığınız ayarlar, otomatik teslimat kanalları ve bir uygulamayı yayınlama, geri alma ve erişim izni verme yöntemleri açıklanmaktadır.
Dağıtım kaynakları
SAE, kod paketi dağıtımı ve görüntü dağıtımı yöntemlerini destekler.
Başlatma komutu ve parametreleri
Başlatma komutu, her dağıtım kaynağı için farklı şekilde tanımlanır.
Görüntü dağıtımı — Başlatma komutunu ve parametrelerini doğrudan Dockerfile içinde tanımlayın. Uygulamayı oluştururken başlatma komutunu geçersiz kılabilirsiniz.
Kod paketi dağıtımı — Uygulama başlatma komutunun parametrelerini yapılandırın. Java uygulamaları için varsayılan komut biçimi
java [-Options] -jar jarfile [arg...]şeklindedir; burada[-Options]ve[arg...]parametrelerini özelleştirebilirsiniz.
Ortam değişkenleri
Bir uygulamanın komutlarının çalışabilmesi için sistemde belirli ortam değişkenlerinin bulunması gerekir. Ortam değişkenleri anahtar-değer çiftleri olarak saklanır. Her uygulamanın kendi ortam değişkenleri vardır ve bu değişkenler diğer uygulamaları etkilemez. Ayrıntılar için bkz. Ortam değişkenlerini yapılandırın.
Hosts bağlama
Hosts bağlama sayesinde bir SAE uygulaması, harici hizmetlere erişmek için IP adresi yerine bir alan adı kullanabilir.
Veritabanı izin listesi
Uygulamaları doğrudan Elastic Compute Service (ECS) örneklerine dağıtmakle karşılaştırıldığında SAE, uygulamaları konteynerlerde çalıştırır; bu nedenle uygulamayı her dağıttığınızda IP adresi değişebilir. Uygulamanın bağlı olduğu vSwitch'in CIDR bloğu değişmediğinden veritabanı izin listesine vSwitch CIDR bloğunu ekleyin. Ayrıntılar için bkz. Uygulamalardan Alibaba Cloud veritabanlarına erişin.
CI/CD ve dağıtım eklentileri
Konsol ve API dağıtımı yanı sıra SAE, birçok CI/CD aracıyla (genellikle Alibaba Cloud DevOps ve Jenkins) entegre olur; böylece kod commit işleminden sonra dağıtım otomatik olarak başlar. Java kullanıyorsanız SAE, Maven, IntelliJ IDEA ve Eclipse için eklentiler dahil olmak üzere bir dizi dağıtım eklentisi de sağlar. Ayrıntılar için bkz. Uygulama barındırmaya genel bakış.
SAE kaynaklarını kod olarak yönetmek için Terraform kullanın. Ayrıntılar için bkz. terraform-provider-alicloud ve Terraform'a genel bakış.
Zaten cloud üzerinde çalışan hizmetlere karşı yerel geliştirme ve ortak hata ayıklama yapmak için bkz. Mikro hizmet geliştirme.
Yayın ve geri alma
SAE, tek parti yayın, aşamalı yayın ve canary yayını destekler. Bir yayın sorunlara neden olursa uygulamayı önceki bir sürüme geri alabilirsiniz. Ayrıntılar için bkz. Bir uygulamayı yükseltin ve geri alın.
İzin yapılandırması
SAE, ad alanı, uygulama ve okuma/yazma düzeylerinde ayrıntılı erişim kontrolü destekler ve izin asistanı yapılandırma sürecini basitleştirir. Ayrıntılar için bkz. SAE izin asistanı.
Uygulama erişimi
Bu bölüm, SAE tarafından temel alınan ağ kavramlarını, her trafik yönü için erişim yöntemlerini ve aralarında seçim yapmanıza yardımcı olan karşılaştırmaları kapsar. Ayrıntılar için bkz. Uygulama erişimi ve trafik yönetimi.
SAE içinde bir Service, bir NLB veya Classic Load Balancer (CLB) örneğiyle dışa açılırken bir ingress, API Gateway, Application Load Balancer (ALB) veya MSE cloud-native gateway ile uygulanır.
Ağ kavramları
Aşağıdaki şekilde bu Alibaba Cloud ağ kaynaklarının birbirleriyle nasıl ilişkili olduğu gösterilmektedir.

-
VPC — Alibaba Cloud üzerinde oluşturduğunuz özel bir ağdır. VPC'ler mantıksal katmanda birbirlerinden tamamen izole edilir.
NotVarsayılan olarak özel bir ağ İnternet'e erişemez.
vSwitch — Fiziksel bir veri merkezine karşılık gelen bir VPC'nin temel ağ cihazıdır. Bir VPC'de bir cloud kaynağı oluşturduğunuzda kaynağın bağlanacağı vSwitch'i belirtmeniz gerekir.
EIP — Yalnızca bir kaynağa (örneğin bir ECS örneğine veya bir SAE örneğine) bağlanabilen bir Elastic IP adresidir. Bağlanan kaynak hem İnternet'e trafik gönderebilir hem de İnternet'ten trafik alabilir.
NAT Gateway — Bir VPC'deki kaynakların SNAT aracılığıyla İnternet'e erişmesine olanak tanır. EIP'ten temel farkı, bir Internet NAT gateway'in bir VPC'deki tüm kaynaklara hizmet etmesi, EIP'in ise yalnızca bir VPC'deki tek bir kaynağa hizmet etmesidir.
Trafik yönüne göre erişim yöntemleri
Bir uygulamayı SAE üzerine dağıttıktan sonra aşağıdaki ağ erişimi gereksinimleriyle karşılaşabilirsiniz. Aşağıdaki şekilde kavramlar gösterilmektedir.

İnternet'ten gelen erişim
İnternet üzerinden erişilebilir olması gereken bir SAE uygulaması aşağıdaki yöntemleri kullanabilir.
SAE Service: genel erişimli NLB veya genel erişimli CLB ile dışa açabileceğiniz bir Service aracılığıyla uygulamaya erişin.
SAE Ingress: genel erişimli API Gateway, genel erişimli ALB veya genel erişimli MSE cloud-native gateway ile uygulayabileceğiniz bir ingress aracılığıyla uygulamaya erişin. Bu yöntem, trafiği alan adlarına ve yollara göre farklı SAE uygulamalarına yönlendirir.
SAE EIP: Örneklerin hem İnternet'e trafik gönderip hem de İnternet'ten trafik alabilmesi için bir SAE uygulamasının her örneğine bir EIP bağlayın.
İnternet'e giden erişim
İnternet'e erişmesi gereken bir SAE uygulaması aşağıdaki yöntemleri kullanabilir.
NAT Gateway: İlgili tüm SAE uygulamalarının İnternet'e erişebilmesi için SAE uygulamasıyla ilişkilendirilmiş VPC için bir Internet NAT gateway yapılandırın.
SAE EIP: Örneklerin hem İnternet'e trafik gönderip hem de İnternet'ten trafik alabilmesi için bir SAE uygulamasının her örneğine bir EIP bağlayın.
Uygulamalar arasında karşılıklı erişim
Her dağıtım yeni bir dahili IP adresi oluşturduğundan SAE uygulamaları birbirlerine doğrudan örnek IP adresiyle erişemez. Bunun yerine aşağıdaki yöntemleri kullanın.
SAE Service: dahili erişimli NLB veya dahili erişimli CLB ile dışa açabileceğiniz bir Service aracılığıyla uygulamaya erişin.
SAE Ingress: dahili erişimli API Gateway, dahili erişimli ALB veya dahili erişimli MSE cloud-native gateway ile uygulayabileceğiniz bir ingress aracılığıyla uygulamaya erişin. Bu yöntem, trafiği alan adlarına ve yollara göre farklı SAE uygulamalarına yönlendirir.
-
Bir hizmet kayıt defteri aracılığıyla mikro hizmet uygulamaları arasında karşılıklı erişim için bkz. Hizmet kayıt defteri ve yapılandırma merkezi.
Bir VPC'deki diğer kaynaklara erişim
SAE, Alibaba Cloud VPC ağı üzerinde inşa edildiğinden ECS örnekleri, ApsaraDB RDS ve ApsaraDB for Tair (Redis uyumlu) gibi aynı VPC'deki kaynaklara ekstra yapılandırma olmadan erişebilir. Tersine, aynı VPC'deki Alibaba Cloud kaynakları da SAE erişebilir.
Güvenlik grubunun ve hedef hizmetin izin listesinin trafiğe izin verdiğini onaylayın. Erişim yine de başarısız olursa bkz. Sorun giderme.
Erişim yöntemlerini karşılaştırın
Service veya ingress
Aşağıdaki şekilde gösterildiği gibi bir SAE ingress, trafiği alan adlarına ve yollara göre farklı uygulamalara yönlendirirken Service bunu yapmaz. Gereksinimlerinizi karşılıyorsa öncelikle ingress kullanın. Katman 4 TCP erişimine ihtiyaç duyduğunuzda veya alan adı tabanlı erişim mevcut olmadığında Service kullanın.

ALB ingress veya CLB ingress
ALB, HTTP, HTTPS ve QUIC gibi uygulama katmanı senaryoları için tasarlanmış bir Alibaba Cloud yük dengeleme hizmetidir. Ingress senaryoları için öncelikle ALB kullanın. Ayrıntılar için bkz. Server Load Balancer (SLB) ürün ailesine giriş.
NAT tabanlı veya EIP tabanlı İnternet erişimi
Aşağıdaki şekilde, her örneğin bir EIP ile eşlendiği EIP tabanlı İnternet erişimi gösterilmektedir. EIP'ler yetersizse örnek oluşturma başarısız olur ve örnek trafiğe hizmet veremez.

Aşağıdaki tabloda NAT modu ile EIP modu arasındaki temel farklar açıklanmaktadır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mikro hizmetler
SAE, hizmet kaydı ve keşfi, yapılandırma yönetimi, geliştirme verimliliği ve hizmet yönetişimi için mikro hizmet geliştirmeleri sağlar.
Hizmet kayıt defteri ve yapılandırma merkezi
SAE uygulamaları bir hizmet kayıt defteri aracılığıyla birbirlerine kaydolur ve birbirlerini keşfeder. Gereksinimlerinize göre bir uygulama seçin.
MSE Nacos (önerilen) — Hem mikro hizmet kayıt defteri hem de yapılandırma merkezi olarak hizmet veren MSE Nacos hizmet kayıt defterini kullanın.
Yerleşik Nacos hizmet kayıt defteri — SAE içine yerleştirilmiş Nacos hizmet kayıt defteri. Bunu kullanan uygulamalar için SAE, temel hizmet listesi sorgulama yetenekleri sağlar.
-
Yerleşik yapılandırma yönetimi — Yapılandırma merkezi olarak hizmet veren SAE içine yerleştirilmiş dağıtılmış yapılandırma yönetimi (ACM) özelliği.
Diğer hizmet kayıt defterlerinin desteği dahil olmak üzere kayıt ve keşifle ilgili ayrıntılar için bkz. Nacos ve diğer hizmet kayıt defterlerine dayalı hizmet kaydı ve keşfi.
Mikro hizmet geliştirme
IDE'den otomatik dağıtım
Bir uygulamayı her seferinde yeniden paketleyip yeniden dağıtmak yerine IDE'den tek tıkla dağıtım yapmak dağıtım süresini azaltır ve geliştirme verimliliğini artırır. Ayrıntılar için bkz. Alibaba Cloud Toolkit kullanarak bir mikro hizmeti SAE'ye otomatik olarak dağıtın.
Yerel ve cloud arası bağlantı
Mikro hizmet mimarisini benimsedikten sonra uygulama sayısı artar. Aşırı durumlarda yerel geliştirme ve ortak hata ayıklama için ilgili tüm mikro hizmet uygulamalarını başlatmanız gerekebilir. Bu sorunu çözmek için Alibaba Cloud Toolkit eklentisinin yerel ve cloud arası bağlantı özelliğini kullanın. Örneğin yerel bir tüketiciyi doğrudan SAE üzerinde dağıtılmış bir sağlayıcıya bağlayarak sağlayıcıyı yerel olarak başlatmanıza gerek kalmaz. Bu sayede geliştirme ve hata ayıklama maliyetleri azalır. Ayrıntılar için bkz. Cloud Toolkit kullanarak yerel ve cloud uygulamaları arasında bağlantı kurun (IntelliJ IDEA).
Hizmet yönetişimi
Hizmet listesi
Yerleşik Nacos hizmet kayıt defterini kullanan uygulamalar için SAE, temel hizmet listesi sorgulama yetenekleri sağlar. Kendi kendinize yönetilen bir hizmet kayıt defteri veya MSE hizmet kayıt defteri kullanıyorsanız hizmetleri SAE konsolunda görüntülemek yerine ilgili konsola oturum açıp sorgulayın. Ayrıntılar için bkz. Hizmet listesini görüntüleyin.
Mikro hizmet canary yayını
SAE, uygulama yaşam döngüsünü yönetir ve ayrıca mikro hizmet uygulamalarının yayın aşaması için canary yayını yetenekleri sağlar. Ayrıntılar için bkz. Canary yayın kurallarını yönetin ve Bir uygulama için canary yayını gerçekleştirin.
Çoklu dil desteği
PHP çalışma zamanı desteği
SAE, PHP uygulamaları için aşağıdaki dağıtım yöntemlerini destekler.
Görüntü: herhangi bir PHP uygulama mimarisi.
-
PHP ZIP paketi: PHP-FPM ve Nginx mimarisini kullanan herhangi bir online uygulama.
SAE, varsayılan olarak bir PHP çalışma zamanı ortamı sağlar.
PHP uzaktan hata ayıklama
SAE, uzaktan hata ayıklama için etkinleştirebileceğiniz yerleşik bir Xdebug eklentisine sahiptir. Hata ayıklama sırasında bir örnek ile yerel makineniz arasında dosya aktarmak için bkz. Dosyaları yükleyin ve indirin.
Günlükler
SAE, iki tür günlük toplar: konteyner günlük yolundaki günlükler olan iş dosya günlükleri ve konteyner standart çıktı (stdout) günlükleri. Ne kadar günlük verisine ihtiyaç duyduğunuza ve bunları nasıl analiz etmek istediğinize bağlı olarak bir hedef seçin.
Konsoldaki gerçek zamanlı günlükler — SAE gerçek zamanlı günlük özelliği 500 satır günlük verisi görüntüler. Günlük çıktısını hızlıca incelemek için kullanın.
Simple Log Service (SLS) — SAE, günlükleri SLS'ye gönderir; burada sınırsız sayıda günlük satırı görüntüleyebilir, günlükleri kendi başınıza toplayıp analiz edebilir ve iş günlüklerini kolayca entegre edebilirsiniz. Stdout günlüklerini SLS'ye göndermek için önce standart çıktıyı bir dosyaya yönlendirin ve ardından dosya toplamayı yapılandırın.
Kafka — SAE, günlükleri Kafka'ya gönderir. SLS toplama kurulumunuza uymadığında (örneğin bir Resource Access Management (RAM) kullanıcısının SLS günlüklerini görüntüleme izni olmadığında) Kafka kullanın.
Dosya günlükleri
SAE, SLS günlük toplamayla entegredir ve bunu SAE konsolunda etkinleştirmeniz yeterlidir. Toplama makinelerinin listesini manuel olarak tuttuğunuz ECS örneklerine doğrudan uygulama dağıtmakla karşılaştırıldığında SAE, toplama dizinini veya toplama dosyasını yapılandırdıktan sonra her dağıtım ve ölçek büyütme işleminde SLS günlük toplamaya otomatik olarak bağlanır. Ardından SLS konsolunda anahtar kelimeye göre günlük arayabilirsiniz. Ayrıntılar için bkz. SLS'ye günlük toplamayı yapılandırın.
Toplamayı yapılandırmak için Log Configurations sayfasına gidin ve aşağıdakileri yapın:
Enable SLS Log Service seçeneğini açın.
Create New SLS Resources veya Use Existing SLS Resources seçeneğini belirleyin.
Toplama yapılandırma tablosunda Log Type (örneğin Container Standard Output) seçin ve Log Source (örneğin
stdout.log) değerini ayarlayın.-
Daha fazla toplama kuralı eklemek için Add tıklayın.
Günlük kaynakları joker karakterleri destekler. Örneğin
/tmp/log/*.log,/tmp/logdizinindeki ve alt dizinlerindeki.logile biten tüm dosyaları toplar.
Logtail başlatma parametrelerini ortam değişkenleriyle de ayarlayabilirsiniz. Ayrıntılar için bkz. Logtail toplama performansını iyileştirin.
Günlükleri bunun yerine Kafka'ya aktarırsanız Kafka verilerini iş senaryonuza göre Elasticsearch gibi başka bir kalıcı depolama alanına iletebilir ve günlükleri merkezi olarak yönetip analiz etmeyi kolaylaştırabilirsiniz. Ayrıntılar için bkz. Kafka'ya günlük toplamayı yapılandırın.
Gerçek zamanlı günlükler
SAE, standart çıktı günlüklerini otomatik olarak toplar, son 500 girişi saklar ve bunları SAE konsolunda görüntülemenize olanak tanır. Ayrıntılar için bkz. Gerçek zamanlı günlükleri görüntüleyin.
Real-time Logs sayfasında Pod Name açılır listesinden bir örnek seçin ve varsayılan olarak 15 saniye olan Real-time Log Refresh Rate değerini ayarlayın.
Standart çıktı günlüklerini son 500 girişin ötesinde saklamak için bunları bir dosyaya yönlendirin:
Startup Command Settings bölümündeki args alanına standart çıktıyı
>> /tmp/stdout.log 2>&1dosyasına yönlendirmek için/tmp/stdout.loggirin.Dosya günlükleri bölümünde açıklandığı gibi
/tmp/stdout.logiçin dosya toplamayı yapılandırın. Dosyayı, yalnızca örnek normal çalışırken kullanılabilen Webshell aracılığıyla çevrimiçi olarak da görüntüleyebilirsiniz.
Depolama
Her SAE örneğinin bir sistem diski vardır. Harici depolamadan okuma veya yazma yapmanız gerekiyorsa Apsara File Storage NAS veya OSS kullanın. NAS ve OSS ile SAE, statik dosyaların bağımsız olarak barındırılmasını da destekler: runtime sırasında oluşturulan kodları, şablonları ve yüklenen dosyaları kalıcı hale getirir ve dosyaları örnekler arasında paylaşır. Sistem diski kapasitesi için bkz. Sınırlar ve kotalar.
Günlükleme senaryolarında NAS veya OSS yerine SLS kullanın. Ayrıntılar için bkz. SLS'ye günlük toplamayı yapılandırın.
NAS
SAE, Apsara File Storage NAS'ı destekler; bu sayede uygulama örnekleri için veri kalıcılığı ve örnekler arasında veri dağıtımı sorunları çözülür. NAS depolama, yalnızca bir ECS örneğine veya SAE monte edildikten sonra erişilebilir. Ayrıntılar için bkz. NAS depolamayı yapılandırın.
OSS
OSS, görsel paket yönetimi için kullanışlı araçlar ve bir konsol sağlar. OSS, yapılandırma dosyalarını veya ön uç statik dosyalarını monte etmek gibi okuma yoğunluklu senaryolar için uygundur. SAE konsolunda bir uygulama dağıtırken OSS depolamayı yapılandırdıktan sonra verilere OSS konsolundan erişebilirsiniz. Ayrıntılar için bkz. OSS depolamayı yapılandırın.
Ossfs aracı günlük yazma senaryolarında kullanılamaz. Ayrıntılar için bkz. ossfs 1.0.
Dosyaları yükleyin ve indirin
Bir SAE örneğinden yerel makinenize bir dosya indirmek için Webshell aracılığıyla örnekte oturum açın ve yerleşik dosya yükleme ve indirme özelliğini kullanın. Ayrıntılar için bkz. Webshell kullanarak dosyaları yükleyin ve indirin.
NAS ve OSS depolamanın yanı sıra ossutil de kullanabilirsiniz. NAS ve OSS ayrıca kod geliştirme ve hata ayıklamayı basitleştirir. Bir SAE uygulamasını rutin kontrollerle teşhis edebilir veya günlükleri OSS'ye yükleyebilirsiniz. Alibaba Cloud OSS ile günlükleri nasıl yükleyip indireceğiniz hakkında bilgi için bkz. Uygulamaları rutin kontrollerle teşhis edin.
Esneklik
SAE, manuel ölçeklendirme, zamanlanmış ölçeklendirme, ölçüm tabanlı ölçeklendirme, hibrit ölçeklendirme ve zamanlanmış başlatma/durdurma gibi esnek ilkeleri destekler. Esneklik, cloud-native mimarilerin ve uygulamaların tipik bir özelliğidir; makine maliyetlerini azaltır ve işletim ve bakım verimliliğini artırır.
Manuel ölçeklendirme
Manuel ölçeklendirme, manuel işletim ve bakım gerektiren senaryolar için uygundur. Uygulamaları doğrudan ECS örneklerine dağıtmakla karşılaştırıldığında SAE ölçeklendirme konteyner görüntülerine dayanır ve daha hızlıdır. Ayrıntılar için bkz. Manuel ölçeklendirme.
Zamanlanmış ölçeklendirme
Zamanlanmış ölçeklendirme, öngörülebilir trafiğe sahip senaryolar için uygundur. Örneğin yemek ve eğitim sektörlerinde her gün sabah ve akşam net iş zirveleri yaşanır; bu nedenle sunucu kaynaklarını gerçek iş trafiğiyle hizalamak için farklı zaman dilimleri için farklı sayıda örnek yapılandırabilirsiniz. Ayrıntılar için bkz. Otomatik ölçeklendirme ilkesi yapılandırın.
Ölçüm tabanlı ölçeklendirme
Ölçüm tabanlı ölçeklendirme, nispeten öngörülemez trafiğe sahip senaryolar için uygundur. Şu anda CPU, bellek, TCP bağlantıları, QPS ve yanıt süresi (RT) gibi ölçümleri destekler. Ayrıntılar için bkz. Otomatik ölçeklendirme ilkesi yapılandırın.
Hibrit ölçeklendirme
Hibrit ölçeklendirme, hem ani trafik artışlarını yönetmeyi hem de zamanlanmış ölçeklendirmeyi gerektiren senaryolar için uygundur; örneğin İnternet, eğitim ve yemek sektörlerinde bilinen zaman dilimleri için örnek sayısını ayrıntılı düzeyde ayarlarsınız.
Örneğin hafta içi maksimum esnek örnek sayısını max ve minimum sayıyı min olarak ayarlarsınız. Hafta sonları min sayıda örneği korumanız gerekmiyorsa min değerini azaltmak için hafta sonları için farklı bir örnek sayısı yapılandırın. Ayrıntılar için bkz. Otomatik ölçeklendirme ilkesi yapılandırın.
Zamanlanmış başlatma ve durdurma
Zamanlanmış başlatma ve durdurma özelliği, uygulamaları ad alanına göre zamanlanmış olarak partiler halinde başlatır ve durdurur. Örneğin bir geliştirme veya test ortamındaki tüm uygulamaları zamanlanmış olarak başlatıp durdurabilirsiniz. Bir geliştirme veya test ortamına yalnızca her gün 08:00 ile 20:00 arasında ihtiyaç duyuluyorsa ve geri kalan süre boyunca boşta kalıyorsa maliyetleri azaltmak için SAE içinde zamanlanmış başlatma ve durdurmayı yapılandırın. Ayrıntılar için bkz. Zamanlanmış başlatma ve durdurma kuralı oluşturun.
İzleme ve uyarılar
SAE, Java ve PHP için yerleşik altyapı izleme ve ARMS Business Monitoring sağlar. Uyarı yönetimi; uyarı toplama, bildirim, otomatik escalasyon ve diğer özellikler sunarak iş uyarılarını hızla tespit etmenize ve düzeltmenize yardımcı olur.
Altyapı izleme
Altyapı izleme CPU, yük, bellek, disk, ağ ve TCP bağlantılarını kapsar. Ayrıntılar için bkz. Altyapı izleme. Altyapı izleme şu anda Alibaba Cloud CloudMonitor tarafından desteklendiğinden özel bir izleme panosu yapılandırmak için CloudMonitor konsoluna da oturum açabilirsiniz.
Uygulama izleme
Mikro hizmet mimarisinde eksik bir izleme sistemi sorunları tespit etmeyi ve teşhis etmeyi zorlaştırır. SAE, Application Real-Time Monitoring Service (ARMS) ile entegre olur; uygulama panoları, JVM izleme, yavaş çağrı izleme, iz analizi ve uyarı sağlar; bu sayede kuruluşların mikro hizmet mimarisini benimsemesinin önündeki engeller azalır. Ayrıntılar için bkz. Uygulama İzleme.
Bir uygulamanın entegre ettiği ARMS sürümü ve uygulanan ücretler uygulama sürümüne bağlıdır.
SAE Professional Edition uygulamaları, ARMS Premium Edition uygulama izleme özelliğini entegre eder. Uygulama izlemeyi etkinleştirdikten sonra ek ücret alınmaz ve uygulamanız gerçek zamanlı olarak izlenir. Ayrıntılar için bkz. Professional Edition uygulama izleme.
SAE Standard Edition uygulamaları, ücretsiz olan ARMS Basic Edition izlemeyi entegre eder; uygulama izlemeyi etkinleştirdikten sonra ek ücret alınmaz. Standard Edition ayrıca ARMS Premium Edition izlemeyi etkinleştirmek için bir giriş noktası sağlar. Standard Edition bir uygulamada ARMS Premium Edition'ı etkinleştirdikten sonra ek ücret alınır ve verileri ARMS konsolunda görüntülemeniz gerekir. Ayrıntılar için bkz. Standard Edition uygulama izleme.
Uyarı ayarları
SAE, yukarıdaki tüm izleme öğeleri için uyarı yapılandırmanıza olanak tanır. Ayrıntılar için bkz. Uyarı yönetimi.
Yüksek kullanılabilirlik
Bir uygulamayı SAE üzerine dağıttıktan sonra üç yetenek kullanılabilirliğini güvence altına alır: sağlık kontrolleri, uygulama örneklerinin ve hizmetlerin normal çalışıp çalışmadığını size bildirir ve olağan dışı durumlarda sorunları bulmanıza yardımcı olur; çoklu vSwitch dağıtımı, veri merkezi düzeyindeki arızaları yönetir; kısıtlama ve degradasyon ise uygulamayı ani trafik artışlarından korur.
Çoklu vSwitch dağıtımı
Veri merkezi düzeyindeki arızaları yönetmek için production sınıfı SAE uygulamaları için birden fazla vSwitch yapılandırın. Bir vSwitch oluştururken yeterli sayıda IP adresi (100 veya daha fazla) planlayın çünkü yetersiz IP adresleri oluşturma veya otomatik ölçeklendirme hatalarına neden olur. Ayrıntılar için bkz. vSwitch'leri değiştirin.
Çoklu vSwitch ile SAE, kaynakları birden fazla alan arasında otomatik olarak ölçeklendirir; bu sayede kaynakların nasıl dağıtıldığını takip etmeniz gerekmez ve genel kaynak havuzu kullanılabilir kalır. Örneğin tek bir hata noktası veya alan hatası oluştuğunda SAE, aynı sayıda hatalı örneği sağlıklı düğümlere veya diğer alanlara taşır.
Çoklu vSwitch'i aşağıdaki yollardan biriyle yapılandırın.
Oluşturma sırasında — Çoklu alan afet kurtarma sağlamak için farklı alanlarda iki veya daha fazla vSwitch seçin.
Oluşturmadan sonra — Application Information sayfasında Multi-vSwitch Deployment bağlantısını tıklayın ve bir vSwitch ekleyin.
Bir vSwitch eklediğinizde veritabanı izin listesini buna göre güncelleyin. Ayrıntılar için bkz. Uygulamalardan Alibaba Cloud veritabanlarına erişin.
Graceful başlatma ve kapatma
Bir uygulamayı SAE üzerine dağıttığınızda süreç genellikle önce ölçek büyütür ardından ölçek küçültür. Trafiğin graceful başlatılması ve kapatılması iki temel sorunu içerir.
Yeni ölçeklendirilen bir örneğin trafiği işlemeye hazır olup olmadığı.
-
Eski bir örneğin graceful şekilde nasıl yok edileceği.
SAE, Kubernetes üzerinde inşa edilmiştir ve uygulama örnekleri için liveness probe, uygulama hizmetleri için readiness probe olmak üzere iki sağlık kontrolü sağlar. İki sorunu çözmek için SAE, readiness probe destekler. Readiness probe, bir örneğin hazır olup olmadığını düzenli olarak kontrol eder ve SAE, yalnızca örnek hazır olduktan sonra trafiği yeni bir örneğe yönlendirir. Kontrol başarısız olursa SAE, trafiği örneğe yönlendirmez. Eski bir örnek yok edilmeden önce trafik tarafından kaldırılır ve örnek yok edilmeden önce bir kapatma betiği ve bekleme süresi yapılandırabilirsiniz. Ayrıntılar için bkz. Sağlık kontrollerini yapılandırın.
Liveness probe ayrıca bir örneğin başlayıp başlamadığını düzenli olarak kontrol eder. Kontrol başarısız olursa SAE, konteyneri otomatik olarak yeniden başlatır. Bu özellik, olağan dışı senaryolar için otomatik işletim ve bakımı destekler ancak hata bağlamını kaybedebilir ve nedeni araştırmanızı engelleyebilir. Liveness probe'u senaryonuza göre yapılandırıp yapılandırmayacağınıza karar verin.
Readiness probe ve liveness probe'a ek olarak mikro hizmet senaryoları, hizmet kayıt defterinin önbellekleme sorununu çözmek için mikro hizmetler için graceful shutdown gerektirir. Tüketici istemcisi verileri önbelleğe aldığından mikro hizmet sağlayıcısının çevrimdışı bildirimini zamanında alamaz. Sonuç olarak genellikle sağlayıcı örneğini hizmet kayıt defterinden deregistre etmeniz ve tüketici önbelleğinin yenilenmesini beklemeniz gerekir. Bu sorunu çözmek için SAE, Microservices Engine (MSE) graceful shutdown özelliğiyle entegre olur ve bu süreci bir ürün yeteneğine dönüştürür.
Production ortamında otomatik esnek ölçeklendirme, geri alma veya yükseltme gibi özellikler kısa süreli hizmet kesintilerine veya çok sayıda iş izleme hatasına neden olabilir. Bu sorunları çözmek için SAE, mikro hizmetler için graceful başlatmayı destekler. Bir tüketici, bir mikro hizmet sağlayıcısı hizmet kayıt defterine kaydedildiği anda sağlayıcıyı çağırabilir. Ancak bu noktada sağlayıcının veritabanı bağlantı havuzunu başlatmak gibi ek başlatmalara ihtiyacı olabilir. Yoğun trafikli mikro hizmet uygulamaları için graceful başlatmayı etkinleştirin. Ayrıntılar için bkz. Graceful başlatma ve kapatmayı yapılandırın.
Kısıtlama ve degradasyon
Bir uygulama mikro hizmet veya monolitik mimari kullansa da ani trafik artışlarıyla (örneğin flaş satışlarda) karşılaştığında aniden çökebilir ve bir mikro hizmet uygulaması zincirleme arızaya da neden olabilir. Bu yüksek trafikli senaryolar için SAE, Microservices Engine (MSE) trafik koruma yeteneğiyle entegre olur; bu sayede Java uygulamaları için kısıtlama ve degradasyon kurallarını kolayca yapılandırıp yönetebilir ve uygulama kullanılabilirliğini güvence altına alabilirsiniz. Ayrıntılar için bkz. Trafik koruma.
Sorun giderme
Bir uygulama çalışmadığında veya erişilemediğinde aşağıdaki giriş noktalarını kullanın.
Örneklerin ve hizmetlerin normal çalışıp çalışmadığını kontrol edin — Sağlık kontrollerini yapılandırın ve olağan dışı durumlarda sorunları bulmak için sonuçları görüntüleyin. Ayrıntılar için bkz. Graceful başlatma ve kapatma.
Uygulama çıktısını kontrol edin — Real-time Logs sayfasındaki en son standart çıktı girişlerini görüntüleyin veya SLS konsolunda toplanan günlükleri arayın. Ayrıntılar için bkz. Günlükler.
Ağ bağlantısını kontrol edin — Güvenlik grubunun ve hedef hizmetin izin listesinin trafiğe izin verdiğini onaylayın. Daha fazla sorun giderme adımı için bkz. SSS.
Bir Java mikro hizmet kayıt defterini veya yapılandırma merkezini kontrol edin — nacos-client sürümünü doğrulayın, yerleşik yapılandırma merkezinin (ACM) veya MSE yapılandırma merkezinin yapılandırmasını doğrulayın ve ad alanı adlarının tutarlı olduğundan emin olun.
Sonraki adımlar
Uygulamanız çalıştıktan sonra hedefinize uygun yolla devam edin:
Yayın sürecini ve erişim kontrolünü güçlendirin: bkz. Bir uygulama dağıtın.
Gözlemlenebilirlik ekleyin: bkz. Günlükler ve İzleme ve uyarılar.
Production sınıfı kullanılabilirlik için hazırlanın: bkz. Yüksek kullanılabilirlik.
-
Bir test ortamının maliyetini kontrol edin: artık ihtiyaç duymadığınız örnekleri serbest bırakmak için Zamanlanmış başlatma ve durdurma veya Manuel ölçeklendirme kullanın.
Çeşitli iş gereksinimleri için SAE, ilgili en iyi uygulamaları sağlar. Bu konuda ele alınan esneklik, ağ, depolama ve Alibaba Cloud veritabanı erişimi konularına ek olarak en iyi uygulamalar görüntüler, uygulama hızlandırma ve JVM parametre yapılandırmasını da kapsar. Daha yaygın senaryolar için bkz. En iyi uygulamalar.