QCon Speech Record | Exploración innovadora del modelo de investigación y desarrollo de "segunda entrega" del negocio de recepción del Departamento de Tao

El negocio de Taobao se ha desarrollado rápidamente. Los negocios de Taobao, Tmall, Taobao Live, Taobao Special Edition, Xianyu y otras plataformas continúan innovando y, al mismo tiempo, plantean requisitos nuevos y más altos para la eficiencia técnica. Sin embargo, el modelo actual de investigación y desarrollo de la separación de clientes y servidores de Internet móvil tiene el desafío de la colaboración entre la pila de tecnología cruzada + la colaboración de múltiples terminales, y también enfrenta el problema de que algunas tecnologías básicas y capacidades comerciales no se pueden reutilizar de manera efectiva. En este contexto, combinado con la evolución de la infraestructura en la nube, combinado con el desarrollo de tecnología final, Amoy Technology ha explorado y practicado la investigación y el desarrollo de la integración empresarial en la nube, y ha construido un nuevo proceso de I + D y experiencia en I + D en torno a la actualización de la arquitectura de aplicaciones entre generaciones. El período, el período de entrega y el período de operación redefinen el modelo de investigación y desarrollo del negocio de front office.

El motor principal de la evolución del modelo de I + D empresarial


"Reutilización de la capacidad", "cross-end" e "integración de la pila de tecnología" son las tres fuerzas impulsoras fundamentales subyacentes para la mejora de la eficiencia empresarial de Internet móvil. El modelo de investigación y desarrollo empresarial en torno a estos tres puntos evoluciona constantemente para satisfacer las demandas de un rápido desarrollo empresarial .

Toda la historia del desarrollo de la ingeniería de software es la historia de la reutilización, un simple "hola mundo" detrás es un milagro de la ingeniería, como el núcleo de las líneas de código 2700w, y todo el ecosistema de código abierto de tecnología proporciona una combinación de varias capacidades, las aplicaciones comerciales de Internet no tienen No pararse sobre los hombros de gigantes. La reutilización de capacidades se puede dividir en tres formas de reutilización de código, reutilización de servicios y reutilización de componentes en términos de modo de uso. Detrás de esto está el equilibrio de eficiencia empresarial, aislamiento y costo.

Los dos principales ecosistemas tecnológicos de Internet móvil, Android e iOS, plantean enormes desafíos para la empresa en términos de coherencia entre terminales y eficiencia empresarial.

La integración de la pila de tecnología no es equivalente a cross-terminal, ni es la unificación de lenguajes de desarrollo. Es similar a la exploración de los ingenieros de pila completa de negocios actuales. Este modelo impone mayores requisitos a los desarrolladores. Él tiene que resolver el cliente, En el lado del servidor, se utilizan diferentes pilas de tecnología para completar el ciclo cerrado de investigación y desarrollo empresarial. Esta no es una pila de tecnología unificada. La integración de la pila de tecnología es la convergencia de la pila de tecnología orientada a la empresa, lo que permite que la empresa vuelva a sí misma y reduce la colaboración mediante una división razonable de los límites del trabajo.

Echemos un vistazo a la evolución del modelo de I + D empresarial móvil de Amoy. Al principio, era un modelo de I + D de "cliente único". La descripción general de una frase es "escribir repetidamente, ejecutar de forma independiente". El problema principal es que la lógica empresarial debe desarrollarse y enfrentarse repetidamente El gran desafío de la coherencia empresarial de múltiples extremos; en este caso, naturalmente pensamos en el modelo de investigación y desarrollo "cliente-multiplataforma", es decir, "escribir una vez, ejecutar en todas partes" y usar un código para lograr la entrega comercial. En esta etapa, muchos marcos técnicos de múltiples extremos surgen sin cesar , Un representante típico, clasificado desde el modo de renderizado, se puede dividir en varios híbridos basados ​​en el renderizado de webview, RN y WEEX que llaman al renderizado nativo a través de jsbridge, y revolotean directamente desde el motor de renderizado subyacente, lo que evita la duplicación Desarrollo, el desafío de la coherencia empresarial de múltiples extremos, la convergencia empresarial al marco técnico de múltiples extremos;


Desafíos y contramedidas de la investigación y el desarrollo empresarial actual del Departamento de Tao


Si este modelo de I + D se ha perfeccionado, veamos algunos fenómenos actuales.

