A starting point to design a large-scale distributed system

Aerial view of coffee shop
Photo by The Creative Exchange on Unsplash.

System Design Jargon

We’ll cover these system design topics:


Build a custom log formatter for Sublime Text using Python

Photo by Glen Carrie on Unsplash

Plugin Idea —A Custom Log Formatter

Imagine we have a logger that logs all the API requests and responses. And here is an example request:

PurchaseRequest(itemId: 375, name: "Spook", price: Amount(value: 100, currency: 'USD'), insurancePolicies=[20931, 12035])


Tap into the power of Google Drive

Photo by Stephen Frank on Unsplash



UIStackView simplifies the view layout by reducing the number of constraints

Photo by Annie Spratt on Unsplash

Introduction

UIStackView is one of the most important and powerful UIKit components introduced in iOS 9. It is so powerful and elegant that it really speeds up a lot of us pushing to drop support for iOS 8.



This is a semi-rerun of an older blog Developing Microservices with minikube. If you are into Typescript and want some step-by-step level of details, check that out instead. We focus more on Kubenetes and Docker instead of building applications here.

There are 3 apps: auth, gateway, and books. They are implemented in 3 different ways.

  • Scala + finch
  • Python +…


System DNS configuration

View the DNS configuration used by this system. It is expected to see the following.

$ scutil --dns...
resolver #8
domain : local.zone
nameserver[0] : 127.0.0.1
flags : Request A records, Request AAAA records
reach : 0x00030002 (Reachable,Local Address,Directly Reachable Address)

System Log

Check the system log for errors. In this case, dnsmasq is in a reboot loop.

$ tail -f /var/log/system.logMay 19 22:06:51 L10019 com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq[16346]): Service exited with abnormal code: 3
May 19 22:06:51 L10019 com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service…

Using /etc/hosts

A simple solution is to add entries in /etc/hosts. This file overwrites the DNS resolving. Whatever is specified in this file, it will be automatically redirected to the corresponding IP address. For example, this is a default etc/hosts:

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1 localhost


Number of stars overtime https://github.com/kubernetes/kubernetes
  • gateway_svc handles all requests from the client.
  • books_svc handles book lookup by id.

Yuchen Zhong

I work as an Engineer in the day time. At night and over the weekend, I play with various stuff and write about them, either related or not related to work.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store