Escala horizontal
Suponga que desarrolla un servicio HTTP. Desea ejecutar el servicio en N máquinas y distribuir sus solicitudes entrantes entre ellas. Pones tus máquinas N detrás de un equilibrador de carga para lograr esto. Esto se llama escala horizontal o escala lineal, ya que cada nodo continuará admitiendo M solicitudes por segundo, sin importar cuántas máquinas agregue al clúster, en teoría. La escala vertical se refiere a hacer que una sola computadora funcione mejor.
Diseño de aplicación sin estado
Diseño para escalar solicitudes horizontalmente . Supongamos que diseñaste un carrito de compras. Un usuario puede agregar un artículo a su carrito antes de comprar. ¿Dónde guardas ese estado? Puede mantenerlo en la memoria en su servicio, pero luego debe garantizar que las solicitudes de un solo usuario vayan a la misma máquina. Ese es un mal diseño. Se come tu RAM, perdiendo escala vertical. ¿Qué pasa si la máquina falla? Almacene el carrito en una base de datos, dejando que la base de datos maneje la consistencia, disponibilidad, etc. Esos son problemas difíciles que ya están resueltos. Eso permite que las solicitudes de los usuarios golpeen cualquiera de las N máquinas en su clúster en cualquier momento, incluso si mueren. El diseño de la aplicación sin estado se refiere al nivel medio (servicio) de su aplicación, no a la base de datos en sí.
E / S asincrónica
Comprender el problema de C10k: el problema de C10K. Obtenga información acerca de las E / S asíncronas y qué contenedores lo admiten, por ejemplo, Node.js, Jetty 9, etc. Puede considerar esta escala vertical ya que se está utilizando más desde una computadora.
- ¿Qué buscan los desarrolladores en compañeros de trabajo no técnicos?
- ¿Qué implica desarrollar software, crear audio, del mismo modo que un CAD o un programa matemático crea gráficos 2D y 3D e incluso simula de manera realista la física y la óptica, pero no la acústica?
- ¿El libro 'Programming Pearls' está desactualizado?
- ¿Se considera "extraño" o "desperdicio" cuando hay una mayor cantidad de control de calidad de software que los desarrolladores de software en una pequeña empresa de software?
- ¿Qué desarrolladores necesito para abrir una empresa de realidad virtual?