¿Cuáles son las cuestiones centrales detrás de estos fenómenos de investigación y desarrollo empresarial de Internet móvil?

Se puede ver que el modelo actual de investigación y desarrollo empresarial se basa en la pila de tecnología que divide el límite fuerte entre el cliente y el servidor, y el medio se basa en el modelo de colaboración API. La definición de API es cambiante con el rápido desarrollo del negocio. En cuanto a las capas de TCP e IP, existen límites claros, una división de responsabilidades diferente y variabilidad, lo que genera altos costos de coordinación. Al mismo tiempo, debido a las diferentes pilas de tecnología, la proporción de recursos humanos restringirá el desarrollo empresarial. Con el desarrollo de la plataforma empresarial, la esencia de la plataforma empresarial también es la "reutilización de la capacidad" para mejorar la eficiencia. Un gran número de empresas han formado el backend para la capa frontal para las páginas comerciales de front-end. La característica típica de esta capa es la capacidad de orquestación y combinación. Para completar la entrega comercial; por ejemplo, una página de evento para obtener información del usuario, información del producto, información de puntos, etc., que originalmente era un negocio cohesivo, pero estaba fragmentado por los límites de la pila de tecnología.

La principal contradicción detrás de estos problemas es que el negocio integrado no coincide con el modelo de I + D basado en la división del trabajo por contrato como límite de la pila tecnológica. Para dar un ejemplo de mostrador, un yesero construye una pared en dos pasos. Primero, según la ubicación del ladrillo, se decide aplicar lechada de cemento en ciertas superficies, y luego el ladrillo se coloca en una posición adecuada; si los dos pasos se separan en la colocación El ingeniero de paredes + el ingeniero de pasta de cemento vinieron a trabajar juntos.Cuando las dos personas estaban construyendo la pared, tenían que asegurarse con sus ojos que la pasta de cemento se debía aplicar a una determinada superficie de los ladrillos, ¿cuánta lechada se debía aplicar para que la eficiencia de la construcción de la pared fuera más rápida?

Por lo tanto, naturalmente pensamos en permitir que las empresas de front-end logren una I + D y una entrega integradas en la nube + terminal, es decir, "la integración de escritura se ejecuta en todas partes". La analogía simple del modelo de I + D cambia, de los tres monjes originales sin agua a dos monjes que llevan agua, Acude a un monje para llevar agua para beber. La pregunta clave es cómo hacer que la capa BFF de lógica de orquestación simple sea un ciclo cerrado por los compañeros finales. Desde la I + D cliente + servidor dividida hasta la I + D empresarial front-end, ¿cuáles son las dificultades?

El status quo de BFF empresarial es una aplicación monolítica. El análisis muestra que se compone de un marco de ingeniería, tecnología general, reutilización de dominios y lógica empresarial. La I + D del cliente primero se enfrenta al problema del umbral del lenguaje de desarrollo y la pila de tecnología es inconsistente; en segundo lugar, el aislamiento empresarial Cuestiones sexuales, la capa empresarial está estrechamente relacionada con las otras tres capas, y el cliente rico de la plataforma empresarial tiene grandes barreras para las limitaciones del lenguaje de desarrollo. Es precisamente debido a estos factores objetivos que hay cada vez más negocios en una aplicación. Al final, se convirtió en un acoplamiento entre empresas, lo que resultó en la base de la eficiencia de I + D; finalmente, la complejidad de la operación y el mantenimiento de BFF fue una gran barrera para los estudiantes de tecnología del cliente.

Entonces, ¿cómo solucionar estos problemas? Hay dos estrategias principales, "arquitectura de aplicaciones de múltiples contenedores" + "arquitectura de aplicaciones en componentes". Veamos primero la primera.

Con el desarrollo de la tecnología nativa de la nube, el modelo de diseño de contenedores proporciona soporte para múltiples contenedores y proporciona una nueva ruta para desacoplar negocios y dependencias. La capa de reutilización, los componentes técnicos comunes y el marco de ingeniería del campo comercial original están aislados del tiempo de ejecución de la botella, el negocio La lógica se ejecuta de forma independiente en biz runtime, y los dos contenedores combinan conjuntamente la especificación de contenedor de la aplicación gaia; esto trae un cambio significativo, el negocio se vuelve más liviano, por lo que el multi-idioma del biz runtime se vuelve posible, y se resuelve el umbral de idioma para admitir I + D de extremo a extremo. .

