Sunteți pe pagina 1din 5

Técnicas de Balanceo de Cargas en una red de

Datos
Hector Miguel Segura-Medranda
Universidad Nacional de Chimborazo (UNACH), Riobamba, Ecuador,
hmsegura.fie@unach.edu.e

capacidad operativa de los equipos y la utilizan para enrutar
Resumen - Estas instrucciones le dan las directrices para la dichas peticiones individualmente al servidor que se encuentre
preparación de documentos para IEEE TRANSACTIONS y en mejor disposición de prestar el servicio adecuado.
JOURNALS. Use este documento como una plantilla si está
utilizando Microsoft Word 6.0 o posterior. En caso contrario,
utilice este documento como un conjunto de instrucciones. El
archivo electrónico de su documento será estructurado por la
IEEE. Definina todos los símbolos utilizados en el resumen. No II. MARCOTEORICO
citar referencias en el resumen. No elimine la línea en blanco
inmediatamente encima del resumen; Establezca la nota de pie de
página en la parte inferior de esta columna. A. Definición.

Los balanceadores de carga pueden ser soluciones hardware,


tales como routers y switches que incluyen software de
balanceo de carga preparado para ello, y soluciones software
I. INTRODUCCION
que se instalan en el back end de los servidores
Cuando un servidor de Internet se vuelve lento debido a la
congestión de información, la solución más obvia es ampliar
la memoria, ampliar el disco duro o actualizar el procesador. El balanceo de carga, que realiza un balanceador, es un
Pero el tráfico de Internet está en constante crecimiento y lo mecanismo que permite repartir el consumo de recursos de
anteriormente expuesto es sólo una solución temporal. La cpu, red, almacenamiento, para poder atender un servicio
opción más razonable es, a largo plazo, configurar más determinado sin las limitaciones que ofrecería un único
servidores y repartir las peticiones de los clientes entre ellos. dispositivo. Un ejemplo típico, es el tráfico web que recibe
Esto incrementa la velocidad de acceso del usuario al servidor, una determinada URL, y que puede llegar a saturar los
mejora la fiabilidad del sistema y la tolerancia a fallos, recursos disponibles en una sola máquina. Si en lugar de
permitiendo reparar o mantener cualquier servidor en línea sin ofrecer ese servicio web desde una sola máquina, lo hacemos
que afecte al resto del servicio repartiendo el tráfico y la carga entre varios servidores, seguro
. que la capacidad de ese servicio puede crecer hasta límites
mucho mayores. En eso consiste el balancear la carga, repartir
Así es como muchos de los sitios web más conocidos el tráfico o el procesamiento entre varios servidores para poder
pueden abarcar toda la demanda que reciben, gracias al uso de atender más peticiones, reducir los tiempos de respuesta
un número de servidores "espejo" (mirrors) llamados granjas B. Algoritmos de Balanceo de Cargas.
de servidores. Sin embargo, una vez utilizados varios
servidores para responder todas las peticiones que van a una
dirección, ¿Cómo las dividimos entre los distintos servidores? Balanceo de tráfico web: es uno de los casos más habituales,
¿Cómo podemos saber qué rendimiento ofrecemos y qué basado en el ejemplo anterior, donde recibimos una
tiempo de CPU está generando cada petición? Simplemente el determinada cantidad de tráfico (por ejemplo tráfico web), y
conectar más servidores a una red, no asegura la mejora del que repartimos entre varios servidores web (basado en Apache
servicioestilo. o Nginx por ejemplo) para poder atender muchas más visitas
de las que podría soportar un único servidor, aunque
De forma sencilla, el balanceo de carga es la manera en que
pudiéramos aumentarle los recursos al máximo. Esto último se
las peticiones de Internet son distribuídas sobre una fila de
conoce como escalado vertical, es decir aumentar al máximo
servidores. Existen varios métodos para realizar el balanceo de
los recursos de una máquina por ejemplo en CPU y RAM, a
carga. Desde el simple "Round Robin" (repartiendo todas las diferencia del escalado horizontal donde se añaden nuevos
peticiones que llegan de Internet entre el número de servidores servidores cuando se necesita crecer ese sistema para atender
disponibles para dicho servicio) hasta los equipos que reciben más peticiones HTTP
las peticiones, recogen información, en tiempo real, de la
- Balanceo de bases de datos.

