Resilience with Disyuntor - Circuit Breaker

Resilience means the capacity to recover quickly from difficulties. Circuit breaker pattern is a good practice for resilience. When working with distributed systems, you want resilience. If you’re working with “micro-services,” you probably have faced with the problem of a service going down. When X service goes down, and Y and Z depend on X, every internal exception could potentially start taking other services down. If you don’t work with micro-services, you might still have an integration with a payment provider (PayPal, Stripe, Google Play, etc.). What happens when any of those providers goes down? Imagine a request comes to your internal service, then your service makes a request to Stripe, then Stripe takes 30 seconds to tell you there was something wrong. How many requests have queued up in 30 seconds in your service? ...

May 27, 2017 · 7 min · Hector Yeomans

Redis, STunnel, and C#

In this blog post, I will try to demonstrate how to setup a working environment with StackExchange.Redis package is communicating to a Redis box using SSL through STunel. By the end of this post, you will have a working environment on Vagrant like this: ...

January 25, 2017 · 7 min · Hector Yeomans

ES6 Arrow functions

Last night I was reading this post: ES6 arrow functions, syntax and lexical scoping and going through the comments I saw this question: so arrow functions always inherit scope? The answer was by Barney: always. I went to the console and typed: nvm use 4 node var doSome = () => { console.log(this.x) } doSome.call({x: 'hello'}); global.x = 'hello'; doSome.call({x: 'good bye'}); Could you guess what is going to be printed? I could replicate this on ES5 without fat arrow function. ...

September 21, 2015 · 1 min · Hector Yeomans