Aquí hay otro problema. La capa de reutilización de dominios contiene una variedad de capacidades de dominio. Aunque están separadas del negocio, todavía carecen de cierto aislamiento. Al mismo tiempo, ¿cómo resolver el alto costo de uso del cliente rico? ¿Dejar que la investigación y el desarrollo empresarial de la oficina central logre el efecto inmediato?

La arquitectura de aplicaciones en componentes es el núcleo para lograr la rápida reutilización de las capacidades de la plataforma. En primer lugar, el tiempo de ejecución de la botella admite una arquitectura abierta y extendida y admite la carga y el uso de componentes a pedido; desde la perspectiva del tráfico de entrada y salida, se definen dos tipos de componentes básicos. En segundo lugar, los diferentes componentes tienen sus propios protocolos de datos. Gaia define el protocolo de enlace para el empaquetado unificado. Para la I + D orientada a los negocios, las tres interfaces básicas de OnInputEvent, InvokeBinding e InvokeService se abstraen para estandarizar las capacidades de los componentes. De esta manera, OnInputEvent corresponde a los componentes comerciales de tipo InputBinding, InvokeBinding e InvokeService corresponden a los componentes OutputBinding, y los dos contenedores se refieren a grpc según la comunicación local.

Con una arquitectura de aplicaciones en componentes, los sistemas de soporte para la producción, entrega y uso de componentes alrededor de esta arquitectura también deben construirse simultáneamente. En lo que respecta al productor de componentes, solo necesita desarrollar de acuerdo con el plan de componentes bootle. Cuando se entregue, la plataforma gaia generará automáticamente SDK nativos en varios idiomas y los cargará en la biblioteca de componentes; para los desarrolladores de negocios front-end, solo necesitan declarar el componente de referencia y escribir el suyo propio. De acuerdo con la lógica empresarial, la plataforma de construcción y entrega posterior entregará automáticamente los componentes. Finalmente, consiga el efecto listo para usar del componente.

En resumen, a través de la evolución de la "arquitectura de múltiples contenedores" + la "arquitectura basada en componentes", la I + D funcional empresarial ha resuelto el problema del umbral de la pila técnica para que los estudiantes clientes se den cuenta del ciclo cerrado de la integración de la nube y la terminal, y las capacidades de dominio se pueden utilizar de forma inmediata. "Investigación y desarrollo de negocios de front office" en un circuito cerrado transversal desde el concepto hasta la implementación.


Exploración y práctica de la integración de terminales y nube empresarial


Con estas actualizaciones de capacidades arquitectónicas, veamos la práctica de la integración de terminal + nube empresarial de Taoxi. Según las características del negocio, se divide en tres escenarios de aplicación típicos para la exploración, a saber, "iteración de innovación rápida integrada" y "lógica de interacción compleja". , "Reutilización de edificios modulares".

▐Integración,  rápida innovación e iteración 

Frente a escenarios simples de orquestación empresarial, debido a que gaia proporciona capacidades de I + D funcional en varios idiomas, toda la relación de producción de I + D ha cambiado. La I + D empresarial de front-end puede realizar el ciclo cerrado de BFF para la I + D del flutter del cliente, utilizando un lenguaje de desarrollo Dart unificado. Se necesita nuevamente el desarrollo colaborativo. Los diversos problemas de colaboración encontrados naturalmente ya no existen, y se realiza la "unificación de la pila tecnológica" de negocios cohesivos; al mismo tiempo, las capacidades del dominio de la plataforma empresarial se convierten en componentes de gaia, logrando una "reutilización de capacidades" eficiente. Veamos la huella de Xianyu, este escenario de aplicación típico.

El modelo original de I + D cliente + servidor basado en la colaboración de API ahora tiene la función de "I + D empresarial de front office" para cruzar el circuito cerrado entre el cliente y el servidor. Se da cuenta de la entrega de un negocio completo desde el almacenamiento, consulta y eliminación de huellas, y el campo de las plataformas de productos básicos. La capacidad de proporcionar consultas de información de productos, esta capacidad de campo a través de la creación de componentes desde el primer momento.

