Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 15665|Respuesta: 3

Herramientas de divulgación científica para arquitecturas a gran escala

[Copiar enlace]
Publicado en 14/5/2018 13:32:51 | | | |

I.1 Java Spring Boot

Es adecuado para construir sistemas de microservicios

  • Usar la página Bootstrap de Spring Project puede construir un proyecto en segundos
  • Es conveniente exportar diversas formas de servicios, como REST API, WebSocket, Web, Streaming y Tareas
  • Integración muy concisa de políticas de seguridad
  • Se admiten bases de datos relacionales y no relacionales
  • Soporte para contenedores incrustados durante la ejecución, como Tomcat y Jetty
  • Potente paquete de desarrollo con soporte para arranque en caliente
  • Gestionar automáticamente las dependencias
  • Monitorización de aplicaciones integrada
  • Soporta varios IEDs, como IntelliJ IDEA y NetBeans

Otros lenguajes: .net core, Go, etc


I.2 Jenkins

Procedimientos automatizados de CI para integración continua

  • Código abierto y gratuito
  • Multiplataforma, soporte para todas las plataformas (instalé en Ubuntu 14.04, usando la imagen docker de Jenkins no funcionó)
  • Master/slave soporta compilaciones distribuidas
  • Una página de gestión visual en forma de web
  • La instalación y configuración son facilísimas
  • consejos: Ayuda rápida y oportuna
  • Cientos de plugins que ya existen



I.3 GitLab

  • Un repositorio de proyectos Git autoalojado que puede accederse a través de una interfaz web para instalaciones públicas o privadas de proyectos.
  • Tiene una funcionalidad similar a GitHub, con la capacidad de navegar por el código fuente, gestionar errores y comentarios. Es posible gestionar el acceso del equipo al repositorio, es muy fácil navegar por las versiones enviadas y proporciona una biblioteca de historial de archivos.
  • Los miembros del equipo pueden comunicarse usando el programa de chat simple integrado (Wall). También ofrece una función de recopilación de fragmentos de código que permite una fácil reutilización del código y fácil de encontrar más adelante cuando sea necesario.
  • Dokcer
  • Docker es un motor de código abierto que facilita la creación de un contenedor ligero, portátil y autosuficiente para cualquier aplicación. Los contenedores que los desarrolladores compilan y prueban en portátiles pueden desplegarse en lotes en entornos de producción, incluyendo máquinas virtuales (VMs), bare metal, clústeres OpenStack y otras plataformas de aplicaciones subyacentes.
  • Docker se usa comúnmente en los siguientes escenarios:
  • empaquetado y publicación automatizado de aplicaciones web;
  • pruebas automatizadas e integración continua, lanzamiento;
  • Desplegar y ajustar bases de datos u otras aplicaciones en segundo plano en un entorno orientado a servicios;
  • Construye tu propio entorno PaaS compilando o ampliando desde cero tu plataforma OpenShift o Cloud Foundry existente.



I.4 Kubernetes

  • Kubernetes es un sistema de gestión de clústeres de contenedores y una plataforma de código abierto que puede realizar funciones como el despliegue automatizado, el escalado automático y el mantenimiento de clústeres de contenedores.
  • Con Kubernetes puedes:
  • Despliega aplicaciones rápidamente
  • Escala tus aplicaciones rápidamente
  • Integra sin problemas con nuevas funciones de aplicación
  • Ahorrar recursos y optimizar el uso de los recursos de hardware



I.5 MQ

Cuando factores como la velocidad o estabilidad de la "producción" y el "consumo" son inconsistentes en el sistema, se necesitan colas de mensajes como una capa de abstracción para salvar las diferencias entre ambos lados. Un mensaje es una unidad de datos que se transmite entre dos ordenadores. Los mensajes pueden ser muy simples, como contener solo cadenas de texto; También puede ser más complejo y puede contener objetos incrustados. Los mensajes se envían a colas, que son contenedores que almacenan mensajes durante la transmisión.

  • Desacoplado
  • Redundancia
  • Escalabilidad
  • Flexibilidad y rendimiento máximo
  • Recuperabilidad
  • Entrega garantizada
  • Clasificación garantizada
  • Almacenamiento en búfer
  • Comprender los flujos de datos
  • Comunicación asíncrona