A nivel de bases de datos, también hay soluciones que virtualización OnPremise como VMWare o HyperV, o en
permiten balancear las peticiones entre varios servidores entornos de Cloud públicos como Google Cloud, AWS o
diferentes. En MySQL, hay varias soluciones Azure. Entre estos equipos podríamos destacar a
dependiendo de si se necesita un entorno multi-master o fabricantes como F5 con sus equipos Big-IP o Radware
con varios nodos de solo lectura, por ejemplo Galera Alteon.
Clúster o MySQL Clúster son varias de las opciones más
recomendables. En SQLServer se puede hacer uso - Dispositivos de red con funcionalidad extra de
de AlwaysOn para repartir peticiones de lectura desde las balanceo.
versiones 2014/2016. En Oracle database también se
puede conseguir un balanceo de la carga utilizando Oracle También existen dispositivos de red cuya funcionalidad
RAC. principal no es el balanceo, como un Firewall, un router, o
similares pero que incluyen funcionalidad para hacer
- Balancear comunicaciones. balanceo de carga. Evidentemente no ofrecen las
Hay situaciones donde tenemos, por ejemplo, varias prestaciones que un dispositivo dedicado, pero en muchas
líneas de comunicaciones que nos permiten tener situaciones puede ser suficiente. Como ejemplo muy
conectividad hacia un determinado destino, que puede ser extendido, destacan los Firewall Fortigate que tienen un
Internet o puede ser conectividad por ejemplo hacia otra módulo de balanceo entre muchas otras funcionalidades, o
sede o hacia una plataforma de Cloud (GCP, Azure, …). también pequeños routers como los Mikrotik.
Al tener varios canales de comunicaciones, necesitamos
un dispositivo que se encargue de repartir este tráfico - Balanceo por software en Linux.
entre esos enlaces, de forma activa/activa repartiendo la
carga en base a algún patrón predefinido (% del tráfico, Dependiendo del tipo de balanceo que se necesite, hay
por IPs destino, por tipo de tráfico, …) o también se varias opciones para balancear tráfico o peticiones con
puede utilizar como solución activa/pasiva para Linux. Una de ellas es mediante Linux Advanced Routing
proporcionar alta disponibilidad en caso de caída del and Traffic Control con el que puedes balancear tráfico
enlace principal. Esto puede ser realizado mediante por diferentes enlaces físicos en Linux. Si lo que se
el balanceo de carga en Linux que proporciona el propio requiere es balancear peticiones TCP sobre varios
sistema operativo. servidores, una de las opciones principales es LVS que
ofrece funcionalidad similar a un dispositivos específico
de balanceo, mediante su implementación a nivel de
kernel.

- Balanceo por software en Windows.

Estos sistemas no tienen sistemas tan específicos y


funcionales para temas de red en general, pero tienen una
implementación de balanceo por software mediante NLB:
Network Load Balancing.

C. Configuración de balanceo de carga

¿En qué consiste la configuración de un balanceo de carga?


