Hızlı Başlangıç: Mikro hizmet uygulamalarını Azure Spring Apps'e dağıtma
Makale
Not
Temel, Standart ve Kurumsal planları, 3 yıllık kullanımdan kaldırma süresiyle Mart 2025 ortasından itibaren kullanımdan kaldırılacaktır. Azure Container Apps'e geçiş yapmanızı öneririz. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Pet Clinic örneği mikro hizmet mimarisi desenini gösterir. Aşağıdaki diyagramda, Azure Spring Apps Enterprise planındaki PetClinic uygulamasının mimarisi gösterilmektedir.
Diyagramda Pet Clinic örneğinin aşağıdaki mimari akışları ve ilişkileri gösterilmektedir:
Ön uç ve arka uç uygulamalarını yönetmek için Azure Spring Apps'i kullanır. Arka uç uygulamaları Spring Boot ile oluşturulur ve her uygulama kalıcı depo olarak HSQLDB kullanır. Yeniden uygulanan ön uç uygulaması, tek başına bir ön uç web uygulaması olarak hizmet veren Node.js ile Pet Clinic API Gateway Uygulaması'nı kullanır.
Azure Spring Apps'te Service Registry, Application Configuration Service, Spring Cloud Gateway ve Application Live View gibi yönetilen bileşenleri kullanır. Uygulama Yapılandırma Hizmeti Git deposu yapılandırmasını okur.
İsteği arka uç hizmet uygulamalarına yönlendirmek için Spring Cloud Gateway'in URL'sini ve arka uç uygulamalarını izlemek için Application Live View'un URL'sini kullanıma sunar.
Log Analytics çalışma alanını kullanarak günlükleri analiz eder.
Application Insights ile performansı izler.
Not
Bu makalede PetClinic'in basitleştirilmiş bir sürümü, Azure Spring Apps'e hızla dağıtılacak üretime hazır olmayan bellek içi bir veritabanı kullanılır.
Tanzu Geliştirici Araçları, bir risk noktası olan Application Live View için genel erişimi kullanıma sunar. Üretim ortamının erişimin güvenliğini sağlaması gerekir. Daha fazla bilgi için Azure Spring Apps Kurumsal planında Tanzu Geliştirme Araçlarını Yapılandırma'nın Geliştirme Araçları Portalını Yapılandırma bölümüne bakın.
Pet Clinic örneği mikro hizmet mimarisi desenini gösterir. Aşağıdaki diyagramda, Azure Spring Apps Standart planındaki PetClinic uygulamasının mimarisi gösterilmektedir.
Diyagramda Pet Clinic örneğinin aşağıdaki mimari akışları ve ilişkileri gösterilmektedir:
Spring Boot uygulamalarını yönetmek için Azure Spring Apps'i kullanır. Her uygulama kalıcı depo olarak HSQLDB kullanır.
Azure Spring Apps'te Spring Cloud Config Server ve Eureka Service Registry yönetilen bileşenlerini kullanır. Yapılandırma Sunucusu Git deposu yapılandırmasını okur.
Hizmet uygulamalarına yönelik isteklerin yükünü dengelemek için API Gateway'in URL'sini ve uygulamaları yönetmek için Yönetici Sunucusunun URL'sini kullanıma sunar.
Log Analytics çalışma alanını kullanarak günlükleri analiz eder.
Application Insights ile performansı izler.
Not
Bu makalede PetClinic'in basitleştirilmiş bir sürümü, Azure Spring Apps'e hızla dağıtılacak üretime hazır olmayan bellek içi bir veritabanı kullanılır.
Dağıtılan uygulama admin-server , bir risk noktası olan genel erişimi kullanıma sunar. Üretim ortamının Spring Boot Yönetici uygulamasının güvenliğini sağlaması gerekir.
Bu makalede Azure Spring Apps'e dağıtmak için aşağıdaki seçenekler sağlanır:
Azure portalı seçeneği, tek tıklamayla kaynak oluşturmanın ve uygulamaları dağıtmanın en kolay ve en hızlı yoludur. Bu seçenek, Uygulamaları Azure bulut hizmetlerine hızla dağıtmak isteyen Spring geliştiricileri için uygundur.
Azure portalı + Maven eklentisi seçeneği, kaynakları oluşturmanın ve uygulamaları adım adım dağıtmanın daha geleneksel bir yoludur. Bu seçenek, Azure bulut hizmetlerini ilk kez kullanan Spring geliştiricileri için uygundur.
Azure CLI seçeneği, Azure kaynaklarını yönetmek için güçlü bir komut satırı aracı kullanır. Bu seçenek, Azure bulut hizmetlerini bilen Spring geliştiricileri için uygundur.
Azure portalı + Maven eklentisi seçeneği, kaynakları oluşturmanın ve uygulamaları adım adım dağıtmanın daha geleneksel bir yoludur. Bu seçenek, Azure bulut hizmetlerini ilk kez kullanan Spring geliştiricileri için uygundur.
Azure Geliştirici CLI seçeneği, kaynakları otomatik olarak oluşturmanın ve uygulamaları basit komutlar aracılığıyla dağıtmanın daha verimli bir yoludur. Azure Geliştirici CLI'sı, gerekli Azure kaynaklarını sağlamak ve uygulama kodunu dağıtmak için bir şablon kullanır. Bu seçenek, Azure bulut hizmetlerini bilen Spring geliştiricileri için uygundur.
Aşağıdaki listede komut etkileşimi açıklanmaktadır:
Yeni bir ortam adı girin: Tüm Azure kaynaklarını barındırmak için oluşturulan kaynak grubunun son eki olarak kullanılan bir ortam adı girin. Bu ad, Azure aboneliğinizde benzersiz olmalıdır.
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Bulut ortamını hazırlama
Bu bölümde Azure Spring Apps hizmet örneğinin nasıl oluşturulacağı ve Azure bulut ortamının nasıl hazırlandığı açıklanır.
Azure portalına gidin, kimlik bilgilerinizi girin ve portalda oturum açın. Varsayılan görünüm hizmet panonuzu içerir.
3.2. Azure Spring Apps örneği oluşturma
Hizmet örneğini oluşturmak için aşağıdaki adımları kullanın:
Azure portalının köşesinde kaynak oluştur'u seçin.
Azure Hizmetleri sekmesinde İşlem>Azure Spring Apps'i seçin.
Azure Spring Apps Oluştur sayfasında, Temel Bilgiler sekmesindeki formu doldurun.
Formu tamamlamak için kılavuz olarak aşağıdaki tabloyu kullanın. Önerilen Plan Standarttır.
Ayar
Önerilen değer
Açıklama
Abonelik
Abonelik adınız.
Sunucunuz için kullanmak istediğiniz Azure aboneliği. Birden çok aboneliğiniz varsa kaynak için faturalandırılacak aboneliği seçin.
Kaynak grubu
myresourcegroup
Yeni bir kaynak grubu adı veya aboneliğinizde var olan bir kaynak grubu.
Ad
myasa
Azure Spring Apps örneğinizi tanımlayan benzersiz bir ad. Ad 4 ile 32 karakter uzunluğunda olmalıdır ve yalnızca küçük harf, sayı ve kısa çizgi içerebilir. Hizmet adının ilk karakteri bir harf, son karakter ise harf veya sayı olmalıdır.
Plan
Standart
Fiyatlandırma planı, örneğinizle ilişkili kaynakları ve maliyeti belirler.
Bölge
Kullanıcılarınıza en yakın bölge.
Kullanıcılarınız için en yakın olan konum.
Alanlar Arası Yedekli
Seçili değil
Azure Spring Apps hizmetinizi bir Azure kullanılabilirlik alanında oluşturur. Şu anda tüm bölgelerde desteklenmiyor.
Azure Spring Apps Oluştur sayfasındaki Tanılama ayarları sekmesine gidin ve yeni bir Log Analytics çalışma alanı örneği oluşturmak için Yeni oluştur'u seçin. Yeni Log Analytics çalışma alanı oluştur sayfasında Log Analytics çalışma alanının adını gerektiği gibi güncelleştirin ve ardından oluşturmayı onaylamak için Tamam'ı seçin.
Azure Spring Apps Oluştur sayfasındaki Application Insights sekmesine gidin ve yeni bir Application Insights örneği oluşturmak için Yeni oluştur'u seçin. Yeni Application Insights kaynağı oluştur sayfasında, Application Insights adını gerektiği gibi güncelleştirin, Kaynak modu için Çalışma Alanı tabanlı'yı seçin ve ardından oluşturma işlemini onaylamak için Tamam'ı seçin.
Seçimlerinizi gözden geçirmek için Gözden Geçir ve Oluştur'u seçin. Ardından Oluştur'u seçerek Azure Spring Apps örneğini sağlayın.
Dağıtım işlemini izlemek için Bildirimler simgesini (zil) seçin. Dağıtım tamamlandıktan sonra Azure portalı panonuzda hizmetin Genel Bakış sayfasına kısayol oluşturmak için Panoya sabitle'yi seçebilirsiniz.
Azure Spring Apps'e Genel Bakış sayfasına gitmek için Kaynağa git'i seçin.
Doğrulamadan sonra, Yapılandırma Sunucusu yapılandırmasını tamamlamak için Uygula'yı seçin.
Gerekli kaynakları oluşturmak için aşağıdaki adımları kullanın:
OAuth2 ile Azure'da oturum açmak için aşağıdaki komutu kullanın. Zaten oturum açtıysanız bu adımı yoksayın.
azd auth login
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
Logged in to Azure.
Uygulamanızın dağıtılabilir bir kopyasını paketlemek, şablonun altyapısını Azure'a sağlamak ve ardından uygulama kodunu yeni sağlanan kaynaklara dağıtmak için aşağıdaki komutu kullanın:
azd provision
Aşağıdaki listede komut etkileşimleri açıklanmaktadır:
Kullanılacak azure aboneliğini seçin: Taşımak için okları kullanın, filtrelemek için yazın ve Enter tuşuna basın.
Kullanılacak azure konumunu seçin: Taşımak için okları kullanın, filtrelemek için yazın ve Enter tuşuna basın.
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Not
Bu komutun tamamlanması biraz zaman alabilir. Azure kaynaklarını sağlarken size bir ilerleme göstergesi gösterilir.
4. Uygulamaları Azure Spring Apps'e dağıtma
Artık uygulamayı Azure Spring Apps'e dağıtabilirsiniz.
Aşağıdaki listede komut etkileşimleri açıklanmaktadır:
Yapılandıracak alt modülleri seçin(virgülle ayrılmış giriş numaraları, örneğin: [1-2,4,6], TÜMÜNÜ seçmek için ENTER): Tümünü seçmek için Enter tuşuna basın.
OAuth2 oturum açma: OAuth2 protokolüne göre Azure'da oturum açmayı yetkilendirilin.
Aboneliği seçin: Oluşturduğunuz Azure Spring Apps örneğinin abonelik listesi numarasını seçin ve varsayılan olarak listedeki ilk aboneliği seçin. Varsayılan sayıyı kullanıyorsanız doğrudan Enter tuşuna basın.
Dağıtım için Azure Spring Apps'i seçin: Oluşturduğunuz Azure Spring Apps örneğinin liste numarasını seçin. Varsayılan sayıyı kullanıyorsanız doğrudan Enter tuşuna basın.
Genel erişimi kullanıma açmak için uygulamaları seçin:(virgülle ayrılmış giriş numaraları, örneğin: [1-2,4,6], YOK'u seçmek için ENTER): ve api-gatewayiçin admin-server 1,5 girin.
Yukarıdaki tüm yapılandırmaları (Y/n) kaydetmeyi onaylayın: y tuşuna basın. n tuşuna basarsanız yapılandırma POM dosyalarına kaydedilmez.
Her uygulamayı derlemek ve dağıtmak için aşağıdaki komutu kullanın:
./mvnw azure-spring-apps:deploy
OAuth2 oturum açma istemi için OAuth2 protokolüne göre Azure'da oturum açmayı yetkilendirilin.
Not
Azure Spring Apps'e dağıtım 25 dakika kadar sürebilir.
Komut çalıştırıldıktan sonra günlük, tüm dağıtımların başarılı olduğunu gösteren aşağıdaki örneğe benzer bir çıktı görüntüler:
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
Uygulamayı paketlemek, web uygulamasının gerektirdiği Azure kaynaklarını sağlamak ve ardından Azure Spring Apps'e dağıtmak için aşağıdaki adımları kullanın:
Uygulamanızın dağıtılabilir bir kopyasını paketlemek için aşağıdaki komutu kullanın:
azd package
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Uygulama kodunu yeni sağlanan kaynaklara dağıtmak için aşağıdaki komutu kullanın:
azd deploy
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Not
Önceki üç komutu birleştirmek için de kullanabilirsiniz azd up : azd package (uygulamanızın dağıtılabilir bir kopyasını paketler), azd provision (Azure kaynaklarını sağlar) ve azd deploy (uygulama kodunu dağıtır). Daha fazla bilgi için bkz . Azure-Samples/spring-petclinic-microservices.
Sonraki bölümdeki Azure'a Dağıt düğmesi, Spring PetClinic deposundan kaynak kodu dağıtan bir Azure portalı deneyimi başlatır. Yerel hazırlık adımları gerekli değildir.
Uygulamayı buluta dağıtmadan önce doğrulamak istediğinizde yerel makinenizde aşağıdaki adımları kullanın:
Müşteriler, Vets, Ziyaretler ve Spring Cloud Gateway hizmetleri için yeni bir Bash penceresi açın ve hizmetleri başlatmak için aşağıdaki komutları kullanın:
Yeni bir Bash penceresi açın ve proje spring-petclinic-frontend dizinine gidin. Bağımlılıkları yüklemek ve ön uç uygulamasını çalıştırmak için aşağıdaki komutları kullanın:
npm install
npm run start
Betik başarıyla tamamlandıktan sonra, PetClinic uygulamasına erişmek için tarayıcınızda adresine gidin http://localhost:8080 .
Uygulamayı buluta dağıtmadan önce doğrulamak istediğinizde yerel makinenizde aşağıdaki adımları kullanın:
Müşteriler, Vets, Ziyaretler ve Spring Cloud Gateway hizmetleri için yeni bir Bash penceresi açın ve hizmetleri başlatmak için aşağıdaki komutları kullanın:
Yeni bir Bash penceresi açın ve proje spring-petclinic-frontend dizinine gidin. Bağımlılıkları yüklemek ve ön uç uygulamasını çalıştırmak için aşağıdaki komutları kullanın:
npm install
npm run start
Betik başarıyla tamamlandıktan sonra, PetClinic uygulamasına erişmek için tarayıcınızda adresine gidin http://localhost:8080 .
3. Bulut ortamını hazırlama
Bu örneği çalıştırmak için ihtiyacınız olan ana kaynak bir Azure Spring Apps örneğidir. Bu bölümde bu kaynağın nasıl oluşturulacağı açıklanmaktadır.
Bu bölümde, Azure portalında bir dağıtım deneyimi başlatmak için Azure'a Dağıt düğmesi kullanılır. Bu deneyim, Azure kaynakları oluşturmak için bir ARM şablonu kullanır.
3.1. Azure portalda oturum açma
Azure portalına gidin, kimlik bilgilerinizi girin ve portalda oturum açın. Varsayılan görünüm hizmet panonuzu içerir.
3.2. Azure kaynakları oluşturma
Uygulamanın bağımlı olduğu tüm Azure kaynaklarını oluşturmak için aşağıdaki adımları kullanın:
Azure portalında dağıtım deneyimini başlatmak için aşağıdaki Azure'a dağıt düğmesini seçin:
Temel Bilgiler sekmesinde formu doldurun. Formu tamamlamak için kılavuz olarak aşağıdaki tabloyu kullanın:
Ayar
Önerilen değer
Açıklama
Abonelik
Abonelik adınız.
Sunucunuz için kullanmak istediğiniz Azure aboneliği. Birden çok aboneliğiniz varsa kaynak için faturalandırılacak aboneliği seçin.
Kaynak grubu
myresourcegroup
Yeni bir kaynak grubu adı veya aboneliğinizde var olan bir kaynak grubu.
Bölge
Kullanıcılarınıza en yakın bölge.
Bölge, kaynak grubunu oluşturmak için kullanılır.
Seçimlerinizi gözden geçirmek için Gözden Geçir ve Oluştur'u seçin. Ardından Oluştur'u seçerek uygulamayı Azure Spring Apps'e dağıtın.
Araç çubuğunda, dağıtım sürecini izlemek için Bildirimler simgesini (zil) seçin. Dağıtım tamamlandıktan sonra Panoya sabitle'yi seçerek Azure portalı panonuzda hizmetin Genel Bakış sayfasının kısayolu olarak bu hizmet için bir kutucuk oluşturabilirsiniz. Hizmetin Genel Bakış sayfasını açmak için Kaynağa git'i seçin.
3.1. Azure portalda oturum açma
Azure portalına gidin ve portalda oturum açmak için kimlik bilgilerinizi girin. Varsayılan görünüm hizmet panonuzu içerir.
3.2. Azure Spring Apps örneği oluşturma
Hizmet örneğini oluşturmak için aşağıdaki adımları kullanın:
Azure portalının köşesinde kaynak oluştur'u seçin.
İşlem>Azure Spring Apps'i seçin.
Temel Bilgiler sekmesinde formu doldurun. Formu tamamlamak için kılavuz olarak aşağıdaki tabloyu kullanın:
Ayar
Önerilen değer
Açıklama
Abonelik
Abonelik adınız.
Sunucunuz için kullanmak istediğiniz Azure aboneliği. Birden çok aboneliğiniz varsa kaynak için faturalandırılacak aboneliği seçin.
Kaynak grubu
myresourcegroup
Yeni bir kaynak grubu adı veya aboneliğinizde var olan bir kaynak grubu.
Ad
myasa
Azure Spring Apps hizmetinizi tanımlayan benzersiz bir ad. Ad 4 ile 32 karakter uzunluğunda olmalıdır ve yalnızca küçük harf, sayı ve kısa çizgi içerebilir. Hizmet adının ilk karakteri bir harf, son karakter ise harf veya sayı olmalıdır.
Bölge
Kullanıcılarınıza en yakın bölge.
Kullanıcılarınız için en yakın olan konum.
Barındırma seçenekleri ve planları
Kurumsal
Örneğinizle ilişkili kaynağı ve maliyeti belirleyen fiyatlandırma planı.
Alanlar Arası Yedekli
Seçili değil
Azure Spring Apps hizmetinizi bir Azure kullanılabilirlik alanında oluşturma seçeneği. Bu özellik şu anda tüm bölgelerde desteklenmiyor.
Yazılım IP Planı
Kullandıkça öde
Azure Spring Apps ile kullandıkça ödeme yapmanızı sağlayan fiyatlandırma planı.
Örnek projeyi dağıtma
Seçili değil
Yerleşik örnek uygulamayı kullanma seçeneği.
Azure Spring Apps Oluştur sayfasındaki Tanılama ayarları sekmesine gidin ve yeni bir Log Analytics çalışma alanı örneği oluşturmak için Yeni oluştur'u seçin. Yeni Log Analytics çalışma alanı oluştur sayfasında Log Analytics çalışma alanının adını gerektiği gibi güncelleştirin ve ardından oluşturmayı onaylamak için Tamam'ı seçin.
Azure Spring Apps Oluştur sayfasındaki Application Insights sekmesine gidin ve yeni bir Application Insights örneği oluşturmak için Yeni oluştur'u seçin. Yeni Application Insights kaynağı oluştur sayfasında, Application Insights adını gerektiği gibi güncelleştirin, Kaynak modu için Çalışma Alanı tabanlı'yı seçin ve ardından oluşturma işlemini onaylamak için Tamam'ı seçin.
Seçimlerinizi gözden geçirmek için Gözden Geçir ve Oluştur'u seçin. Ardından Oluştur'u seçerek Azure Spring Apps örneğini sağlayın.
Dağıtım işlemini izlemek için Bildirimler simgesini (zil) seçin. Dağıtım tamamlandıktan sonra Azure portalı panonuzda hizmetin Genel Bakış sayfasına kısayol oluşturmak için Panoya sabitle'yi seçebilirsiniz.
Azure Spring Apps'e Genel Bakış sayfasına gitmek için Kaynağa git'i seçin.
3.3. Azure Spring Apps örneğini yapılandırma
Aşağıdaki bölümlerde hizmet örneğinin nasıl yapılandırılır gösterilmektedir.
Uygulamaları oluşturma
Uygulamaları oluşturmak için aşağıdaki adımları kullanın:
Gezinti bölmesinde Uygulamalar'ı ve ardından Uygulama Oluştur'u seçin.
Uygulama Oluştur sayfasında, Uygulama adı için ön ucu kullanın ve diğer tüm alanları varsayılan değerleriyle bırakın.
Aşağıdaki uygulama adlarının her birini kullanarak önceki adımı yineleyin:
customers-service
vets-service
visits-service
Uygulama oluşturmayı tamamlamak için Oluştur'u seçin.
Hizmet Kayıt Defteri'ni yapılandırma
Service Registry'yi yapılandırmak için aşağıdaki adımları kullanın:
Gezinti bölmesinden Hizmet Kayıt Defteri'ni seçin.
Uygulama bağlama'yı seçin, Uygulamayı bağla'yı seçin, listeden öğesini customers-service seçin ve ardından Uygula'yı seçin.
Aşağıdaki uygulamaları bağlamak için önceki adımı yineleyin:
vets-service
visits-service
Uygulama Yapılandırma Hizmetini Yapılandırma
Uygulama Yapılandırma Hizmeti'ni yapılandırmak için aşağıdaki adımları kullanın:
Gezinti bölmesinde Uygulama Yapılandırma Hizmeti'ni ve ardından Ayarlar'ı seçin.
Depoyu aşağıdaki bilgilerle doldurun ve doğrula'yı seçin:
Doğrulamadan sonra, Uygulama Yapılandırma Hizmeti yapılandırmasını tamamlamak için Uygula'yı seçin.
Uygulama bağlama'yı seçin, Uygulamayı bağla'yı seçin, listeden öğesini customers-service seçin ve ardından Uygula'yı seçin.
Aşağıdaki uygulamaları bağlamak için önceki adımı yineleyin:
vets-service
visits-service
Uygulamalar için yapılandırma dosyası desenlerini ayarlama
Yapılandırma dosyası desenlerini ayarlamak için aşağıdaki adımları kullanın:
Gezinti bölmesinde Uygulamalar'ı ve ardından uygulamayı seçincustomers-service.
Uygulamaya genel bakış sayfasında Yapılandırma'yı seçin, Genel ayarlar sekmesinde Yapılandırma dosyası desenleri'ni ve ardından uygulama ve customers-service'yi seçin. Yapılandırma dosyası desenlerini ayarlamak için Kaydet'i seçin.
Aşağıdaki uygulamalar için yapılandırma dosyası desenlerini kaydetmek için önceki adımı yineleyin:
vets-service: uygulama ve vets-serviceöğesini seçin.
visits-service: uygulama ve visits-serviceöğesini seçin.
Spring Cloud Gateway'i yapılandırma
Bu bölümde Spring Cloud Gateway'i nasıl yapılandırabileceğiniz gösterilmektedir.
İlk olarak, ağ geçidi erişimi için bir uç nokta atamak üzere aşağıdaki adımları kullanın:
Gezinti bölmesinde Spring Cloud Gateway'i seçin.
Genel Bakış sekmesinde, bir uç nokta atamak için Evet'i seçin. Daha sonra kullanmak için uç nokta URL'sini kaydedin.
Ardından Spring Cloud Gateway için yönlendirmeyi yapılandırın. Azure portalı şu anda Spring Cloud Gateway için yol yapılandırmasını desteklemediğinden bir Bash penceresi açın ve yönlendirmeyi yapılandırmak için aşağıdaki Azure CLI adımlarını kullanın:
Azure CLI'da oturum açmak için aşağıdaki komutu kullanın:
az login
Azure CLI için Azure Spring Apps uzantısını yüklemek ve ad alanını Microsoft.SaaSkaydetmek için aşağıdaki komutları kullanın:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Yasal koşulları ve gizlilik bildirimlerini kabul etmek için aşağıdaki komutu kullanın:
Not
Bu adım yalnızca aboneliğiniz Azure Spring Apps'in Kurumsal plan örneğini oluşturmak için hiç kullanılmamışsa gereklidir.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Aşağıdaki komutları kullanarak kaynak adlarını tutmak için değişkenler oluşturun. Yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın.
Azure Spring Apps örneğine yönelik uygulamalar oluşturmak için aşağıdaki komutları kullanın:
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Service Registry için uygulamaları bağlamak için aşağıdaki komutları kullanın:
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Uygulama Yapılandırma Hizmeti için bir yapılandırma deposu oluşturmak için aşağıdaki komutu kullanın:
Uygulamaları Uygulama Yapılandırma Hizmeti'ne bağlamak için aşağıdaki komutları kullanın:
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Spring Cloud Gateway'e bir uç nokta atamak için aşağıdaki komutu kullanın:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Uygulama için yönlendirmeyi ayarlamak için customers-service aşağıdaki komutu kullanın:
Aşağıdaki listede komut etkileşimleri açıklanmaktadır:
Yapılandırılan alt modülleri seçin: Tümünü seçmek için Enter tuşuna basın.
Aboneliği seçin: Oluşturduğunuz Azure Spring Apps örneğinin abonelik listesi numarasını seçin ve varsayılan olarak listedeki ilk aboneliği seçin. Varsayılan sayıyı kullanıyorsanız doğrudan Enter tuşuna basın.
Azure'da mevcut Azure Spring Apps'i kullanma: Mevcut Azure Spring Apps örneğini kullanmak için y tuşuna basın.
Genel erişimi kullanıma açmak için uygulamaları seçin: Yok seçeneğini seçmek için Enter tuşuna basın.
Yukarıdaki tüm yapılandırmaları kaydetmek için onaylayın: y tuşuna basın. n tuşuna basarsanız yapılandırma POM dosyalarına kaydedilmez.
Arka uç uygulamalarını dağıtmak için aşağıdaki komutu kullanın:
./mvnw azure-spring-apps:deploy
Komut çalıştırıldıktan sonra, aşağıdaki günlük iletilerinden dağıtımın başarılı olduğunu görebilirsiniz:
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Azure portalı ön uç uygulamalarını dağıtmayı desteklemediğinden, ön uç uygulamasını dağıtmak için aşağıdaki Azure CLI komutunu kullanın:
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
Komut çalıştırıldıktan sonra, aşağıdaki günlük iletilerinden dağıtımın başarılı olduğunu görebilirsiniz:
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Uygulamaları dağıtmak için aşağıdaki adımları kullanın:
Proje kök dizinini girin ve ön uç uygulamasını derlemek ve dağıtmak için aşağıdaki komutu kullanın:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Uygulamayı derlemek ve dağıtmak customers-service için aşağıdaki komutu kullanın:
Dağıtım tamamlandıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi dağıtım çıkışlarından Spring Cloud Gateway URL'sini bulabilirsiniz:
Ağ geçidi URL'sini açın. Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:
5.2. Uygulama günlüklerini sorgulama
Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:
5.3. Uygulamaları izleme
Application Insights, aşağıdaki uygulama izleme eşlemesinde gösterildiği gibi uygulama bağımlılıklarını izler:
Uygulama Canlı Görünümü URL'sini dağıtım çıkışlarından bulabilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi uygulama çalışma zamanlarını izlemek için Uygulama Canlı Görünümü URL'sini açın:
5.1. Uygulamalara erişme
Spring Cloud Gateway'den atanan uç noktayı kullanın; örneğin, https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:
5.2. Uygulama günlüklerini sorgulama
Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:
5.3. Uygulamaları izleme
Application Insights, aşağıdaki uygulama izleme eşlemesinde gösterildiği gibi uygulama bağımlılıklarını izler:
Aşağıdaki ekran görüntüsünde gösterildiği gibi uygulama çalışma zamanlarını izlemek için Geliştirici Araçları tarafından sunulan Uygulama Canlı Görünümü URL'sini açın:
5.1. Uygulamalara erişme
Spring Cloud Gateway URL'sini almak için aşağıdaki komutları kullanın:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:
5.2. Uygulama günlüklerini sorgulama
Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:
5.3. Uygulamaları izleme
Application Insights, aşağıdaki uygulama izleme eşlemesinde gösterildiği gibi uygulama bağımlılıklarını izler:
Uygulama Canlı Görünümü URL'sini almak için aşağıdaki komutları kullanın:
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Aşağıdaki ekran görüntüsünde gösterildiği gibi uygulama çalışma zamanlarını izlemek için Uygulama Canlı Görünümü URL'sini açın:
5.1. Uygulamalara erişme
Dağıtım günlüğü çıkışındaki URL bilgilerini kullanarak adlı api-gateway uygulama tarafından sunulan URL'yi açın. Örneğin, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:
5.2. Uygulama günlüklerini sorgulama
Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:
5.3. Uygulamaları izleme
Application Insights, aşağıdaki uygulama izleme eşlemesinde gösterildiği gibi uygulama bağımlılıklarını izler:
Aşağıdaki ekran görüntüsünde gösterildiği gibi, uygulamaları Spring Boot Yönetici Sunucusu aracılığıyla yönetmek için uygulama admin-server tarafından sunulan URL'yi açın:
6. Kaynakları temizleme
Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Kaynaklara artık ihtiyacınız kalmadığında, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyebilirsiniz.
Yeni oluşturulan hizmet örneği de dahil olmak üzere kaynak grubunun tamamını silmek için aşağıdaki adımları kullanın:
Azure portalında kaynak grubunuzu bulun. Gezinti menüsünde Kaynak grupları'nı ve ardından kaynak grubunuzun adını seçin.
Kaynak grubu sayfasında Sil'i seçin. Silme işlemini onaylamak için metin kutusuna kaynak grubunuzun adını girin ve Sil'i seçin.
Bu örnek uygulamada kullanılan tüm Azure kaynaklarını silmek için aşağıdaki komutu kullanın:
azd down
Aşağıdaki listede komut etkileşimi açıklanmaktadır:
Silinecek toplam kaynak: <resources-total>, devam etmek istediğinizden emin misiniz?: y tuşuna basın.
Konsol, aşağıdaki örneğe benzer iletiler gönderir:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Artık ihtiyacınız kalmadığında bu makalede oluşturduğunuz kaynakları sildiğinizden emin olun. Kaynak grubundaki tüm kaynakları içeren Azure kaynak grubunu silebilirsiniz.