Skip to content

Go tutorial on building a client to use Phteven API - Coding Dojo at Redbubble

Notifications You must be signed in to change notification settings

anhnk/phteven-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phteven Tutorial

What is Go?

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Go is developed by a team at Google and many contributors from the open source community.

Why Go?

Go’s excellent tooling, elegant concurrency model and unique approach to object-orientation has captivated the attention of developers from compiled and scripting languages alike.

Easy to learn. A comparison of keywords from different languages (source):

  • C++ — 84
  • JavaScript — 63
  • Pascal — 54
  • Rust — 52
  • Java — 50
  • Scala — 39
  • Python — 33
  • C — 32
  • Go — 25 ❤

Companies Using Go

We could downsize our provisioned API server pool by about 90%. And we were also able to remove silos of isolated Rails API servers from our stack, drastically simplifying our architecture.

As if that weren't enough, the time it takes to run our full integration test suite dropped from 25 minutes to 2 minutes, and the time to do a full API server deploy with rolling restarts dropped from 30 minutes to 3 minutes. The go API server restarts gracefully so no load balancer juggling and prewarming is necessary.

Compiling our code also turned out not to be an issue — our largest Go app compiles in ~2.5 seconds at worst.

With our Golang upgrade, we are easily able to handle 200 requests per minute and 1.5 million S3 item fetches per day. And those 4 load-balanced instances we were running Octo on initially? We’re now doing it with 2.

We migrated our entire API stack from Python (First Django then Falcon) to Go, reducing the mean response time of an API call from 100ms to 10ms.

We reduced the number of EC2 instances required by 85%.

Want to learn more?

About

Go tutorial on building a client to use Phteven API - Coding Dojo at Redbubble

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published