De esta manera, la API sigue siendo una existencia explícita, que está fuertemente integrada en el proceso de operación y entrega de I + D; se espera que todos encuentren una gran cantidad de API que deben mantenerse; al mismo tiempo, la granularidad de la API es difícil de controlar. API orquestar todos los servicios o subdividir varias API tiene ventajas y desventajas, especialmente en escenarios con una lógica de interacción empresarial compleja. ¿Existe una forma más eficiente?

▐Lógica interactiva compleja  

El marco integrado de investigación y desarrollo basado en redux es la clave para resolver escenarios lógicos interactivos complejos. Su núcleo se basa en los cambios de estado de la tienda, el manejo de la representación de la página, los eventos interactivos y luego el uso de reductores para actualizar el estado mediante la lógica comercial funcional; este marco Definido como un marco de investigación y desarrollo integrado de Nexus, encapsulación abstracta de eventos, definición unificada de eventos comunes, soporte para tipos de eventos personalizados de negocios y apertura del ciclo cerrado del cliente al servidor.

Por ejemplo, en el escenario de orden de transacción de Xianyu, varios datos están involucrados en la página, incluyendo monedas Xianyu, detalles, dirección de cosecha, envío, servicios de sobres rojos, etc. Si una API organiza todos los servicios, inevitablemente causará un acoplamiento comercial. Esta API tiene un impacto en la complejidad de la entrega del cliente, la experiencia del usuario, etc. Al mismo tiempo, esta página también tiene escenarios de interacción comercial del usuario, como la modificación de la dirección y el uso de sobres rojos. La situación final suele ser una lógica pesada del cliente, y la compatibilidad y la escalabilidad son grandes desafíos. .

El marco de I + D integrado resuelve estos problemas con elegancia. El orderPageState a nivel de página se compone de detalles, direcciones de recolección, sobres rojos y otros estados. Cuando la página se procesa por primera vez, es una acción de inicio. La función comercial de gaia responde y actualiza el estado, que se sincroniza con el controlador del cliente. Representación de la página; cuando ocurren eventos posteriores, como la modificación de la dirección de recolección, el mismo flujo de procesamiento es de ciclo cerrado.

De esta manera, se realiza el desacoplamiento de la página y la lógica comercial. El negocio se impulsa mediante eventos extendidos personalizados para hundir la lógica comercial en la nube. La entrega ligera del lado del cliente también resuelve el desafío de fragmentación causado por la pesada lógica de la versión del cliente. Al mismo tiempo, la lógica de negocios se basa en la combinación extendida de estado e impulsada por eventos para lograr un desacoplamiento detallado del negocio y mejorar la eficiencia empresarial. En este modo de investigación y desarrollo, la API se ha debilitado y ya no requiere un desarrollo basado en protocolos sólidos.

▐ Construcción modular y reutilización

Al observar la composición de las páginas comerciales de Taobao, la posibilidad de reutilización es visible a simple vista. La "reutilización de la capacidad" en sí misma es la fuerza impulsora principal para la eficiencia empresarial. Al mismo tiempo, el rápido desarrollo de los negocios también plantea demandas generales. Es imposible que todas las empresas sean de Desarrollo 0 a 1, entonces, ¿cómo lograr la reutilización de la página?

Analizando la estructura de la página, su esencia está compuesta por módulos; los módulos están compuestos por nodos de diseño y nodos comunes. El diseño es la elección del flujo de información, palo y otras formas según el negocio. Los nodos comunes son componentes finales y los componentes finales son La plantilla de control de la interfaz de usuario y la fuente de datos se componen en conjunto para realizar la representación final y el uso interactivo de los componentes finales. Naturalmente, pensamos que a través de la construcción modular de la página, podemos lograr una entrega comercial rápida.

DinamicX es un producto de componentes en el sistema Amoy. La combinación de DinamicX y gaia proporciona capacidades de orquestación de datos, crea una página para construir una plataforma y transforma la entrega comercial del desarrollo y la codificación a un proceso de entrega de configuración rápida. Lo que ve es lo que obtiene.

Mire el ejemplo de la página de actividades de la edición especial de Taobao. Al construir una plataforma, se combinan varios módulos en una página. Los módulos se componen de nodos de diseño y componentes finales de nodo común. A los componentes finales les siguen los servicios de fuente de datos correspondientes para permitir que estos servicios se entreguen rápidamente.

Perspectiva resumida


