JavaScript (lenguaje de programación): ¿Qué incluiría su pila de Javascript de ahora en adelante para una aplicación web con uso intensivo de datos?

Esto viene puramente de mi experiencia. Nosotros (como nuestra startup) estamos construyendo un sistema para “hacer algo” a los datos, ya que todavía no hemos definido claramente todas nuestras necesidades. Hemos asumido un par de situaciones

– Si necesita almacenar toneladas y toneladas de datos, piense primero en su almacenamiento, qué características de ese almacenamiento desea usar (además de escalar, digamos que la mayoría de NoSQL se centra más o menos en la agrupación fuera de la caja). ¿Necesita agregar datos, le interesan las transacciones, qué tal la consistencia entre el documento, la lista, etc.

– Si sus datos contienen muchos efectos secundarios cuando entran (por ejemplo, Twitter o Facebook, las publicaciones activarán las acciones correspondientes, como mencionar, hacer referencia, etc.), es posible que desee realizar micro lotes para la transformación de datos, tenemos estado usando Apache Storm para este propósito.

– Si no tiene idea de qué tipo de transformaciones de datos puede necesitar, puede comenzar con el almacenamiento de datos sin procesar puros y hacer la transformación / extracción de datos macro-batching usando Apache Spark.

Hay dos formas de pegar esas cosas por completo

– Una aplicación para conectarlos a todos, las cosas se compartirán en la memoria

– Diseña microservicios para cada componente mencionado y los pega usando un sistema de cola (un montón de ellos para elegir)

– O no necesita pegarlos en absoluto, porque, al final del día, cada componente se preocupa por su almacenamiento y de dónde provienen los datos. Por lo tanto, el almacenamiento de datos será su medio de comunicación.

Solo por nuestra experiencia, hemos estado usando Vert.x 3 para este propósito. ¿Que tiene?

– Servidor TCP de bajo nivel basado en Netty para que pueda comunicarse con la mayoría de los servidores a gusto (por ejemplo, Kafka, Mongo, Redis, etc.) de una manera de baja latencia y sin bloqueo

– Servidor HTTP de nivel medio para que pueda configurar sus interfaces REST

– Cola agrupada lista para usar (lo llaman bus de eventos) para que pueda pegar sus componentes según sea necesario

Actualmente estoy trabajando en una aplicación intensiva de datos.

Para nuestro propósito, hemos elegido MongoDB. La base de datos NoSql es bastante rápida y práctica. Todos los elementos se almacenan como jsons (bson). Nuestra primera versión usó meteorjs. Fue realmente bueno para almacenar y recuperar información en tiempo real.

Mi js exp.no fue realmente profunda, pero me las arreglé fácilmente para construir el primer prototipo. Meteor js es realmente bueno, estoy planeando usarlo en otros proyectos míos.

Razón por la que no estamos usando meteoros: ahora tenemos la API de descanso de Java. Por lo tanto, no hay razón para tener dos soluciones de back-end al mismo tiempo.

En este momento, recomendaría usar Angular + express como backend (si se trata solo de la solución js).

Construir API de descanso es bastante fácil y proporciona alguna herramienta de formalización. Una vez diseñado y desarrollado, permite ser utilizado dentro de cualquier otra aplicación. La integración entre otras aplicaciones y servicios siempre es excelente. Además, con el resto podrá crear fácilmente una aplicación móvil.

Prácticamente cualquier herramienta puede hacer lo que usted describe, realmente. Si sus requisitos no son más específicos que eso, puede elegir prácticamente cualquier cosa. Lo que describe realmente no tiene ninguna especificidad y se adapta prácticamente a casi cualquier aplicación. Creo que deberías seguir adelante y aprender algo que te atraiga. Si desea JavaScript en todas partes y un enfoque integrado, puede considerar Meteor. Funcionará para lo que usted describe, pero casi cualquier cosa funcionará.


Plug descarado: si te gusta mi escritura sobre programación en Quora, puedes disfrutar de mi programa de YouTube: funfunfunction

More Interesting

¿Qué patrones se usaron / se usan para escalar servicios web no RESTful basados ​​en, por ejemplo, SOAP?

Para el backend de una aplicación web, ¿a qué idioma recomendaría cambiar de PHP (o LAMP stack)?

Cómo comenzar a construir una aplicación web usando React

¿Qué tipo de servidor web (VPS o dedicado) necesitaré para mi aplicación de prueba en línea? Puede haber 2,000 usuarios a la vez tomando la prueba.

¿Existen buenas aplicaciones web de código abierto (preferiblemente basadas en LAMP) para crear cuestionarios de autoidentificación política?

¿El futuro de PHP es más brillante que JSP y ASP debido a la política de código abierto que hace que cada vez más marcos estén disponibles para desarrollar aplicaciones web sostenibles? ¿Crees que en el futuro, PHP superará la necesidad de ASP y JSP?

¿Cuáles son los métodos efectivos de verificación de identidad en la vida real para aplicaciones en línea?

¿Qué tan bueno es PostgreSQL con la aplicación web Java?

¿Por qué WordPress ganó contra Movable Type?

¿Cuál es la diferencia entre una aplicación web, una aplicación móvil, una página web receptiva y una aplicación web receptiva?

Soy nuevo en el desarrollo web, ¿cómo puedo publicar mi aplicación web en el mundo?

¿Por qué la mayoría de las aplicaciones web solo están diseñadas para adaptarse a la mitad de la pantalla en un monitor grande?

¿Cuál es la mejor arquitectura para una aplicación compleja React?

Cómo desarrollar una aplicación web para la NASA

Aplicaciones web: ¿Qué aplicación web puede crear con un presupuesto de $ 7500 y desarrolladores experimentados?