I.6 SQL DB

  • Una base de datos es un almacén construido sobre dispositivos de almacenamiento informático que organiza, almacena y gestiona datos según una estructura de datos.
  • En pocas palabras, puede considerarse un archivador electrónico: un lugar donde se almacenan archivos electrónicos y donde los usuarios pueden añadir, interceptar, actualizar, eliminar y otras operaciones sobre los datos del archivo.
  • En el trabajo diario de la gestión económica, a menudo es necesario incluir algunos datos relevantes en un "almacén" así y procesarlos según las necesidades de la dirección.


MySQL/PostgreSQL es un representante de las bases de datos relacionales tradicionales.

HBase es un representante de la tecnología Big Tables (indexación de filas, almacenamiento de columnas).

Neo4j(http://www.neo4j.org/) es un representante de base de datos de grafos utilizado para almacenar datos complejos y multidimensionales de estructura de grafos.

Redis es un representante NoSQL basado en Clave-Valor, y existe Redis-to-go para proporcionar servicios de almacenamiento.

MongoDB/CouchDB es un representante NoSQL basado en Document, y Couchbase es una fusión de la tecnología Document/Clave-Valor.

VoltDB es un representante de NewSQL, con consistencia de datos y buena escalabilidad, y su rendimiento es decenas de veces superior al de MySQL.

TiDB es una base de datos SQL distribuida desarrollada por el equipo nacional de PingCAP. Inspirado por la F1 y la llave inglesa de Google de Google, TiDB soporta funciones que incluyen RDBMS tradicionales y NoSQL.

Pila de TICK I.7

InfluxDB

Herramientas de bases de datos de series temporales.

Telegraf

es una herramienta de recopilación y almacenamiento de datos. Proporciona muchos plugins de entrada y salida, como recoger CPU local, carga, tráfico de red, etc., y luego escribirlos en InfluxDB o Kafka.

Chronograf

Herramientas de dibujo

Kapacitor

Kapacitor es una herramienta de alarma de InfluxData, que lee datos de InfluxDB y configura TickScript según el tipo DLS para alertar.

I.8 Mantenimiento

Keepalive es un software de servicio en gestión de clústeres que garantiza una alta disponibilidad de clúster, similar a heartbeat, para evitar puntos de fallo únicos.

keepalilived se basa en el protocolo VRRP, que significa Virtual Router Redundancy Protocol, es decir, el protocolo de redundancia de enrutamiento virtual.

Protocolo de redundancia de rutas virtuales, que puede considerarse un protocolo para lograr una alta disponibilidad de routers, es decir, N routers que proporcionan las mismas funciones forman un grupo de routers, este grupo tiene un maestro y múltiples copias de seguridad, y hay un VIP en el maestro que proporciona servicios al mundo exterior (la ruta predeterminada de otras máquinas en la LAN donde se encuentra el router es el VIP), el maestro enviará un multicast, y cuando la copia de seguridad no puede recibir el paquete VRRP, se considera que el maestro está caído. En este momento, necesitas elegir una copia de seguridad como maestro según la prioridad del VRRP. Esto garantizará una alta disponibilidad del router.

Keepalived tiene tres módulos principales: Core, Check y VRRP. El módulo central es el núcleo de keepalived, que es responsable de iniciar y mantener el proceso principal, así como de cargar y analizar archivos de configuración globales. El control es responsable de los chequeos de salud, incluyendo varios métodos comunes de examen. El módulo VRRP está diseñado para implementar el protocolo VRRP


Puerto I.9

Harbor es un servidor de registro de nivel empresarial para almacenar y distribuir imágenes Docker.

I.10 Ignite / Redis

El Apache Ignite In-Memory Data Organization Framework es una plataforma de computación en memoria y transaccional integrada y distribuida de alto rendimiento para el procesamiento de conjuntos de datos a gran escala con un rendimiento superior al de las tecnologías tradicionales basadas en disco o flash, además de proporcionar una gestión distribuida de alta rendimiento y de organización de datos en memoria entre aplicaciones y diferentes fuentes de datos.


número de serieComparar proyectosApache IgniteRedis
1JCache (JSR 107)Ignite es totalmente compatible con la especificación de caché JCache (JSR107)No soportado
2Transacciones ACIDIgnite soporta completamente las transacciones ACID, incluyendo modelos de concurrencia optimistas y pesimistas, así como niveles de aislamiento READ_COMMITTED, REPEATABLE_READ y SERIALIZABLE.Redis ofrece soporte limitado para transacciones optimistas del lado del cliente, que requieren que el cliente intente manualmente la transacción en caso de actualizaciones concurrentes.
3Partición de datosIgnite soporta caché particionada, similar a un hash distribuido, donde cada nodo del clúster almacena una parte de los datos, y Ignite reequilibra automáticamente los datos en caso de un cambio de topología.Redis no proporciona particionamiento, pero sí proporciona fragmentación de réplicas, que es muy rígida de usar y requiere una serie de pasos manuales bastante complejos cada vez que cambia la topología, tanto cliente como servidor.
4Copia completaIgnite soporta replicación en caché, soportada por cada par clave-valor para cada nodo del clúster.Redis no ofrece soporte directo para la replicación completa.
5Objeto nativoIgnite permite a los usuarios usar su propio modelo de objeto de dominio y proporciona soporte nativo para cualquier tipo de dato (objeto) Java/Scala, C++ y .NET/C#, permitiendo a los usuarios almacenar fácilmente cualquier programa y objeto de dominio en la caché de Ignite.Redis no permite a los usuarios usar tipos de datos personalizados, solo soporta colecciones predefinidas de estructuras de datos básicas, como Set, List, Array y algunas otras.
6Caché del lado del cliente (cerca)Ignite ofrece soporte directo para la caché en el lado del cliente de datos recientemente accedidos.No soportado
7 (lado del servidor) yuxtaposiciónIgnite soporta la ejecución directa de cualquier código Java, C++ y .NET/C# de forma colateral, cercana a los datos del lado del servidor.Redis normalmente no tiene capacidades de colocación, y el lado del servidor básicamente solo soporta lenguaje de scripting LUA, mientras que el lado del servidor no soporta directamente la ejecución de código Java, .NET o C++.
8Consultas SQLIgnite soporta sintaxis SQL completa (ANSI-99) para consultar datos en memoria.Redis no soporta ningún lenguaje de consulta, solo la API de caché del lado del cliente.
9Investigación continuaIgnite ofrece soporte tanto para consultas persistentes del lado del cliente como del servidor, y los usuarios pueden configurar filtros para el lado del servidor para reducir y disminuir el número de eventos transmitidos al cliente.Redis ofrece soporte para notificaciones de eventos basadas en claves en el lado del cliente, pero no proporciona filtros en el lado del servidor, lo que resulta en un aumento significativo del tráfico de red para actualizar notificaciones tanto en el lado cliente como en el servidor.
10Integración de bases de datosIgnite puede integrar automáticamente bases de datos externas: RDBMS, NoSQL y HDFS.Redis no puede integrarse con bases de datos externas.



I.11 ELK

ELK consta de tres componentes: Elasticsearch, Logstash y Kibana;

Elasticsearch es un motor de búsqueda distribuido de código abierto que cuenta con distribución sin configuración, autodescubrimiento, auto-fragmentación de índice, mecanismo de réplica de índice, interfaz de estilo restful, múltiples fuentes de datos y carga útil de búsqueda automática.

Logstash es una herramienta completamente de código abierto que recopila, analiza y almacena tus registros para su uso posterior

Kibana es una herramienta de código abierto y gratuita que ofrece a Logstash y ElasticSearch una interfaz web amigable para la analítica de logs que puede ayudarte a agregar, analizar y buscar en registros de datos importantes.



I.12 Kong(Nginx)

Kong es un proyecto API altamente disponible y fácil de extender, escrito sobre módulos Nginx_Lua y es de código abierto por Mashape. Dado que Kong está basado en Nginx, puede escalar varios servidores Kong horizontalmente y distribuir las solicitudes de manera uniforme a cada servidor mediante una configuración de carga frontal para gestionar un gran número de solicitudes de red.

Kong tiene tres componentes principales:

KongServer: Un servidor basado en nginx que recibe solicitudes de API.

ApacheCassandra/PostgreSQL: Se usa para almacenar datos operativos.

Kongdashboard: Herramienta de gestión de interfaces oficialmente recomendada, por supuesto, también puedes usar restfull para gestionar adminapi.

Kong utiliza un mecanismo de plugins para la personalización funcional, donde se ejecuta un conjunto de plugins (que pueden ser 0 o n) durante el ciclo de vida del bucle de respuesta a peticiones de la API. El plugin está escrito en Lua y actualmente tiene varias funciones básicas: autenticación básica HTTP, autenticación de claves, CORS (Cross-originResourceSharing), TCP, UDP, registro de archivos, reducción de solicitudes API, reenvío de solicitudes y monitorización nginx.



I.13 Openstack

OpenStack+KVM

OpenStack: Proyecto de gestión de código abierto

OpenStack es un proyecto de código abierto que tiene como objetivo proporcionar software para la construcción y gestión de nubes públicas y privadas. No es un software, sino una combinación de varios componentes principales para realizar un trabajo específico. OpenStack está compuesto por los siguientes cinco componentes relativamente independientes:

OpenStackCompute (Nova) es un conjunto de controladores utilizados para la computación de máquinas virtuales o para lanzar instancias de máquinas virtuales usando grupos;

OpenStack Image Service (Glance) es un sistema de búsqueda y recuperación de imágenes de máquinas virtuales que realiza la gestión de imágenes de máquinas virtuales.

OpenStack Object Storage (Swift) es un sistema de almacenamiento basado en objetos para sistemas a gran escala con redundancia y tolerancia a fallos integradas, similar a Amazon S3.

OpenStackKeystone para servicios de identidad de usuario y gestión de recursos, así como

OpenStackHorizon, una interfaz de panel basada en Django, es una interfaz de gestión gráfica.

Desarrollado originalmente por la NASA y Rackspace a finales de 2010, este proyecto de código abierto pretende crear una plataforma de computación en la nube fácil de desplegar, rica en funciones y escalable. La primera tarea del proyecto OpenStack es simplificar el proceso de despliegue de la nube y aportar buena escalabilidad, en un intento de convertirse en el sistema operativo del centro de datos, es decir, el sistema operativo en la nube.

KVM: Tecnología de virtualización abierta

KVM (VirtualMachine basada en el núcleo) es un módulo de virtualización de sistemas de código abierto que requiere soporte de hardware, como la tecnología IntelVT o la tecnología AMDV, que está completamente virtualizado en base a hardware y está totalmente integrado en Linux.

En 2008, Red Hat adquirió Qumranet para adquirir tecnología KVM y promocionarla como parte de su estrategia de virtualización, apoyando a KVM como único hipervisor cuando se lanzó RHEL 6 en 2011. KVM se centra en alto rendimiento, escalabilidad, alta seguridad y bajo coste.



I.14 Desconfúgio

Centrándonos en varios "componentes comunes" y "plataformas comunes" de "gestión de configuración de sistemas distribuidos", ofrecemos servicios unificados de "gestión de configuración".

I.15 Apolo

Apollo es una plataforma de gestión de configuración desarrollada por el departamento de marcos de Ctrip, que puede gestionar centralmente la configuración de diferentes entornos y clústeres de aplicaciones, y puede ser trasladada al lado de la aplicación en tiempo real tras la modificación de configuración, además de tener permisos, gobernanza de procesos y otras características estandarizadas.

El servidor está desarrollado basándose en SpringBoot y SpringCloud, y puede ejecutarse directamente después de empaquetar sin instalar contenedores de aplicación adicionales como Tomcat.


I.16 gRPC

gRPC es un marco RPC de alto rendimiento, de código abierto y versátil para diseños móviles y HTTP/2. Actualmente, existen versiones en lenguajes C, Java y Go, a saber: grpc, grpc-java y grpc-go. La versión en C soporta C, C++, Node.js, Python, Ruby, Objective-C, PHP y C#.

gRPC está diseñado basándose en el estándar HTTP/2, incorporando características como flujo bidireccional, control de flujo, compresión de cabeza y solicitudes de multiplexación en una única conexión TCP. Estas características hacen que funcione mejor en dispositivos móviles, ahorrando energía y espacio.



I.17 Canal

canal es un proyecto de código abierto bajo Alibaba, puramente de desarrollo en Java. Basado en el análisis incremental de registros de bases de datos, proporciona suscripción y consumo incremental de datos, y actualmente soporta principalmente MySQL (también soporta mariaDB).

Servicios basados en suscripción incremental de registro y soporte de consumo:

  • Espejo de bases de datos
  • Copia de seguridad de bases de datos en tiempo real
  • Indexación multinivel (índices separados de vendedores y compradores)
  • searchbuild
  • Actualización de la caché de servicio
  • Noticias importantes de negocios, como cambios de precios



I.18 Sparkstreaming

SparkStreaming es una extensión de la API central de Spark que permite un procesamiento de alto rendimiento y tolerante a fallos de datos en streaming en tiempo real. Soporte para la adquisición de datos de diversas fuentes, incluyendo Kafk, Flume, Twitter, ZeroMQ, Kinesis y TCPsockets, y tras obtener datos de fuentes, algoritmos complejos pueden procesarse usando funciones avanzadas como mapear, reducir, unir y ventana.


I.19 SonarQube

Sonar es una plataforma de código abierto para la gestión de la calidad del código para gestionar la calidad del código fuente y detectar la calidad del código desde siete dimensiones

A través de plugins, puede soportar la gestión y detección de calidad de código en más de 20 lenguajes de programación, incluyendo java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy, etc

I.20 DataX

DataX es una herramienta de sincronización offline para fuentes de datos heterogéneas, dedicada a lograr una sincronización de datos estable y eficiente entre diversas fuentes de datos heterogéneas, incluyendo bases de datos relacionales (MySQL, Oracle, etc.), HDFS, Hive, ODPS, HBase, FTP y más.

I.21 Gestión Zen/Jira

Función zen
1) Gestión de producto: productos, requisitos, planes, lanzamientos, hojas de ruta y otras funciones.
2) Gestión de proyectos: proyectos, tareas, equipos, compilaciones, gráficos de burndown y otras funciones.
3) Gestión de la calidad: errores, casos de prueba, tareas de prueba, resultados de pruebas y otras funciones.
4) Gestión documental: biblioteca de documentos de producto, biblioteca de documentos de proyecto, biblioteca de documentos personalizada y otras funciones.
5) Gestión de transacciones: gestión de tareas y funciones de gestión de asuntos personales como Mis Tareas, Mis Errores, Mis Necesidades y Mis Proyectos.
6) Organización y gestión: departamentos, usuarios, grupos, permisos y otras funciones.
7) Función estadística: tabla estadística rica.
8) Función de búsqueda: Encontrar los datos correspondientes mediante búsqueda.


