Hızlı Başlangıç: Azure Service Fabric'te Java Spring Boot uygulaması dağıtma
Bu hızlı başlangıçta, Linux veya macOS'ta tanıdık komut satırı araçlarını kullanarak Azure Service Fabric'e bir Java Spring Boot uygulaması dağıtacaksınız. Azure Service Fabric; mikro hizmetleri ve kapsayıcıları dağıtmayı ve yönetmeyi sağlayan bir dağıtılmış sistemler platformudur.
Önkoşullar
Örneği indirme
Bir terminal penceresinde aşağıdaki komutu çalıştırarak Spring Boot Kullanmaya Başlama örnek uygulamasını yerel makinenize kopyalayın.
git clone https://github.com/spring-guides/gs-spring-boot.git
Spring Boot uygulamasını derleme
gs-spring-boot/complete dizininde aşağıdaki komutu çalıştırarak uygulamayı oluşturun
./gradlew build
Spring Boot uygulamasını paketleme
Kopyanızdaki gs-spring-boot dizininde komutunu çalıştırın
yo azuresfguest
.Her istem için aşağıdaki ayrıntıları girin.
SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/code klasöründe entryPoint.sh adlı bir dosya oluşturun. aşağıdaki kodu entryPoint.sh dosyasına ekleyin.
#!/bin/bash BASEDIR=$(dirname $0) cd $BASEDIR java -jar *spring-boot*.jar
Gs-spring-boot/SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/ServiceManifest.xml dosyasına Uç Noktalar kaynağını ekleyin
<Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources>
ServiceManifest.xml şimdi şu şekilde görünür:
<?xml version="1.0" encoding="utf-8"?> <ServiceManifest Name="SpringGettingStartedPkg" Version="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" > <ServiceTypes> <StatelessServiceType ServiceTypeName="SpringGettingStartedType" UseImplicitHost="true"> </StatelessServiceType> </ServiceTypes> <CodePackage Name="code" Version="1.0.0"> <EntryPoint> <ExeHost> <Program>entryPoint.sh</Program> <Arguments></Arguments> <WorkingFolder>CodePackage</WorkingFolder> </ExeHost> </EntryPoint> </CodePackage> <Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources> </ServiceManifest>
Bu aşamada, Spring Boot Kullanmaya Başlama örneği için Service Fabric’e dağıtabileceğiniz bir Service Fabric uygulaması oluşturdunuz.
Uygulamayı yerel olarak çalıştırma
Aşağıdaki komutu çalıştırarak Ubuntu makinelerinde yerel kümenizi başlatın:
sudo /opt/microsoft/sdk/servicefabric/common/clustersetup/devclustersetup.sh
Mac kullanıyorsanız Docker görüntüsünden yerel kümeyi başlatın (burada Mac için yerel kümenizi ayarlama önkoşullarına uyduğunuz varsayılır).
docker run --name sftestcluster -d -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 -p 8080:8080 mysfcluster
Yerel kümenin başlatılması biraz zaman alabilir. Kümenin sorunsuz çalıştığından emin olmak için,
http://localhost:19080
adresinden Service Fabric Explorer’a erişin. Sorunsuz beş düğüm, yerel kümenin çalıştığını belirtir.gs-spring-boot/SpringServiceFabric klasörünü açın.
Yerel kümenize bağlanmak için aşağıdaki komutu çalıştırın.
sfctl cluster select --endpoint http://localhost:19080
install.sh betiğini çalıştırın.
./install.sh
Sık kullandığınız web tarayıcısını açın ve
http://localhost:8080
adresine giderek uygulamaya erişin.
Bir Service Fabric kümesine dağıtılmış Spring Boot uygulamasına artık erişebilirsiniz.
Daha fazla bilgi için Spring web sitesindeki Spring Boot Kullanmaya Başlama örneğine bakın.
Bir kümedeki uygulamaları ve hizmetleri ölçeklendirme
Hizmet yükündeki bir değişikliği karşılamak için kümedeki hizmetler kolayca ölçeklendirilebilir. Kümede çalıştırılan örnek sayısını değiştirerek bir hizmeti ölçeklendirebilirsiniz. Hizmetlerinizi ölçeklendirmenin birçok yolu vardır; örneğin, Service Fabric CLI’den (sfctl) betikler veya komutlar kullanabilirsiniz. Aşağıdaki adımlarda Service Fabric Explorer kullanılmaktadır.
Service Fabric Explorer tüm Service Fabric kümelerinde çalıştırılır ve tarayıcıdan kümelerin HTTP yönetim bağlantı noktasına (19080) göz atılarak (örneğin, http://localhost:19080
) erişilebilir.
Web ön uç hizmetini ölçeklendirmek için aşağıdakileri yapın:
Kümenizde Service Fabric Explorer'ı açın. Örneğin:
http://localhost:19080
.Ağaç görünümünde doku:/SpringServiceFabric/SpringGettingStarted düğümünü yanındaki üç noktayı (...) seçin ve Hizmeti Ölçeklendir'i seçin.
Şimdi hizmetin örnek sayısını ölçeklendirebilirsiniz.
Sayıyı 3 olarak değiştirin ve Hizmeti Ölçeklendir'i seçin.
Komut satırını kullanarak hizmeti ölçeklendirmenin alternatif bir yolu aşağıda verilmiştir.
# Connect to your local cluster sfctl cluster select --endpoint https://<ConnectionIPOrURL>:19080 --pem <path_to_certificate> --no-verify # Run Bash command to scale instance count for your service sfctl service update --service-id 'SpringServiceFabric~SpringGettingStarted' --instance-count 3 --stateless
Ağaç görünümünde doku:/SpringServiceFabric/SpringGettingStarted düğümünü seçin ve bölüm düğümünü genişletin (GUID ile gösterilir).
Hizmette üç örnek bulunur ve ağaç görünümünde örneklerin çalıştığı düğümler gösterilir.
Bu basit yönetim görevi sayesinde ön uç hizmetinin kullanıcı yükünü işlemek için kullanabileceği kaynakları iki katına çıkarmış oldunuz. Bir hizmetin güvenilir bir şekilde çalışması için birden fazla örneğe ihtiyaç duymadığınızı anlamanız önemlidir. Bir hizmet başarısız olursa Service Fabric, kümede yeni bir hizmet örneği çalışmasını sağlar.
Bir kümedeki hizmetlerin yükünü devretme
Hizmet yük devretmesini göstermek için Service Fabric Explorer'ı kullanarak bir düğümü yeniden başlatma işleminin benzetimi yapılmıştır. Hizmetinizin yalnızca bir örneğinin çalıştığından emin olun.
Kümenizde Service Fabric Explorer'ı açın. Örneğin:
http://localhost:19080
.Hizmetinizin örneğini çalıştıran düğümün yanındaki üç noktayı (...) seçin ve düğümü yeniden başlatın.
Hizmetinizin örneği bu durumda farklı bir düğüme taşınmıştır ve uygulamanızda kesinti yaşanmaz.
Sonraki adımlar
Bu hızlı başlangıçta şunları öğrendiniz:
- Service Fabric’e Spring Boot uygulaması dağıtma
- Uygulamayı yerel kümenize dağıtma
- Uygulamanın ölçeğini birden çok düğüm arasında genişletme
- Kullanılabilirliği etkilemeden hizmetinizin yük devretmesini gerçekleştirme
Service Fabric’te Java uygulamalarıyla çalışma hakkında daha fazla bilgi için Java uygulamaları öğreticisiyle devam edin.