Hay varios aspectos que hay que tener en cuenta a la hora de
En cada uno de los distintos escenarios de balanceo de carga realizar la configuración de un balanceador clásico para
que hemos descrito anteriormente, necesitamos un dispositivo balancear conexiones TCP o UDP:
que realice esta función, habitualmente distribuyendo sesiones
TCP entre los distintos servidores disponibles. Hay distintos Creación de la VIP de servicio.
equipos, hardware o software, que pueden realizar la tarea
de distribuir la carga cuando se requiere un servicio de Habitualmente, se define una dirección IP que es la que ofrece
balanceo, estos son algunos de ellos. el servicio balanceado. Esta IP es a la que se conectarán los
clientes, y cuyas conexiones se balancearán posteriormente
- Dispositivo específico de balanceo. sobre cada uno de los frontales disponibles. Hay que definir el
Existen varios fabricantes de dispositivos cuya puerto o los puertos sobre los que esta VIP ofrecerá este
funcionalidad principal es realizar balanceo de tráfico en servicio, habitualmente se utilizará el puerto 80 (HTTP) o el
base a la configuración definida. Hasta hace unos años 443 (HTTPS) para servicios tradicionales, aunque por
estos equipos solían ser siempre físicos, pero en los supuesto se puede utilizar cualquier otro puerto.
últimos años se ha extendido cada vez más el formato
virtual que puede ser desplegado en entornos de Creación de los frontales donde balancear el servicio.
Hay que configurar cuáles son los servidores donde se Least Connections: cada petición se balancea al servidor
balancearán las peticiones, también llamados real. Y en cada con el menor número de conexiones establecidas en ese
uno de ellos definir en qué puerto ofrecen este servicio, que preciso momento. De esta forma se intenta que el frontal
puede ser el mismo que en la VIP o puede ser uno distinto menos cargado atienda las nuevas peticiones, pero solamente
porque ya estén en uso. Esta definición de frontales en un en base al número de peticiones, y esto no siempre implica
servicio balanceado, puede ser estático o dinámico, es decir que un frontal esté menos cargado, porque puede haber
que los frontales que ofrecen servicio pueden crecer o conexiones que exijan mayor capacidad de procesamiento,
disminuir en base a sistemas de autoescalado como memoria u otros recursos que otras similares.
ofrecen los Cloud públicos.
C. Métodos de Balanceo de Carga

Hay distintos métodos de balanceo que definen cómo se


reparten las sesiones entre cada uno de los frontales. Podemos
destacar los siguientes como los más habituales:

Robin Round: las peticiones se reparten entre los frontales


disponibles de una en una desde el primero hasta el último, de
forma circular. De esta forma, todos los frontales recibirán
exactamente el mismo número de peticiones, para lo bueno y
para lo malo. Si tienes frontales con recursos no homogéneos,
es decir que tienen diferente capacidad de CPU o recursos, IP-Hash: la primera conexión que llega de una determinada
este método no será el más adecuado, y la consecuencia será dirección IP se balancea al frontal que corresponda
unos frontales mucho más cargados que el resto. (habitualmente por robin round), y se apunta en una tabla esa
asignación. Desde ese momento, todas las nuevas conexiones
de esa misma IP se balancearán a ese mismo frontal,
manteniendo la persistencia por IP origen.

Weighted Robin Round: igual que el anterior, pero cada


servidor tiene un determinado peso en el reparto que indica
Response Time: esto significa repartir las nuevas conexiones
qué porcentaje de las peticiones se entregarán a cada servidor.
entre el o los servidores que menor tiempo de respuesta
Con esto se intenta identificar previamente qué servidores
ofrezcan en cada momento, o sea que es totalmente dinámico
podrán procesar más carga bien porque dispongan de más
y se adapta al estado del entorno. El tiempo de respuesta se
recursos o estén mejor optimizados para procesar estas
suele basar en el puerto que escucha cada uno de los frontales.
peticiones. Lo malo de esta opción es que el reparto que se
hace es estático, se define previamente, y no tiene en cuenta el
estado del sistema en cada momento.

III. CONCLUSIONES.
- El balanceo de carga, es una métrica fundamental que
debe ser evaluada en la inclusión de nuevas tecnologías
de red, pues de ella depende que se haga un uso eficiente
de los recursos sin llegar a saturar los enlaces primarios.

- Un balanceo de carga es un sistema muy utilizado cuando