Características de JIRA
1) Seguimiento y gestión de problemas (los tipos de problemas incluyen NewFeature, Bug, Task y Improvement);
2) Informe de análisis del seguimiento del problema;
3) Función de gestión de categorías de proyectos;
4) función líder de componente/módulo;
5) Función de dirección de correo electrónico del proyecto;
6) Flujos de trabajo ilimitados.



I.22 XXJOB

XXL-JOB es un marco de planificación de tareas distribuido y ligero cuyos objetivos de diseño son desarrollo rápido, aprendizaje sencillo, ligero y fácil de escalar.

  • Sencillo: Soporta la operación CRUD en tareas a través de páginas web, operación sencilla, un minuto para empezar;
  • Dinámico: Soporta la modificación dinámica del estado de la tarea, pausa/reanudación de tareas y la finalización de tareas en ejecución, que entran en vigor de forma inmediata.
  • Centro de Despacho HA (centralizado): La programación está diseñada de forma centralizada, y el "Centro de Despacho" se basa en el clúster Quartz y soporta el despliegue del clúster, lo que puede garantizar la HA del centro de despacho.
  • Ejecutor HA (distribuido): Las tareas se ejecutan de manera distribuida, y el "ejecutor" de tareas soporta el despliegue en clúster para asegurar la ejecución de las tareas en HA.
  • Registro: El Ejecutor registrará automáticamente las tareas periódicamente, y el Centro de Despacho descubrirá automáticamente las tareas registradas y activará su ejecución. Al mismo tiempo, también soporta la introducción manual de direcciones de actuadores;
  • Escalado elástico: Una vez que una nueva máquina ejecutora se conecta o se desconecta, la tarea se reasignará durante la siguiente planificación.
  • Estrategias de enrutamiento: Proporciona estrategias de enrutamiento enriquecidas al desplegar un clúster de ejecutores, incluyendo: primero, último, sondeo, HASH aleatorio, consistente, menos usado, más recientemente no utilizado, conmutación por error, transferencia ocupada, etc.
  • Conmutación por fallo: Si se selecciona la conmutación por error para la política de enrutamiento de tareas, si una máquina del clúster de ejecutores falla, el sistema cambia automáticamente a un ejecutor normal para enviar una solicitud de planificación.
  • estrategia de gestión de fallos; Las políticas de gestión para programar fallos incluyen: alarma de fallo (por defecto), reintento de fallo;
  • Reintento fallido: Cuando el programa del centro de despacho falla y la política de Reintento fallido está activada, el sistema lo intenta automáticamente una vez. Si el albacea no ejecuta y la callback no intenta de nuevo el estado, también se intentará automáticamente.
  • Estrategia de procesamiento bloqueante: la estrategia de procesamiento cuando la planificación es demasiado densa para que el ejecutor la procese, incluyendo serie de una sola máquina (por defecto), descartar la planificación posterior y sobrescribir la programación anterior;
  • Tarea de difusión de fragmentos: Cuando se despliega el clúster ejecutor, si la política de enrutamiento de tareas se selecciona como "Difusión de fragmentos", una programación de tareas emitirá para activar a todos los ejecutores del clúster para ejecutar una tarea, y la tarea de sharding puede desarrollarse según los parámetros de sharding.
  • Fragmentación dinámica: La tarea de difusión fragmentada se fragmenta según la dimensión del ejecutor y soporta la expansión dinámica del clúster del ejecutor para aumentar dinámicamente el número de fragmentos y colaborar en el procesamiento empresarial. Al realizar operaciones empresariales de gran volumen de datos, puede mejorar significativamente la capacidad y velocidad de procesamiento de tareas.
  • Disparo de eventos: Además del método cron y el modo dependiente de la tarea para activar la ejecución de la tarea, se soportan métodos de disparo basados en eventos. El centro de despacho proporciona servicios API que activan una única ejecución de tareas, que puede activarse de forma flexible según los eventos empresariales.
  • Seguimiento del progreso de la tarea: Apoyo al seguimiento en tiempo real del progreso de la tarea;
  • Registro en tiempo real en continuidad: permite ver los resultados de programación en línea y permite ver la salida completa del registro de ejecución del ejecutor en tiempo real de forma continua.
  • GLUE: Proporciona un WebIDE que soporta el desarrollo en línea de código lógico de tareas, liberación dinámica, compilación y efectividad en tiempo real, y elimina el proceso de despliegue y lanzamiento. Soporta 30 versiones de la versión histórica al revés.
  • Tareas de scripts: Soporte para desarrollar y ejecutar tareas de script en modo GLUE, incluyendo Shell, Python, NodeJS y otros scripts.
  • Dependencias de tareas: Permite configurar dependencias de subtareas; cuando la tarea principal se ejecuta y la ejecución es exitosa, la ejecución de la subtarea se activa activamente y varias subtareas se separan por comas.
  • Consistencia: El Centro de Planificación garantiza la consistencia de la planificación distribuida en clúster mediante bloqueos de base de datos, y solo una programación de tareas desencadenar una ejecución.
  • Parámetros personalizados de tareas: Soporte para la configuración en línea de parámetros de programación de tareas, que entran en vigor inmediatamente;
  • Pool de hilos de planificación: El sistema de planificación activa la operación de planificación con múltiples hilos para asegurar que la planificación se ejecute con precisión y no se bloquee.
  • Cifrado de datos: La comunicación entre el centro de despacho y el albacea se cifra para mejorar la seguridad de la información de despacho.
  • Alarma de correo: Soporte para la alarma de correo electrónico cuando una tarea falla, y soporte para configurar varias direcciones de correo electrónico para enviar correos de alarma en masa.
  • Repositorio central de Push Maven: La última versión estable se enviará al repositorio central de Maven para facilitar el acceso y uso de los usuarios.
  • Informe de ejecución: Permite la visualización en tiempo real de datos en ejecución, como el número de tareas, el número de programaciones, el número de ejecutores, etc. y informes de planificación, como la tabla de distribución de fechas de programación, mapa de distribución de éxitos de programación, etc.;
  • Totalmente asincrónico: La capa inferior del sistema realiza el asíncrono completo, y el recorte de picos de tráfico se realiza para una planificación densa, que teóricamente soporta la operación de tareas de cualquier duración.