El núcleo de la exploración de la integración de la nube + terminal de negocios front-end de Amoy es a través de la actualización de la arquitectura de aplicaciones de múltiples contenedores, que rompe los límites de la pila de tecnología y realiza el ciclo cerrado de negocios a través de la nube + terminal; se da cuenta de la reutilización de las capacidades de dominio a través de la arquitectura de aplicaciones en componentes. Transparencia, a través de la entrega funcional de I + D para que la operación y el mantenimiento sean transparentes, a través del marco de integración de la nube y la modularización de la página, deje que la "I + D de front-end" se centre en los negocios.

El modelo de investigación y desarrollo integrado en la nube de circuito cerrado precipita escenarios de aplicación típicos. La eficiencia de entrega de las escenas de orquestación de front-end aumenta en un 30% (la cantidad de errores se reduce en un 20%); Xianyu compra y ofrece recompensas por cambios simples de demanda de extremo a extremo están en línea durante medio día, lo cual es inimaginable en el modo de desarrollo anterior de 0 a 1; La modificación y la depuración entrarán en vigor en 10 segundos, y la investigación y el desarrollo que se pueden entregar en segundos se logra realmente.

La plataforma gaia actual ha logrado millones de QPS y decenas de miles de millones de operaciones de tráfico, que incluyen Xianyu, Taobao interactivo, edición especial de Taobao, subasta de Taobao y muchos otros escenarios comerciales que se han utilizado ampliamente.

Resumiendo la exploración del modelo de I + D integrado en la nube del negocio de recepción de Amoy, la esencia sigue siendo la exploración de las tres fuerzas impulsoras principales de "reutilización de capacidades", "cross-end" e "integración de la pila de tecnología"; integración de nube + final " La investigación y el desarrollo de negocios de front-end "es la redefinición de las responsabilidades jerárquicas y las relaciones de la investigación y el desarrollo de negocios, desde un límite de pila de tecnología física hasta un límite de cohesión empresarial lógica; la capa inferior es la actualización de la arquitectura de la aplicación, basada en una sola responsabilidad, múltiples contenedores + La evolución de la modularidad permite que la empresa se concentre en sí misma.

Mirando hacia el futuro, en primer lugar, en el sistema de ingeniería de I + D, es necesario integrar de un extremo a otro, y las capacidades básicas de soporte de I + D correspondientes, como depuración, resolución de problemas, etc., son la clave del éxito o fracaso de los modelos de I + D posteriores. Este punto suele ser fácil para todos para fabricar productos de plataforma tecnológica. El punto descuidado, la gran lógica de muchos productos es fluida, y los detalles a menudo mueren al final. En segundo lugar, es necesario realizar la automatización de la operación y el mantenimiento, la gestión y el control de los componentes y la actualización transparente de los servicios basada en la gestión de la capacidad impulsada por el tráfico. La transparencia de la operación y el mantenimiento es un gran desafío. Por último, la tecnología no es una fórmula mágica. La arquitectura y el modelo de I + D actuales tienen sus escenarios aplicables y sus efectos negativos, como el costo general de los recursos de la máquina y cómo utilizar las capacidades técnicas para resolver sistemáticamente el problema después de la transferencia gradual de las responsabilidades de operación y mantenimiento a la plataforma. Es un avance que se puede esperar en el futuro.

Tao Department Technical Department-Architecture Team-Recruiting Talents

Comprometidos con las capacidades, productos y soluciones centrales del Departamento de Tao:

  • Plataforma modelo de investigación y desarrollo empresarial de nueva generación-Gaia

  • Una puerta de enlace de mensajería masiva de alta concurrencia con cientos de millones de usuarios en línea y decenas de millones de QPS-ACCS

  • Implementación y aterrizaje del protocolo de red de próxima generación QUIC-XQUIC

  • Soluciones adaptables de alta disponibilidad y capacidades básicas-Noah

  • Admite todo el sistema de middleware móvil de Ali (decenas de millones de pasarelas de acceso QPS, pasarelas API, centros de configuración móvil, etc.)

El equipo reúne vacas grandes ~~ Si desea unirse a nosotros, envíe su currículum a: [email protected]

✿ Más   lecturas

Autor | Sun Qi (Kong Meng)

Editar | Naranja

Producido | Nueva tecnología minorista de Alibaba

Supongo que te gusta

Origin blog.csdn.net/Taobaojishu/article/details/111570287
Recomendado
Clasificación