ZMQ: Création d’un Service Bus IPC avec 0mq

J’ai présenté la librairie de messaging ZMQ dans mon article une intro à 0mq que je vous recommande de lire avant celui-ci. Cette fois, j’aborde un exemple de mise en oeuvre de ZMQ pour créer un Service Bus inter-processus, permettant de faire communiquer différentes applications par événements. Les idées suivantes seront abordées : Publication et […]

LMAX Disruptor pattern: une file non bloquante à ultra basse latence

LMAX Disruptor est un pattern et une implémentation conçue par la société LMAX pour des applications de trading haute fréquence (basse latence et haut débit). C’est un projet open-source Java pour lequel il existe une réécriture .NET. Introduction à LMAX Disruptor L’implémentation proposée par LMAX est d’une rare efficacité : il y a en fait […]

ZeroMQ: une intro à 0MQ (.NET)

ZMQ est une API de files d’attentes (aka Messaging) basée sur des sockets et conçue spécialement pour des applications à hautes performances et faible latence. Sa prise en main sur des applications « real-world » ne m’a pas semblé aisée, aussi j’espère que cet article pourra aider à saisir les premiers principes nécessaires pour utiliser cette API. […]

Lire et modifier une propriété avec les Expression Trees (c#)

Voici l’objectif recherché : var sampleObj = new MyObject(); sampleObj.Update(t => t.Foo, « bar »); Les Expression Trees sont à la base du langage Linq. Certes, le coût en performances n’est pas négligeable (réflexion et compilation de code dynamique). Mais couplés aux expressions lambda, ils sont un moyen astucieux pour faciliter le développement sur certains frameworks où […]

Upload de fichier (cross-domain)

Ce sujet n’a rien de récent et plusieurs solutions existent depuis longtemps. Ces solutions varient selon notamment les conditions suivantes : Compatibilité des navigateurs (notamment IE < 10) Cross-domain: domaine ou sous-domaine différent ? Ces deux conditions préfigurent les deux problèmes à résoudre pour mettre en oeuvre un upload de fichier à partir d’une page […]

Chiffrement d’un ApiController

J’ai eu un cas intéressant cette semaine: « sécuriser » les échanges entre WebApi internes, dont une partie des services est exposée en externe. Certains ApiControllers publics, d’autres internes. Je me suis orienté vers une solution simple, sans doute peu générique, malgré tout très testable. Cela consiste à chiffrer les échanges de ces contrôleurs internes (les paramètres […]