Guías recientes

Muro social

Acceder  
Joseph Vargas
Joseph Vargas
Para hacer algo diferente de la rutina, hablaré un poco de aspectos técnicos de Centro Pokémon y las tecnologías que hacen posible que les sigamos trayendo las noticias día a día

Desde 2005 y hasta aproximadamente 2011, Centro Pokémon usaba un sistema de noticias (en PHP) algo rudimentario llamado CuteNews. Fue alrededor de esa época cuando empecé a trabajar junto con Sebastián, creador de Centro Pokémon y me dispuse a migrar de CuteNews a WordPress, un sistema mucho más moderno y con mayor facilidad de uso y mantención.

Todo estuvo bien con WordPress durante un tiempo, pero en 2014 introdujimos el "nuevo Centro Pokémon", el ya conocido diseño rojo del sitio web, móvil y muchísimo más dinámico. Sin embargo esto tuvo un costo: la carga del servidor aumentó muchísimo (WordPress es reconocido por comerse fácilmente los recursos de los servidores) y así como estábamos no íbamos a durar mucho.

Es por eso que a lo largo de estos años varios sistemas de cache fueron implementados en Centro Pokémon, varias capas de software que cachean el código HTML para que el servidor no tenga que procesarlo.

Nuestro servidor web primario es Apache 2.6 y actualmente usamos PHP 7, la versión más reciente que provee mejoras serías de velocidad y MariaDB para la base de datos.

La primera capa de caché y la más importante consiste en Varnish, la cual cachea completamente los requests de los usuarios que no han iniciado sesión (básicamente el 99% de las visitas) haciendo que carguen ridículamente rápido. Además sigue sirviendo el HTML cacheado a todos los visitantes aún cuando el backend (servidor Apache que genera el HTML) está caído o saturado.

Además, usamos Redis, una base de datos NoSQL de alto rendimiento en la que cacheamos a corto plazo ciertas partes del sitio que son costosas de procesar normalmente, como la página principal y las secciones de las guías. Este cache también está activo para usuarios que hayan iniciado sesión (de lo contrario el sitio web les cargaría extremadamente lento). También lo utilizamos para dinámicamente almacenar los números de shares en redes sociales que han tenido las noticias, así como los comentarios de Facebook para poder mostrarlos en la página principal. Esto se procesa en una cola y la fecha de expiración depende de la antigüedad de la noticia, ya que noticias más viejas ya no cambiarán su número de shares o comentarios tan seguido, por lo que los podemos almacenar por más tiempo.

Esta combinación de Varnish + Redis nos permite servirá la mayoría de requests al sitio web bastante rápido, con un tiempo de procesamiento bastante corto para la gran mayoría de visitas. Además por encima de todo esto la capa externa consiste en un servidor Redis, que procesa muy rápidamente los recursos estáticos como imágenes y scripts, además de que nos permite implementar SSL (que Varnish por sí solo no puede).

Recientemente activamos el HTTPS por defecto y gracias a esto los navegadores compatibles usarán HTTP/2 que acelerará la carga del sitio.

Centro Pokémon es un sitio bastante grande y complicado, y definitivamente se podría optimizar todavía más (en especial minificar todo el JS y CSS y minimizar los resquests, pero resulta bastante difícil con WordPress) pero por el momento esto nos ha permitido aguantar ataques DDOS y picos de tráfico de varias decenas de miles de visitantes activos en un momento determinado.

Si leyeron hasta acá es porque probablemente han entendido por lo menos algo de lo que he dicho, o están interesados en aprender más. Espero que les haya resultado interesante está descripción de los sistemas de cache de Centro Pokémon y si tienen alguna pregunta o desean aprender más no duden en hacérmela llegar.
98 59    Ver en Facebook
Cris Alvarez
Cris Alvarez compartió la publicación de El Tentacruel Guapo en el grupo Centro Pokémon (grupo oficial).
:'v
7    Ver en Facebook
Eisten Gonzales Espinoza
Eisten Gonzales Espinoza compartió la publicación de PokeChester en el grupo Centro Pokémon (grupo oficial).
Todos y ustedes :/
13 5    Ver en Facebook
Victor Puchuri Acosta
Victor Puchuri Acosta
¿Alguien aún juega Shuffle?
Agréguenme
3 2    Ver en Facebook
Tannya Barbiaux Reyes
Tannya Barbiaux Reyes
A algún otro adulto responsable como yo ya se le hizo tarde por estar jugando pokémon ? :v
14 15    Ver en Facebook

Calendario de eventos

Listado completo  
   
Marshadow para Europa
  • Del 1 de octubre al 16 de noviembre
  • Para Pokémon Sol y Luna
  • En España en tiendas GAME
Más detalles
   
Marshadow para América
  • Del 9 al 23 de octubre
  • Para Pokémon Sol y Luna
  • Código disponible en tiendas
Más detalles
   
Rockruff (lanzamiento USUM)
  • Vía Nintendo Network
  • Evoluciona en la forma Crepuscular
  • Del 17/08/2017 al 10/01/2018
Más detalles

Próximos lanzamientos

Lanzamiento de Pokémon Ultrasol y Ultraluna
17 de noviembre de 2017
17 de noviembre de 2017
17 de noviembre de 2017

Síguenos en redes sociales

Síguenos

Publicidad

Curiosidad Pokémon
El inicial favorito de Junichi Masuda, el director de Pokémon, es Bulbasaur.
Quantcast