1/ Retour d'expérience sur la mise en place d'une message queue pour SoCloz - http://www.socloz.fr.
- première phase : job queue, résolu par la mise en place de beanstalk
- deuxième phase : pub/sub.
Alternatives évaluées : NSQ (en complément de beanstalk) et RabbitMQ.
Adéquation fonctionnelle : léger avantage pour beanstalk (job), égalité (pub/sub)
Simplicité : avantage pour beanstalk/NSQ
Durabilité : avantage RabbitMQ
2/ Etat des lieux des solutions de message queue
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQMicrosoft
Avec une hétérogénéité sans cesse grandissante des systèmes d'information des entreprises, l'interopérabilité se retrouve soudainement au coeur des critères de décision. L'un des mécanismes populaires de découplage et de communication inter-systèmes repose sur l'utilisation de technologies orientées message ("message-oriented middleware"). Ces infrastructures ont longtemps été spécialisées en termes de plateforme cible (.Net, Java, etc) mais aussi non interopérable entre elles. Le standard émergent AMQP (Advanced Message Queueing Protocol) entre alors en scène, et permet de normaliser le format même du message. Ceci afin de pouvoir faire interopérer des implémentations diverses de middleware, sans surcoût de développement. Le standard AMQP a été initialement créé par des grands acteurs du monde bancaire tels que JPMorgan Chase, Goldman Sachs, Crédit Suisse, qui ont été rejoints par Microsoft, VMware, Cisco, et biens d'autres, dont Zenika. Bernard Jourdain et Pierre Queinnec présenteront donc une approche d'interopérabilité basée sur AMQP, permettant de faire communiquer un processus Java avec les technologies Microsoft (WPF), sur un cas réel simplifié, l'affichage temps réel commune par commune des résultats des élections présidentielles... 2007. Ils se baseront pour ce faire sur l'excellente implémentation AMQP du produit open-source RabbitMQ.
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQMicrosoft
Avec une hétérogénéité sans cesse grandissante des systèmes d'information des entreprises, l'interopérabilité se retrouve soudainement au coeur des critères de décision. L'un des mécanismes populaires de découplage et de communication inter-systèmes repose sur l'utilisation de technologies orientées message ("message-oriented middleware"). Ces infrastructures ont longtemps été spécialisées en termes de plateforme cible (.Net, Java, etc) mais aussi non interopérable entre elles. Le standard émergent AMQP (Advanced Message Queueing Protocol) entre alors en scène, et permet de normaliser le format même du message. Ceci afin de pouvoir faire interopérer des implémentations diverses de middleware, sans surcoût de développement. Le standard AMQP a été initialement créé par des grands acteurs du monde bancaire tels que JPMorgan Chase, Goldman Sachs, Crédit Suisse, qui ont été rejoints par Microsoft, VMware, Cisco, et biens d'autres, dont Zenika. Bernard Jourdain et Pierre Queinnec présenteront donc une approche d'interopérabilité basée sur AMQP, permettant de faire communiquer un processus Java avec les technologies Microsoft (WPF), sur un cas réel simplifié, l'affichage temps réel commune par commune des résultats des élections présidentielles... 2007. Ils se baseront pour ce faire sur l'excellente implémentation AMQP du produit open-source RabbitMQ.
Socket tcp ip client server on langace c mouad Lousimi
Les sockets sont des flux de données, permettant à des machines locales ou distantes de communiquer entre elles via des protocoles.
Les différents protocoles sont TCP qui est un protocole dit "connecté", et UDP qui est un protocole dit "non connecté".
Nous allons voir par la suite comment réaliser diverses applications telles qu'un client/serveur TCP
Présentation du protocole EIGRP
Fonctionnement, Algorithme DUAL, Structure, Configuration sur Cisco IOS, Routes résumées, EIGRP sur réseaux WAN, EIGRP Stubs, Sécurité, Vérification et Troubleshooting, EIGRP pour IPv6, Named EIGRP
El documento describe las críticas iniciales al método histórico de Marx y cómo este método propone una nueva herramienta para analizar la historia. También discute las filosofías idealistas e históricas previas que veían a Dios como guía de la historia humana, en contraste con el enfoque materialista de Marx.
Socket tcp ip client server on langace c mouad Lousimi
Les sockets sont des flux de données, permettant à des machines locales ou distantes de communiquer entre elles via des protocoles.
Les différents protocoles sont TCP qui est un protocole dit "connecté", et UDP qui est un protocole dit "non connecté".
Nous allons voir par la suite comment réaliser diverses applications telles qu'un client/serveur TCP
Présentation du protocole EIGRP
Fonctionnement, Algorithme DUAL, Structure, Configuration sur Cisco IOS, Routes résumées, EIGRP sur réseaux WAN, EIGRP Stubs, Sécurité, Vérification et Troubleshooting, EIGRP pour IPv6, Named EIGRP
El documento describe las críticas iniciales al método histórico de Marx y cómo este método propone una nueva herramienta para analizar la historia. También discute las filosofías idealistas e históricas previas que veían a Dios como guía de la historia humana, en contraste con el enfoque materialista de Marx.
Este documento presenta el horario y actividades planeadas del Departamento de Educación de Sonsonate para el mes de enero. José Adalberto Marínez Alfaro trabajará principalmente en la oficina departamental de educación preparando documentos, reuniones, y el plan de trabajo para el arte, cultura, recreación y deporte del 2010. Algunas de sus actividades incluyen reuniones con directores, escuelas y organizaciones para coordinar apoyo en estas áreas.
La tecnología tiene seguidores leales que se agrupan para compartir información y desarrollar aplicaciones. Se discute la entrada de línea para radio de automóvil. Carlos Parada fue diagnosticado con glaucoma a los 25 años, una enfermedad que puede causar ceguera si no se trata a tiempo. Los expertos en seguridad recomiendan pensar como los hackers para identificar sus técnicas y defenderse.
El maestro les contó a los jóvenes la historia de sus padres que estuvieron casados por 55 años. Cuando la madre murió repentinamente, el padre la llevó desesperadamente al hospital. Más tarde, el padre llevó a sus hijos al cementerio donde expresó que a pesar del dolor, estaba agradecido de haber compartido su vida con su esposa por tanto tiempo y que ella no tuvo que sufrir su muerte. La historia hizo que los jóvenes entendieran el verdadero significado del amor que va
L A S CÉ L U L A S Y L O S O R G A N I S M O S V I V O Sjaival
Este documento describe las características básicas de las células y los organismos. Explica que todos los seres vivos están compuestos de células, ya sean unicelulares u organismos pluricelulares. Describe las diferencias entre células animales y vegetales, incluyendo sus características y funciones. También explica cómo obtienen energía las células a través de la respiración celular y la fotosíntesis, y cómo se reproducen dividiéndose.
Este documento presenta curiosidades sobre sumar números en un calendario. Explica que para sumar los nueve números en cualquier cuadrado del calendario, se suma el número menor con 8 y se multiplica el resultado por 9. También muestra que se puede hacer lo mismo cuando los días están ordenados verticalmente. Además, pregunta cómo unir nueve puntos con sólo cuatro líneas.
Sergio G. Meneses Ponce tiene 19 años. Sus pasatiempos incluyen compartir con amigos, salir de fiesta, bailar, dormir y caminar. Estudió en el Colegio Santa María la Florida tanto la enseñanza básica como la media, egresando en 2006.
Nommer les choses est difficile, les trouver encore plus, surtout dans une infrastructure comme Criteo constituée de plus de plus de 1500 types de services fonctionnant sur 30 000 nœuds répartis sur 8 DCs !
HashiCorp Consul et son système de découverte de services permet de mélanger conteneurs et machines physiques, de passer d'un système de machine dédiées à une architecture de services dynamiques, d'une topologie physique à une topologie virtuelle dynamique.
Nous verrons comment Criteo réparti la charge sur son infrastructure avec des mécanismes variés: HaProxy, F5 (matériels) ou des bibliothèques côté client (Client Side Load Balancing) et de basculer à terme vers du ServiceMesh - que nous expliquerons - en utilisant Consul.
Cette présentation est à destination de développeurs ou d'Ops qui pourrons découvrir une vision d'architecture au delà d'une simple présentation du produit.
Nous expliquerons également comment Criteo est devenu premier contributeur externe à Consul, et quelques unes de nombreuses optimisations que nous avons dû y apporter de manière à en faire un des fondements de notre infrastructure.
https://cfp.devoxx.fr/2019/talk/QAF-5196/Consul@Criteo:_Des_services_un_peu,_des_machines_beaucoup,_du_ServiceMesh_bientot
Full version of IPv6 Matrix project presentation, in French, as given at INET Tunis.
Includes a section focusing on the last IPv4 address blocks available, and another section on African IPv6 connectivity - with a parallel to the spread on Internet in Africa between 1994-1997, thanks to my archives on International Connectivity.
La version intégrale de la présentation du projet IPv6 Matrix, en français, comme présentée au congrès INET Tunis.
Comprend une section consacrée au dernier blocs d'adresses IPv4 disponibles, et une autre section sur la connectivité IPv6 en Afrique - avec un parallèle de propagation Internet en Afrique entre 1994-1997, grâce à mes archives sur la connectivité internationale.
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
Most Developers live in Wonderland, a place where resources are unlimited, failures don't happen and where we take naps inside giant mushrooms.
The reality is different. Bottlenecks, failures, latency... take the red pill and come down the rabbit hole with us.
What the common bottlenecks are, how to detect them, the usual optimizations, and a full-scale use-case based on Jawg Maps (part 2)
Au cours des 10 précédentes années, nous avons eu des sessions de Devoxx FR et plusieurs versions dont certaines majeures de Java.
L’objectif de ce talk est de revenir rétrospectivement sur certaines annonces et sur certaines des nombreuses évolutions de Java, notamment récentes afin d’en profiter dans nos applications. Au-delà des évolutions syntaxiques et dans les API, ce sera aussi l’occasion de justifier la migration vers des versions plus récentes de Java.
Ogury est la plateforme de data mobile qui permet d’accéder aux données comportementales des profils de plus de 400 millions de mobinautes répartis dans plus de 120 pays.
Une plateforme micro-services c’est cool et c’est à la mode … mais il y a aussi le revers de la médaille ! L’augmentation du traffic inter-services peut dégrader vos temps de réponses car les connexions HTTP sont lentes.
Cependant des solutions existent pour optimiser le trafic réseau, durant cette session, David et Carles vous parleront de la solution qu’ils ont expérimentée : gRPC.
David Caramelo, Développeur Craftsman passionné depuis 12 ans, actuellement Tech Lead full stack chez Ogury. David s'est forgé son expérience essentiellement dans des startups parisiennes comme Viadeo ou Ogury et dans des cabinets conseil IT comme Xebia.
Carles Sistaré, Architecte-Développeur dans les clouds, actuellement Tech Lead de la team Delivery et co-fondateur d’Ogury. Carles a évolué dans le monde de la AdTech en passant par Ad4Screen et en tant qu’amateur de l’open-source en tant que commiteur Node-Kafka et créateur du module grpc-promise.
Similar to Messages queues - Socloz@PHPForum 2013 (20)
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
2. SOCLOZ ?
Un peu de contexte…
15/11/13
SoCloz - Tous droits réservés
2
3. Socloz : l’équipe
•
•
•
•
•
Fondée en 2010
En ligne depuis novembre 2011
Deuxième levée de fond bouclée
10 personnes (pas de stagiaires)
5 embauches en cours
15/11/13
SoCloz - Tous droits réservés
3
4. SoCloz : le produit
Moteur de recherche de produits en magasin
1 500 000 produits dans plus de 10 000 magasins et 150 enseignes
www.socloz.fr
SFR Shopping [mobile]
Le Guide
Mappy Shopping
…
Un système de réservation
Naf-Naf
Le Tanneur
Guy Degrenne
…
15/11/13
SoCloz - Tous droits réservés
4
5. SoCloz : l’architecture
Architecture à base de micro-services
Frontend : PHP Symfony2 • Backend : Go/PHP (Erlang) • 14 serveurs
récep,on
des
flux
enseigne
frontend
importa,on
API
internes
normalisa,on
enrichissement
indexa,on
15/11/13
SoCloz - Tous droits réservés
5
6. MESSAGES QUEUES : GÉNÉRALITÉS
Principes de bases, patterns d’utilisation et critères de choix
15/11/13
SoCloz - Tous droits réservés
6
7. Message queues : principe de base
Une message queue, comment ça marche ?
Serveur
1
consommateur
producteur
broker
consommateur
Serveur
2
consommateur
15/11/13
SoCloz - Tous droits réservés
7
8. Message queues : patterns d’utilisation
Point à point (job queue, RPC)
consommateur
producteur
broker
consommateur
consommateur
15/11/13
SoCloz - Tous droits réservés
8
11. Message queues : critères de choix
• Besoins fonctionnels
•
•
•
•
Point à point ou fan-out
Traitements différés
Rejeu/Rejeu différé en cas de plantage de worker
Priorités
• Garanties
•
•
•
Durabilité & Délivrabilité (plantage broker, consommateur inactif)
Garantie d’unicité
Garantie d’ordre
• Débit
Qu’est ce que je suis capable d’exploiter ?
Un outil universel et complexe ou deux outils spécialisés et simples ?
15/11/13
SoCloz - Tous droits réservés
11
13. Problématique #1 : traitement des flux
Besoin
Parallélisation de traitements
Solution : beanstalkd
• Job queue (priorité, délai)
• Catégorisation (tubes)
• Protocole simple et robuste : clients disponibles pour la
plupart des langages
15/11/13
SoCloz - Tous droits réservés
13
14. Beanstalk : exemple de code
pda/pheanstalk
Producteur
Consommateur
// initialisation
$pheanstalk = new Pheanstalk_Pheanstalk(
'127.0.0.1'
);
$pheanstalk->useTube('test');
// initialisation
$pheanstalk = new Pheanstalk_Pheanstalk(
'127.0.0.1'
);
$pheanstalk->watch('test');
// envoi d'un message
$pheanstalk->put("hello world");
15/11/13
// boucle de traitement des messages
while (true) {
$job = $pheanstalk->reserve();
try {
// traitement ...
echo $job->getData();
// suppression
$pheanstalk->delete($job);
} catch (Exception $e) {
// requeue (priorité par défaut, délai 0)
$pheanstalk->release($job, null, 0);
}
}
SoCloz - Tous droits réservés
14
15. Beanstalk : analyse
Avantages
• performant : in-memory, event-driven
• facile à mettre en place (pas de conf)
Inconvénients
• pas de réplication / cluster
• support durabilité́ minimal / expérimental
• Linux & FreeBSD uniquement
15/11/13
SoCloz - Tous droits réservés
15
16. PROBLÉMATIQUES #2 ET #3
Statistiques
Agents
15/11/13
SoCloz - Tous droits réservés
16
17. Problématique #3 : statistiques
Besoin
Décompte des vues produits/
marques/magasins/catégories
Solution initiale
Ecritures en base depuis le front
Maximum 3 écritures
de 1 à >100 compteurs sur une page
Tops produits/marques/
magasins/catégories
Map/Reduce
Problèmes
• Trop d’écritures en base
• Coût des map-reduce
• « Tu me ferais le top marques de chaque catégorie ? En temps réel ? »
Nouveau besoin
Fort volume, haute dispo, faible criticité
15/11/13
SoCloz - Tous droits réservés
17
18. Problématique #4 : agents
Besoin
Traitements asynchrones sur les
données importées
•
•
•
•
•
enrichissement de données (http, …)
normalisation
géocodage des adresses des magasins
téléchargement d’images
…
Solution initiale
Planification (polling)
Stockage d’un état en base de données
3 requêtes à chaque planification :
• Nouvelles données
• Réessais
• Mises à jour
Envoi de tâches dans Beanstalkd
Problèmes
• Requêtes de planifications coûteuses
• Ce serait mieux avec de vrais observers
Nouveau besoin : observers
Pub/sub, faible criticité
15/11/13
SoCloz - Tous droits réservés
18
20. NSQ : architecture
producteur
Envoi de messages sur un/plusieurs nsqd
nsqd
nsqd
nsq
lookupd
nsqd
Connexion à tous
les nsqd
simultanément
15/11/13
nsqd
Notification des nsqlookups de
la présence du topic
nsq
lookupd
consomma
teur
SoCloz - Tous droits réservés
Quels nsqd produisent ce topic ?
20
21. NSQ : exemple de code
nsqphp
Producteur
Consommateur
// initialisation
$nsq = new nsqphpnsqphp();
$nsq->publishTo('localhost');
// initialisation
$nsq = new nsqphpnsqphp(
new nsqphpLookupFixedHosts('localhost:4160')
);
$nsq
->subscribe('test', 'channel1', function ($msg) {
// traitement...
echo $msg->getPayLoad();
})
->subscribe('test', 'channel2', function ($msg) {
// traitement...
echo $msg->getPayLoad();
});
// envoi d'un message
$nsq->publish(
'test',
new nsqphpMessageMessage('hello world')
);
// boucle de traitement
$nsq->run();
15/11/13
SoCloz - Tous droits réservés
21
22. NSQ : contraintes sur le client
Problème
écouter plusieurs connexions nsqd en parallèle
Solution
E/S asynchrones (React)
http://reactphp.org/
•
•
•
écouteurs (callback) d’événements (écriture, lecture...) sur
descripteur (fichier, connexion)
timers (appel différé́)
plusieurs backends disponibles : libev, libevent, select
15/11/13
SoCloz - Tous droits réservés
22
23. NSQ : conclusion
Avantages
facile à mettre en place
• pas de conf
• topic / channel créés à la volée
Inconvénients
contraintes sur le client
idempotence
haute disponibilité́
• support simple et robuste
admin web
Conclusion
• Idéal pour pub/sub
• Peu adapté à notre besoin de job queue
15/11/13
SoCloz - Tous droits réservés
23
28. Autres outils : les plus simples
Redis (C)
Pub/sub simple, job queues simples. En direct ou avec un surcouche (ex: resque – GitHub pour Ruby)
Les - : fonctionnel limité (pas de rejeu, pas de différé)
http://redis.io/
Gearman (C – LiveJournal, digg)
RPC et job-queues
Les - : pas optimal en job-queue, pas de clusterisation
http://gearman.org/
http://pecl.php.net/package/gearman
Kestrel (Scala - twitter, foursquare, tumblr)
Job queue & pub/sub, protocole memcache
Les - : assez lourd, nécessite un minimum de connaissance de Scala
https://github.com/robey/kestrel
http://blog.shupp.org/2011/05/07/getting-started-with-kestrel-from-a-php-application/
Darner (C++ - wavii)
Dérivé de kestrel, plus simple, meilleurs performances
Les - : wavii racheté par Google, pérennité ?
https://github.com/wavii/darner
IronMQ (SaaS)
Fonctionnellement très complet et simple à mettre en place
Les – : pas gratuit
http://www.iron.io/mq
15/11/13
SoCloz - Tous droits réservés
28
29. Autres outils : les plus complexes
Amazon SNS/SQS (SaaS)
SNS (pub/sub) et SQS (job queue), à coupler éventuellement
Les – : pas gratuit, latences
http://aws.amazon.com/fr/sns/ et http://aws.amazon.com/fr/sqs/
Marconi (C – Openstack)
Réponse d’OpenStack à SNS/SQS. Basé sur 0MQ, utilise MongoDB/QPID pour le stockage
Les – : jeune (mais prometteur)
https://wiki.openstack.org/wiki/Marconi
Celery (Python – Instagram)
Couche d’abstraction au dessus d’un broker (RabbitMQ, Redis, MongoDB, CouchDB, SQS, IronMQ, …)
Les – : complexité (connaissance de Python recommandée)
http://www.celeryproject.org/
0MQ
Librairie C, avec extension PHP PECL
http://zeromq.org/
http://pecl.php.net/package/zmq
AMQP
QPID - http://qpid.apache.org/
ActiveMQ - http://activemq.apache.org/, Apollo - http://activemq.apache.org/apollo/
HornetQ - http://www.jboss.org/hornetq
15/11/13
SoCloz - Tous droits réservés
29
30. Autres problématiques : event/log processing
Distribué, performant, fonctionnel limité
Conçus souvent pour transporter des logs vers des systèmes de type Hadoop, mais utilisables
pour faire des traitements
Kafka (Java - LinkedIn, Tumblr, Twitter)
http://kafka.apache.org/
Fluentd (C/Ruby – Line, SlideShare)
http://fluentd.org/
Scribe (C++ - Facebook, Digg, Zynga)
https://github.com/facebook/scribe
Flume (Java - Cloudera)
https://cwiki.apache.org/confluence/display/FLUME/Home
15/11/13
SoCloz - Tous droits réservés
30
31. Autres problématiques : Stream processing
Storm - (Java/Clojure – Twitter, Groupon)
Des spouts injectent des flux de données qui sont traités par un graphe de bolts, développés
dans des langages variés (java, python, ruby, PHP, …)
http://storm-project.net/ et https://github.com/Lazyshot/storm-php
spout
spout
bolt
bolt
15/11/13
spout
bolt
bolt
SoCloz - Tous droits réservés
bolt
31
32. Merci !
SoCloz recrute :
- Un dev frontend (HTML/CSS/PHP+Symfony2)
- Un dev backend (PHP+Symfony2/Go)
- Un devops (Linux/Go/PHP)
techjobs@socloz.com
http://www.socloz.fr
@SoClozTech / @jfbus
jf@socloz.com