Creación de la primera aplicación de Azure Service Fabric
Service Fabric ofrece SDK para compilar servicios en Linux tanto en .NET Core como Java. En este tutorial, veremos cómo crear una aplicación para Linux y cómo compilar un servicio con C# en .NET Core 2.0.
Prerrequisitos
Antes de empezar, asegúrese de configurar el entorno de desarrollo Linux. Si usa macOS X, puede configurar un entorno one-box de Linux en una máquina virtual mediante Vagrant.
También debe instalar la CLI de Service Fabric
Instalación y configuración de los generadores para C#
Service Fabric proporciona herramientas de scaffolding que le ayudarán a crear aplicaciones de Service Fabric desde el terminal mediante el generador de plantillas Yeoman. Siga estos pasos para configurar los generadores de plantillas de Service Fabric Yeoman para C#:
Instalación de nodejs y NPM en la máquina
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Instalación del generador de plantillas Yeoman en la máquina desde NPM
npm install -g yo
Instalación del generador de aplicaciones Yeoman C# de Service Fabric desde NPM
npm install -g generator-azuresfcsharp
Creación de la aplicación
Una aplicación de Service Fabric puede contener uno o varios servicios, cada uno de ellos con un rol específico en la prestación de la funcionalidad de la aplicación. El generador Yeoman de Service Fabric para C# que instaló en el último paso permite crear fácilmente el primer servicio y agregar más posteriormente. Vamos a usar Yeoman para crear una aplicación con un único servicio.
En un terminal, escriba el comando siguiente para comenzar a crear el scaffolding:
yo azuresfcsharp
Asigne un nombre a la aplicación.
Elija el tipo del primer servicio y asígnele un nombre. En este tutorial, elegiremos un servicio de actor confiable.
Nota:
Para más información acerca de las opciones, consulte Información general del modelo de programación de Service Fabric.
Compilar la aplicación
Las plantillas de Yeoman de Service Fabric incluyen un script de compilación que puede usar para crear la aplicación desde el terminal (después de ir a la carpeta de la aplicación).
cd myapp
./build.sh
Implementación de la aplicación
Una vez compilada la aplicación, se puede implementar en el clúster local.
Conéctese al clúster de Service Fabric local.
sfctl cluster select --endpoint http://localhost:19080
Ejecute el script de instalación proporcionado en la plantilla para copiar el paquete de aplicación en el almacén de imágenes del clúster, registrar el tipo de aplicación y crear una instancia de la aplicación.
./install.sh
La aplicación compilada se implementa de la misma forma que cualquier otra aplicación de Service Fabric. Consulte la documentación sobre la Administración de una aplicación de Service Fabric con la CLI de Service Fabric para obtener instrucciones detalladas.
Los parámetros de estos comandos se pueden encontrar en los manifiestos generados dentro del paquete de aplicación.
Una vez que se implemente la aplicación, abra un explorador y vaya a Service Fabric Explorer en http://localhost:19080/Explorer
. Luego, expanda el nodo Applications y observe que ahora hay una entrada para su tipo de aplicación y otra para la primera instancia de dicho tipo.
Importante
Para implementar la aplicación en un clúster de Linux seguro en Azure, debe configurar un certificado para validar la aplicación con el sistema de tiempo de ejecución de Service Fabric. Esto permite a los servicios de Reliable Services comunicarse con las API en tiempo de ejecución subyacentes de Service Fabric. Para obtener más información, consulte Configure a Reliable Services app to run on Linux clusters (Configurar una aplicación de Reliable Services para ejecutarla en clústeres Linux).
Inicio del cliente de prueba y ejecución de una conmutación por error
Los proyectos de actor no hacen nada por sí solos. Necesitan que otro servicio o cliente les envíe mensajes. La plantilla de actor incluye un sencillo script de prueba que puede usar para interactuar con el servicio de actor.
Ejecute el script con la utilidad de inspección para ver la salida del servicio de actor.
En el caso de MAC OS X, debe copiar la carpeta myactorsvcTestClient en la misma ubicación dentro del contenedor; para ello, ejecute los siguientes comandos adicionales.
docker cp [first-four-digits-of-container-ID]:/home docker exec -it [first-four-digits-of-container-ID] /bin/bash cd /home
cd myactorsvcTestClient watch -n 1 ./testclient.sh
En Service Fabric Explorer, busque el nodo que hospeda la réplica principal del servicio de actor. En la captura de pantalla siguiente, es el nodo 3.
Haga clic en el nodo que encontró en el paso anterior y seleccione Desactivar (reiniciar) en el menú Acciones. Esta acción reiniciará un nodo del clúster local y forzará una conmutación por error a una réplica secundaria que se ejecuta en otro nodo. Al realizar esta acción, preste atención a la salida del cliente de prueba y tenga en cuenta que el contador sigue incrementándose a pesar de la conmutación por error.
Incorporación de más servicios a una aplicación existente
Para agregar otro servicio a una aplicación ya creada mediante yo
, realice los pasos siguientes:
- Cambie el directorio al directorio raíz de la aplicación existente. Por ejemplo,
cd ~/YeomanSamples/MyApplication
, siMyApplication
es la aplicación creada por Yeoman. - Ejecute
yo azuresfcsharp:AddService
: