Architecture de production: updated

décembre 1st, 2011 · 6 Comments ·

En février j’avais partagé avec vous un schéma simplifié de notre architecture de production. Cette dernière a un peu évoluée au cours des 6 derniers mois, voici ce que ça donne aujourd’hui (cliquez pour agrandir):

architecture201111-500

Les nouveautés principales sont:

  • TreeRank sur Amazon EC2.
  • Stockage des images sur plusieurs buckets Amazon S3.
  • Utilisation de Cassandra (NoSQL) pour soulager notre base de données MySQL.
  • Doublement de notre capacité Fetch.

Au delà des réseaux CDNs, Pearltrees exploite aujourd’hui des machines ou des VMs aux US (Virginie, Palo-Alto), au Canada, en Ireland et en France.

Tags: Uncategorized


6 responses so far ↓

  • Deux questions :
    - C’est quoi Fetch ?
    - Vous utilisez CloudFront pour gérer vos différents buckets S3 ?

  • - Fetch comme son nom l’indique est notre crawler. Il effectue des tâches tel que la prise de thumbshots et l’analyse des metas données des pages. Fetch traite aujourd’hui 250.000 urls / jour.

    - Oui on utilise 2 instances CloudFront qui pointent sur un bucket aux US et un bucket en Europe. Ainsi même si le fichier est pas dans le cache de CloudFront, l’origine n’est jamais de l’autre côté de l’atlantique. On fait un peu de monitoring sur les GET, PUT sur S3, et tu veux vraiment pas utiliser S3 sans CloudFront ;)

  • Bonjour,

    Est-il obligatoire de faire cohabiter Cassandra et un service Web sur le même serveur ? Je développe en C# et je ne souhaite pas héberger Cassandra  sur le même serveur que IIS, ni dans un environnement Windows. L’objectif est donc de séparer l’application (serveur A : Windows/IIS) et la base de données (Serveur B/C/D/E : Debian/Cassandra).

    En vous remerciant par avance.

  • Séparer sa base de données (Cassandra ou autre) de son serveur web n’est pas obligatoire mais c’est fortement souhaitable.

  • On est en phase. Problème : les hôtes présents sur le même réseau, ne peuvent pas interroger la base de données. Je ne parviens pas à autoriser l’accès au port utilisé par Cassandra, donc 9160 (par défaut). J’ai pourtant créé des règles de firewall, sans succès (iptables -A INPUT -p tcp –dport 9160 -j ACCEPT).  Il faut semble t-il modifier le fichier de configuration Cassandra (version 0.8) conf/storage-conf.xml mais qui n’est pas présent. Une idée ?
     

  • Merci pour le partage, si vous êtes intéressé dans l’affaire  Jeremy Scott Adidas, bienvenue sur notre site!

Leave a Comment