All Series

My Socket Learning Adventure

Join me on my humble journey of socket discovery in Linux with the "My Socket Learning Adventure" series. Together, we'll explore the world of Unix sockets,

7 Parts86 minJun 14, 2024
My Socket Learning Adventure series cover

Articles in this series

7 chapters
1
Part 1Aug 21, 2021

Socket sharding in Linux example with Go

Uncover socket sharding in Linux using Go, enabling multiple sockets to bind to the same IP and port for enhanced load balancing. The article provides insights into setting the SO_REUSEPORT socket option, creating a ListenConfig instance in Go.

Start readingNext: Understanding Unix Domain Sockets in Golang
2
Part 2Dec 5, 2022

Understanding Unix Domain Sockets in Golang

Delve into the workings of Unix domain sockets in Golang, contrasting them with network sockets. Explore their creation, efficient inter-process communication on the same machine, and practical code examples demonstrating a simple echo server setup​.

Read part 2Next: A simple example of using unix domain socket in Kubernetes
3
Part 3Dec 16, 2022

A simple example of using unix domain socket in Kubernetes

Discover using Unix domain sockets in Kubernetes for inter-container communication within a pod, illustrated with Go applications. Gain insights into setup, benefits like faster communication, and testing the deployment​.

Read part 3Next: Optimizing Large File Transfers in Linux with Go - An Exploration of TCP and Syscall
4
Part 4Jan 30, 2023

Optimizing Large File Transfers in Linux with Go - An Exploration of TCP and Syscall

Explore efficient large file transfers in Linux using Go, focusing on minimizing data copies and context switches via the sendfile syscall.

Read part 4Next: Getting Started with Networking and Sockets
5
Part 5Jun 7, 2024

Getting Started with Networking and Sockets

This article provides a comprehensive introduction to the fundamentals of socket programming using Rust and the nix crate. It starts with an overview of the OSI model and its practical application through the TCP/IP model, laying the groundwork for understanding network communication.

Read part 5Next: Networking and Sockets: Endianness
6
Part 6Jun 14, 2024

Networking and Sockets: Endianness

This article explores the concept of endianness in computer systems, focusing on how different byte orders (little-endian and big-endian) affect data interpretation in network communication. Through practical examples using Rust, we demonstrate the importance of handling endianness correctly when sending and receiving data between clients and servers.

Read part 6Next: Networking and Sockets: Syn and Accept queue
7
Part 7Jun 14, 2024

Networking and Sockets: Syn and Accept queue

In this article, we delve into the mechanics of TCP connection management, focusing on the SYN queue and the accept queue. We explore backlog configurations, system parameters like net.core.somaxconn and net.ipv4.tcp_abort_on_overflow, and how they affect queue behavior.

Read part 7Final chapter
rocket

© 2023 KungFuDev made with love / cd 💜

Heavily inspired/copied from shuttle.rs