se tiene que atender mucho tráfico en una aplicación o
sitio web. Básicamente, consiste en crear un grupo de
servidores que se encarga de atender las solicitudes que [14] J. Williams, “Narrow-band analyzer (Thesis or Dissertation style),”
recibe un servicio, como una página web, servidores de Ph.D. dissertation, Dept. Elect. Eng., Harvard Univ., Cambridge, MA,
1993.
correo electrónico, un web service, etc.
[15] N. Kawasaki, “Parametric study of thermal and chemical nonequilibrium
nozzle flow,” M.S. thesis, Dept. Electron. Eng., Osaka Univ., Osaka,
- Por tanto, para aplicaciones web pesadas o para sitios web Japan, 1993.
que van a recibir un alto volumen de tráfico, merece la [16] J. P. Wilkinson, “Nonlinear resonant circuit devices (Patent style),” U.S.
pena contar con un sistema de balanceo de carga. Unido Patent 3 624 12, July 16, 1990.
a la economía y versatilidad de los Servidores Cloud, [17] IEEE Criteria for Class IE Electric Systems (Standards style), IEEE
creamos un escenario ideal para el despliegue de todo tipo Standard 308, 1969.
de aplicaciones [18] Letter Symbols for Quantities, ANSI Standard Y10.5-1968.
[19] R. E. Haskell and C. T. Case, “Transient signal propagation in lossless
isotropic plasmas (Report style),” USAF Cambridge Res. Lab.,
. Cambridge, MA Rep. ARCRL-66-234 (II), 1994, vol. 2.
[20] E. E. Reber, R. L. Michell, and C. J. Carter, “Oxygen absorption in the
IV. REFRERENCIAS BIBLIOGRAFICAS Earth’s atmosphere,” Aerospace Corp., Los Angeles, CA, Tech. Rep.
TR-0200 (420-46)-3, Nov. 1988.
[1] Antti, M., S. Siikavirta., M. Jukka, Comparison of load-
[21] (Handbook style) Transmission Systems for Communications, 3rd ed.,
balancing approaches for multipath connectivity, Western Electric Co., Winston-Salem, NC, 1985, pp. 44–60.
Computer Networks, 56(8) 2179-2195 (2012).W.-K. [22] Motorola Semiconductor Data Manual, Motorola Semiconductor
Chen, Linear Networks and Systems (Book style). Products Inc., Phoenix, AZ, 1989.
Belmont, CA: Wadsworth, 1993, pp. 123–135. [23] (Basic Book/Monograph Online Sources) J. K. Author. (year, month,
[2] Arco, J., A. García., J. A. Carral., G. Ibáñez, BSO day). Title (edition) [Type of medium]. Volume(issue). Available:
algoritmo de reparto de tráfico para MPLS-TE, http://www.(URL)
Universidad de Alcalá, Departamento de Ingeniería [24] J. Jones. (1991, May 10). Networks (2nd ed.) [Online]. Available:
http://www.atm.com
Computacional, España (2004).
[25] (Journal Online Sources style) K. Author. (year, month). Title. Journal
[3] Arco, J., A. García., E. Castro., J. A. Carral., G. Ibáñez, [Type of medium]. Volume(issue), paging if given. Available:
LCM: A load balance algorithm in MPLS-TE, http://www.(URL)
Universidad de Alcalá, Departamento de Ingeniería [26] R. J. Vidmar. (1992, August). On the use of atmospheric plasmas as
Computacional, 2004.E. H. Miller, “A note on reflector electromagnetic reflectors. IEEE Trans. Plasma Sci. [Online]. 21(3). pp.
arrays (Periodical style—Accepted for publication),” 876—880. Available: http://www.halcyon.com/pub/journals/21ps03-
vidmar
IEEE Trans. Antennas Propagat., to be published.
[4] Cao, Z., W. Zheng., E. Zegura, Hashing-Based traffic
splitting algorithms for internet load balancing, Georgia
Institute of Technology, Atlanta (2001)C. J. Kaufman,
Rocky Mountain Research Lab., Boulder, CO, private
Biografía Autor(es) (M'76-SM'81-F'87) y los otros autores
communication, May 1995.
pueden incluir las biografías al final de los documentos
[5] Chih-Heng, K, How to measure packet loss rate, jitter,
(papers) regulares. Por favor incluyan nombres y apellidos
and end-to-end delay for UDP-based applications? EE
con los cuales puedan ser identificados al registrar sus
Department, NCKU, 2011. [En línea], consultado en Abril
artículos (Son registrados en la base de Publindex en
10 de 2012M. Young, The Techincal Writers Handbook. Mill Valley,
CA: University Science, 1989.
Colciencias, entre otras). Si ha enviado documentos antes, no
[6] J. U. Duncombe, “Infrared navigation—Part I: An assessment of debe suponer que el Comité Editorial conoce o puede decidir
feasibility (Periodical style),” IEEE Trans. Electron Devices, vol. ED-11, cuál es o cuáles son los autores del artículo. Cada envío debe
pp. 34–39, Jan. 1959. ser completo en todos sus datos. El primer párrafo debe
[7] S. Chen, B. Mulgrew, and P. M. Grant, “A clustering technique for contener la filiación institucional (por ejemplo, profesor
digital communications channel equalization using radial basis function asociado, Facultad de Ingeniería de Sistemas, Universidad El
networks,” IEEE Trans. Neural Networks, vol. 4, pp. 570–578, July
1993. Bosque). Los grados deben listarse con el tipo de grado, en
[8] R. W. Lucky, “Automatic equalization for digital communication,” Bell qué campo, en que institución, ciudad, estado o país.
Syst. Tech. J., vol. 44, no. 4, pp. 547–588, Apr. 1965. El segundo párrafo usa el pronombre de la persona (él
[9] S. P. Bingulac, “On the compatibility of adaptive controllers (Published o ella) y no el apellido o nombre del autor. Lista la experiencia
Conference Proceedings style),” in Proc. 4th Annu. Allerton Conf. académica y laboral. Se ponen en mayúscula los títulos del
Circuits and Systems Theory, New York, 1994, pp. 8–16. trabajo. Pueden listarse cargos anteriores. Información que
[10] G. R. Faulhaber, “Design of service systems with priority reservation,” involucra las publicaciones anteriores puede ser incluida.
in Conf. Rec. 1995 IEEE Int. Conf. Communications, pp. 3–8.
Intente no listar más de tres libros o artículos publicados. El
[11] W. D. Doyle, “Magnetization reversal in films with biaxial anisotropy,”
in 1987 Proc. INTERMAG Conf., pp. 2.2-1–2.2-6. formato para listar a publicadores de un libro dentro de la
[12] G. W. Juette and L. E. Zeffanella, “Radio noise currents n short sections biografía es: el título de libro (la ciudad, estado: el nombre del
on bundle conductors (Presented Conference Paper style),” presented at publicador, año) similar a una referencia. Los intereses de
the IEEE Summer power Meeting, Dallas, TX, June 22–27, 1990, Paper investigaciones actuales y anteriores terminan el párrafo.
90 SM 690-0 PWRS. El tercer párrafo empieza con el título del autor y
[13] J. G. Kreifeldt, “An analysis of surface-detected EMG as an amplitude- apellido (por ejemplo, Dr. Smith, Prof. Jones, Sr. Kajor, Ms.
modulated noise,” presented at the 1989 Int. Conf. Medicine and
Biological Engineering, Chicago, IL. Hunter). Finalmente, liste cualquier premio por trabajos y
publicaciones. Proporcionar una fotografía es requisito para
publicar su artículo: la biografía se dentará alrededor de ella.
La fotografía se pone en la esquina superior izquierda de la
biografía. Se quitarán las aficiones personales de la biografía.

S-ar putea să vă placă și