Skip to content

Instantly share code, notes, and snippets.

View gustavomassa's full-sized avatar

Gustavo Massaneiro gustavomassa

View GitHub Profile
@gustavomassa
gustavomassa / GoConcurrency.md
Created August 10, 2022 19:07 — forked from rushilgupta/GoConcurrency.md
Concurrency in golang and a mini Load-balancer

INTRO

Concurrency is a domain I have wanted to explore for a long time because the locks and the race conditions have always intimidated me. I recall somebody suggesting concurrency patterns in golang because they said "you share the data and not the variables".

Amused by that, I searched for "concurrency in golang" and bumped into this awesome slide by Rob Pike: https://talks.golang.org/2012/waza.slide#1 which does a great job of explaining channels, concurrency patterns and a mini-architecture of load-balancer (also explains the above one-liner).

Let's dig in:

Goroutines

@gustavomassa
gustavomassa / README.md
Last active December 10, 2021 01:06 — forked from mertyildiran/README.md
Mizu Development Workflow

In this tutorial we'll explain two development workflows for Mizu:

  • Standard development workflow that you build a Docker image, publish into Docker Hub and pull it to Kubernetes. The workflow is only necessary if you're developing some Kubernetes specific feature.
  • Local machine development workflow that you run Mizu Agent on your machine with sudo privileges. Which is much faster than the standard development workflow and can be used if you're not developing a Kubernetes specific feature.

Standard Development Workflow

Whenever you make changes in the agent and tap packages or protocol extensions to test it; you first need to build a Docker image: