We are delighted to tell you that we'll have our second Papers We Love @ Porto at UPTEC. This time we'll host Carlos Baquero (https://twitter.com/xmal) and Michael Domingues (https://www.linkedin.com/in/michaelapdomingues).
> Performance testing of open-source HTTP web frameworks in an API
Upon each day there are more and more services running on the web and we are trying to make to most out of them. These Web Applications (WAs) represent thousands of type of services we can interact with like weather forecast and Application Programming Interface (API) which use by themselves other WAs. API provides at a certain authorization level access to multi-source data using several request endpoints in a multi-tier architecture where performance is critical and it must be ensured the best throughput, response time and availability. This study presents the implementation of three open-source web frameworks (Revel, Gin and Echo) in a corporate API developed by Movvo® in order to evaluate the overall architecture using Apache Benchmark as a load testing tool. Results show Gin contributed to the fastest response times for a set of requests that vary on processing and retrieved data complexity.
> Causality is simple
Causality is an essential component of how we make sense of the physical world, and of our relations to other humans. If I put a cup on the table, and look back at it, I expect it to be there. I also expect to get a reply to my postcards, after I send them, and not before. These days hardly any service can claim not to have some form of distributed algorithm at its core. In a distributed scenario, if we are not careful, it is very easy to break the causal sense of things. In a key-value store my writes can be directed to a replica, and my subsequent reads served from an outdated one --- my cup might not be there when I look back. Message dissemination middleware might not always provide the ordering I expect --- I might receive some replies, before their leading questions.
Luckily, most of these problems were already there 30 years ago, although in a much smaller scale, and lots of techniques have been developed to keep track of causality and make sense of the complex interactions in modern systems. However developers often look at techniques such as as replica synchronization with version vectors, or causal broadcasting algorithms, as black boxes; or as complex sets of rules that have to be followed and not questioned.
This talk will focus on bringing back the intuition on causality, and show that keeping in mind some simple concepts, allows to understand how version vectors and vector clocks work, and were they differ, and how to use more sophisticated mechanisms to handle millions of concurrent clients in modern distributed data stores.
Carlos Baquero is an Assistant Professor and teaches Distributed Systems at Universidade do Minho, Portugal. He is a Senior Researcher at the High Assurance Laboratory within INESC TEC. In the 90s, motivated by mobile computing and disconnected operation for file systems, he studied data types with merge (and fork) operations over semi-lattices, a precursor to state-based CRDTs. He is also interested in causality and in distributed aggregation algorithms. He specially likes all things distributed that eventually merge.
Doors will open around 18:30 and presentations will start after a quick introduction of the meetup, around 19:00.
After each presentation, we will open up the floor for discussion, questions and drinks!
This meetup will be sponsored by XING.
Hope to see you soon!
If you want to present a paper either in a full or lightning-talk format, feel free to reach @ordepdev or submit the CFP form (https://docs.google.com/forms/d/1OfwO8XlESmka1uWB_HczuCjsy__o8ORdqEEKBmGXQxA).