Sistema de Práctica Integrada 1ª Operación

Sistema de Práctica Integrada 1ª Operación

Encuesta del curso

No he preguntado sobre esta clase antes que mis mayores antes, así que fue totalmente subjetiva.

A juzgar por el tema del curso, creo que debería ser más similar a la práctica de la industria blanda y un curso práctico más completo, pero el enfoque puede ser diferente. La práctica de ingeniería de software es principalmente software, y el enfoque de la práctica integral de este sistema debe estar en el sistema. Pero la palabra "sistema" también tiene varias interpretaciones: por ejemplo, representa un sistema operativo, que es un curso práctico integral para estudiar sistemas operativos de computadora, o un sistema es un adjetivo, que representa un curso práctico "sistemático, integral". Para ayudarnos a llevar a cabo una aplicación práctica más completa de lo que hemos aprendido en los últimos tres años.

Entendiendo los microservicios

1. ¿Qué es un microservicio?

El concepto de microservicios fue propuesto por primera vez por Martin Fowler y James Lewis en 2014. Definieron los microservicios como un pequeño servicio compuesto por una sola aplicación, con su propio proceso y procesamiento liviano. El servicio está diseñado de acuerdo con las funciones comerciales. Implemente automáticamente y comuníquese con otros servicios utilizando la API HTTP. Al mismo tiempo, el servicio utilizará la tecnología de administración centralizada más pequeña (como Docker), los servicios pueden usar diferentes lenguajes de programación y bases de datos.

2. Características de los microservicios.

  • Puede ser lanzado para servicios específicos, con poco impacto, bajo riesgo y bajo costo.
  • Puede lanzar versiones con frecuencia, satisfacer rápidamente las necesidades
  • Expansión de bajo costo, expansión elástica, adaptarse al entorno de la nube

3. Las ventajas y desventajas de los microservicios.

  • Ventajas de microservicios
    • Los microservicios están acoplados libremente, ya sean independientes en la fase de desarrollo o implementación.
    • Puede responder rápidamente y es fácil de modificar localmente. Un problema con un servicio no afectará a toda la aplicación.
    • Es fácil de integrar con sistemas de aplicaciones de terceros, admite el desarrollo en diferentes idiomas y le permite aprovechar la última tecnología de fusión.
    • Cada microservicio es pequeño, lo suficientemente coherente, lo suficientemente pequeño, y el código es fácil de entender. El equipo puede prestar más atención a los resultados de su trabajo y centrarse en funciones comerciales específicas o requisitos comerciales.
    • El desarrollo es simple y se mejora la eficiencia del desarrollo. Un servicio puede estar dedicado a una sola cosa y puede ser desarrollado por separado por un pequeño equipo. Este pequeño equipo puede estar compuesto por 2 a 5 desarrolladores.
  • Desventajas de la arquitectura de microservicios
    • La arquitectura de microservicios trae demasiadas operaciones de operación y mantenimiento, lo que puede requerir que el equipo tenga ciertas habilidades de DevOps.
    • Los sistemas distribuidos pueden ser complejos y difíciles de administrar. Porque el problema del seguimiento de la implementación distribuida es difícil. A medida que aumenta el número de servicios, aumenta la complejidad de la gestión.

4. El despliegue de microservicios

  • Instancia multiservicio basada en host
    • En este modo, los desarrolladores de software pueden proporcionar máquinas físicas o virtuales únicas o múltiples, mientras ejecutan múltiples instancias de servicio en cada host.
  • Instancia de servicio basada en host
    • Dichos microservicios se pueden implementar para ejecutar cada instancia individualmente en el host correspondiente.
  • Instancia de servicio basada en contenedor (Docker)
    • En este modo de implementación, cada instancia de servicio se ejecuta en su propio contenedor, por lo que también se denomina mecanismo de virtualización a nivel de sistema operativo.

Aprenda la tecnología Docker

1. Introducción a Docker

  • Docker es un motor contenedor de aplicaciones de código abierto que permite a los desarrolladores empaquetar sus aplicaciones y paquetes dependientes en una imagen portátil, y luego publicarlo en cualquier máquina popular de Linux o Windows. También se puede virtualizar. El contenedor está utilizando completamente el mecanismo de sandbox, no habrá interfaz entre sí.
  • Imagen (Imagen): la imagen Docker (Imagen) es equivalente a un sistema de archivos raíz. Por ejemplo, la imagen oficial ubuntu: 16.04 contiene un conjunto completo de sistema de archivos raíz del sistema mínimo de Ubuntu16.04.
  • Contenedor (Contenedor): la relación entre la imagen (Imagen) y el contenedor (Contenedor), al igual que las clases y los objetos en la programación orientada a objetos, la imagen es una definición estática, el contenedor es la entidad del tiempo de ejecución de la imagen. Los contenedores se pueden crear, iniciar, detener, eliminar, suspender, etc.
  • Almacén (Repositorio): El almacén puede considerarse como un centro de control de código para almacenar imágenes.
  • Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker de contenedores múltiples. Con Compose, puede usar archivos YML para configurar todos los servicios que su aplicación necesita. Luego, con un solo comando, puede crear e iniciar todos los servicios desde la configuración del archivo YML.
  • Dockerfile es un archivo de texto utilizado para crear una imagen, que contiene una serie de instrucciones e instrucciones necesarias para crear una imagen.
  • Docker Machine es una herramienta que puede instalar Docker en un host virtual y puede usar el comando docker-machine para administrar el host.
  • Docker Swarm es la herramienta de gestión de clústeres de Docker. Convierte el grupo de hosts de Docker en un único host virtual de Docker. Docker Swarm proporciona una API estándar de Docker, y cualquier herramienta que ya se haya comunicado con el demonio Docker se puede usar: Swarm se escala fácilmente a varios hosts.
  • Kubernetes (k8s) es el sistema de gestión de clúster de contenedores de código abierto de Google. Basado en la tecnología Docker, proporciona una serie de funciones completas como implementación y operación, programación de recursos, descubrimiento de servicios y escalado dinámico para aplicaciones en contenedores, lo que mejora la conveniencia de la administración de clústeres de contenedores a gran escala.

2. Instalación y uso simple del entorno Docker

Supongo que te gusta

Origin www.cnblogs.com/phd1999/p/12723438.html
Recomendado
Clasificación