¿Qué es la arquitectura de microservicios? ¿Puedo iniciar sesión en China ahora?
Wiki lo define como: una tecnología de desarrollo de software, una variante del estilo arquitectónico de arquitectura orientada a servicios (SOA), que aboga por dividir una única aplicación en un conjunto de pequeños servicios que coordinarse entre sí para proporcionar el máximo valor a los usuarios. Cada servicio se ejecuta en su propio proceso independiente y los servicios se comunican mediante un mecanismo de comunicación ligero (normalmente una API RESTful basada en HTTP). Cada servicio se basa en un negocio específico y se puede implementar de forma independiente en entornos de producción, entornos de cuasiproducción y más. Además, siempre que sea posible, deben evitarse mecanismos de gestión de servicios unificados y centralizados. Para un servicio específico, se deben elegir el lenguaje y las herramientas apropiados en función del contexto.
¿Cuál es el origen del concepto de microservicios? Consulte la versión en inglés de Wikipedia para repasar brevemente la historia de Weifu:
Por cierto, todas estas personas son famosas y es posible que sus nombres no les resulten familiares, pero creo que saben algo sobre sus obras. . Martin Flower es el autor de "Refactoring" y "The Essence of UML"; Robert Martin, también conocido como Uncle Bob, es un experto ágil y autor de "Code Cleaning and Architecture Cleaning". Dado que los microservicios son una variante de la arquitectura SOA, SOA es un tema insuperable cuando se habla de microservicios.
Velocidad de avance
El nombre completo de SOA es "Arquitectura orientada a servicios" y la traducción al chino es "Arquitectura orientada a servicios". En 1996, Gartner propuso por primera vez el concepto de SOA. Su nacimiento tiene sus antecedentes históricos.
Al mismo tiempo, basándose en estos antecedentes, Gartner propuso el concepto de SOA y también predijo que en 2008, SOA se convertirá en el método de práctica de ingeniería de software más popular y dominante.
Arquitectura SOA Muchas veces pensamos que SOA ha desaparecido, pero no es así. Muchas industrias tradicionales, como las de logística y almacenamiento, utilizan la arquitectura SOA para construir sus sistemas.
En cuanto a SOA, se puede ver en la figura que cada función comercial es un servicio y necesita la capacidad de brindar servicios al mundo exterior para completar todas las funciones comerciales requeridas por la empresa. En otras palabras, tiene la capacidad de brindar servicios al mundo exterior y puede implementarse sin personalización. ¿Por qué no es necesario personalizarlo? El núcleo es ESB.
Después de ver las funciones de ESB, ¿crees que sus funciones te resultan familiares? Así es, es el servicio básico que necesita Weifu.
Arquitectura de microservicio En resumen, el estilo de arquitectura de microservicio es un método para desarrollar una única aplicación en un conjunto de pequeños servicios, cada uno de los cuales se ejecuta en su propio proceso y se comunica a través de un mecanismo liviano (generalmente el recurso HTTP). API). Estos servicios se basan en funciones comerciales y se pueden implementar de forma independiente a través de un mecanismo de implementación totalmente automatizado. Estos servicios requieren una gestión centralizada mínima, pueden escribirse en diferentes lenguajes de programación y utilizar diferentes tecnologías de almacenamiento de datos.
El párrafo anterior es el fragmento central del artículo de Martin Fowler sobre arquitectura de microservicios. Del fragmento anterior, podemos extraer el núcleo de la arquitectura de microservicios desde tres puntos:
Uno son los "pequeños servicios", que dividen la aplicación en un grupo de pequeños servicios;
el el segundo es "ejecutarse en su propio proceso y comunicarse mediante un mecanismo liviano (generalmente API de recursos HTTP)". Los microservicios son procesos independientes que se comunican entre sí a través de mecanismos ligeros.
El tercero es "se puede implementar de forma independiente mediante un mecanismo de implementación totalmente automático", lo que significa que cada microservicio se puede implementar de forma rápida e independiente.
De hecho, esto ha descrito las características básicas de los microservicios de forma muy precisa y precisa. Se puede utilizar como tres referencias y estándares de inspección en la práctica de la arquitectura de microservicios.
Dimensiones comparativas de microservicios y SOA
Microservicios
Velocidad de progreso
Dé un ejemplo
Esencia de la tecnología
Puntos finales inteligentes y canalizaciones tontas
Tuberías inteligentes y puntos finales tontos
Escenarios de aplicación
Industria de Internet
En la industria tradicional industrias o empresas
SOA, microservicios empresariales OA, plataforma de comercio electrónico
Granularidad del servicio
Delgado
Aspero
Comunicación de servicios
Estandarizada, ligera
Importante
SOA, microservicios ESB, HTTP, RCP
Provisión de servicios
Rápido
Lento
Los microservicios tienen servicios pequeños y son fáciles de actualizar; las funciones SOA están centralizadas y son difíciles de actualizar.
La evolución de la arquitectura de las aplicaciones La aplicación inicial era una arquitectura única. La llamada arquitectura única consiste en concentrar una serie de funciones en una gran aplicación. Por ejemplo, en las industrias tradicionales, todo el sistema financiero es generalmente un sistema que integra la gestión de gastos, la gestión contable y la liquidación de salarios. Esta arquitectura tiene limitaciones obvias y no es adecuada para la construcción de grandes proyectos.
Con el desarrollo de la arquitectura de software surgió la arquitectura SOA. SOA divide una arquitectura única en servicios generales y separa algunas funciones públicas para formar un ESB.
Sus ventajas son las siguientes
Sin embargo, debido a que la arquitectura SOA requiere interacción de comunicación unificada (ESB), la carga de trabajo del desarrollo de la interfaz aumenta.
En un mayor desarrollo, la aparición de la arquitectura de microservicios divide aún más los servicios en servicios más detallados y proporciona además una diversidad de opciones arquitectónicas. La principal ventaja de la arquitectura de microservicios es
Precisamente porque los microservicios dividen los servicios en partes más pequeñas, también trae algunos desafíos, como la dificultad de operación y mantenimiento de múltiples servicios, mayores costos de comunicación de servicios y consistencia de los datos. El mantenimiento es más difícil y los requisitos de seguimiento del rendimiento son mayores.
Por lo tanto, a la hora de elegir una arquitectura, la empresa debe considerar muchos aspectos y elegir una arquitectura más adecuada.
Por cierto, la evolución de la arquitectura aquí se refiere al historial de desarrollo de toda la arquitectura. No significa que su servicio deba pasar por este proceso de evolución, sino que más modelos de arquitectura brindan más opciones. Cuando hacemos evolución de la arquitectura, principalmente estamos evolucionando una sola aplicación a una arquitectura SOA o una arquitectura de microservicio.
Los productos de microservicio para pequeñas y medianas empresas brindan servicios integrales de operación y administración estandarizados, como menús de respuesta automática, generación y administración de micrositios, servicios del sistema WeChat CRM y servicio al cliente de la plataforma pública WeChat. -Plataforma funcional de gestión de operaciones WeChat.
WeChat Butler se conecta a cuentas públicas corporativas de WeChat a través de una plataforma tecnológica y gestión de operaciones para ayudar a las empresas a proporcionar a los usuarios de WeChat información de servicio más completa, experiencia interactiva del usuario, efectos de marketing y otras soluciones de aplicaciones empresariales.
Brindar a los clientes corporativos servicio al cliente, promoción de productos, marketing interactivo, investigación de mercado, pedidos de productos y otras funciones operativas y de sistema basadas en la plataforma WeChat.
Hola, me alegra que me inviten a responder a sus preguntas.
Además de la computación en la nube, los grandes datos y la inteligencia artificial, Java es conocido como el "alma de la programación y el desarrollo". Como una habilidad avanzada basada en Java, no se puede ignorar.
De acuerdo con el modelo de desarrollo de software tradicional, al desarrollar un proyecto, generalmente construimos el proyecto en un gigante, que contiene una serie de pequeños módulos, como "módulo de usuario, módulo de pedido, módulo de producto, módulo de pago". módulo". Una vez que un módulo se estropea, ¡todo el proyecto termina!
Para resolver este problema, dividimos un proyecto grande en muchos proyectos pequeños independientes, y cada proyecto pequeño independiente se denomina servicio. Los servicios acceden entre sí a través de interfaces. Incluso si se suspenden algunos servicios, no afectará el funcionamiento de otros servicios. Esta arquitectura de proyecto se llama arquitectura de microservicio.
La arquitectura de microservicio es el núcleo de todo el marco de Internet y controla la columna vertebral de todo Internet. Una buena arquitectura puede construir una plataforma de Internet perfecta. Por lo tanto, se valora mucho a los arquitectos con experiencia en microservicios.
En el primer semestre de este año, Liepin publicó el "Informe de Big Data sobre la situación laboral de los talentos de nivel medio y alto en el primer semestre de 2019". Según las estadísticas sobre la contratación popular en diferentes campos, el salario medio de los arquitectos ha alcanzado la asombrosa cifra de 42.800 yuanes, lo que los convierte en los mejor pagados en los campos populares.
El sistema de arquitectura de microservicios es flexible, robusto y escalable, y es especialmente adecuado para escenarios donde los requisitos cambian rápidamente. Sin embargo, el sistema es complejo y difícil de implementar y gestionar. Además del marco de desarrollo, los microservicios también requieren una serie de soporte de middleware en tiempo de ejecución, como puerta de enlace API, centro de registro de servicios, centro de configuración unificada, etc. En la actualidad, está relativamente maduro en el país. Neusoft tiene un equipo trabajando en ello. Su sitio web es /
Arquitectura de microservicio RestCloud comercial nacional 1, centro unificado de autenticación de autoridad y exportación como llamada API empresarial 2, que reemplaza el sistema ESB original de la empresa como un servicio empresarial liviano. bus3 realiza la estandarización, visualización y control unificado de todas las interfaces API4. Como puerta de enlace API central de la arquitectura de microservicios, está integrada en la arquitectura de microservicios empresarial5. Cree un portal OpenAPI como interfaz de salida de capacidades entre empresas, cadenas de suministro y socios6. Llame a una plataforma unificada de acceso a API para que las empresas llamen a API de terceros (JD.COM, Taobao)7. Abra el canal entre los sistemas comerciales internos y los sistemas comerciales externos. Realice el registro y la conversión de protocolos de interfaces empresariales existentes como RestAPI, WebService, Dubbo, Kafka, MQTT, etc.