I.23 Pila de sal

Una nueva forma de gestión de infraestructuras, fácil de desplegar, que puede funcionar en minutos, buena escalabilidad, fácil de gestionar decenas de miles de servidores, y lo suficientemente rápida, comunicación entre servidores en segundos.

La capa subyacente de sal adopta un bus de conexión dinámico que puede usarse para orquestación, ejecución remota, gestión de configuración, etc.

I.24 Istio

Como proyecto innovador para la gestión de la capa de agregación de servicios de microservicios, Istio es el primer proyecto conjunto de código abierto de Google, IBM y Lyft (una empresa extranjera de viajes compartidos y rival de Uber), proporcionando una solución unificada, seguridad, gestión y monitorización de microservicios.

La primera beta es actualmente para entornos Kubernetes, y la comunidad afirma que en los próximos meses se añadirá soporte para máquinas virtuales y otros entornos como CloudFoundry. Istio añade la gestión del tráfico a los microservicios y crea una base para funciones de valor añadido como la seguridad, la monitorización, el enrutamiento, la gestión de conexiones y las políticas.

  • balanceo automático de carga para tráfico de red HTTP, gRPC y TCP;
  • Proporciona reglas de enrutamiento completas para lograr un control detallado del comportamiento del tráfico de red.
  • cifrado de tráfico, autenticación entre servicios y reclamaciones de identidad fuerte;
  • Aplicación de políticas a nivel de flota;
  • Telemetría y reportes profundos.



Arquitectura




Seguridad



Básico

Salt Stack + OpenStack + KVM + Kubernetes + Istio





Anterior:Compartición de datos de IA
Próximo:Explicación detallada de la Tupla de C# VS ValueTuple
Publicado en 17/7/2019 13:41:46 |
Gracias por compartir, por aprender...
Publicado en 27/11/2019 10:56:12 |
La cantidad de conocimiento es un poco grande
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com