Tagged articles

Go

1784 articles · Page 17 of 18
Liangxu Linux
Liangxu Linux
Dec 28, 2019 · Backend Development

How to Build a Million‑User Ticket Spike System: Insights from 12306

During holidays, millions of users scramble for train tickets, overwhelming the 12306 system; this article dissects its high‑concurrency architecture, explains load‑balancing layers, demonstrates Nginx weighted round‑robin configuration, and provides a Go‑based spike simulation with Redis stock management and performance results.

GoHigh concurrencyNGINX
0 likes · 21 min read
How to Build a Million‑User Ticket Spike System: Insights from 12306
Alibaba Cloud Native
Alibaba Cloud Native
Dec 25, 2019 · Backend Development

Master Go Panic/Recover, Thread Limits, and Error Handling – A Practical Guide

This article explores Go's panic/recover mechanism, identifies which runtime errors can be recovered, explains unrecoverable scenarios like thread exhaustion and map race, demonstrates best‑practice error handling with Go 1.13 features and popular error libraries, and offers concrete logging strategies for robust server development.

Error handlingGOMAXPROCSGo
0 likes · 34 min read
Master Go Panic/Recover, Thread Limits, and Error Handling – A Practical Guide
Xueersi Online School Tech Team
Xueersi Online School Tech Team
Dec 20, 2019 · Fundamentals

Understanding Duck Typing and Interface Implementation in Go

This article analyzes Go's duck typing and interface mechanisms, explaining how interfaces are defined, implemented, and converted at runtime, including details of underlying structures like iface and eface, method sets, pointer vs value receivers, and type assertions, supplemented with code examples and assembly insights.

GoInterfaceduck-typing
0 likes · 22 min read
Understanding Duck Typing and Interface Implementation in Go
Alibaba Cloud Native
Alibaba Cloud Native
Dec 18, 2019 · Backend Development

Why Go (Golang) Really Matters for Modern Server Development – A Complete Guide Overview

This article provides a comprehensive overview of Go, covering its naming history, reasons to choose it for server development, key milestones, garbage collection, error handling, module system, concurrency primitives, context management, engineering practices, and the upcoming Go2 evolution, while highlighting its relevance to cloud-native backend engineering.

GoModuleslanguage design
0 likes · 15 min read
Why Go (Golang) Really Matters for Modern Server Development – A Complete Guide Overview
Cloud Native Technology Community
Cloud Native Technology Community
Dec 18, 2019 · Cloud Native

Deep Dive into the Kubernetes Job Controller Implementation

This article provides a detailed walkthrough of the Kubernetes Job controller source code, explaining the flow from kube‑controller‑manager initialization through key functions such as NewJobController, Run, worker, syncJob, and manageJob, and illustrates how informers, workqueues, and expectations coordinate job lifecycle management.

CloudNativeGoJobController
0 likes · 17 min read
Deep Dive into the Kubernetes Job Controller Implementation
System Architect Go
System Architect Go
Dec 15, 2019 · Operations

Using Makefile to Define Build Commands and Advanced Features

This article explains how to use Makefiles to create custom build commands, define variables, handle recursive targets, incorporate shell output, add conditional checks, and generate help messages, providing practical examples for Go projects and general build automation.

AutomationGobuild
0 likes · 5 min read
Using Makefile to Define Build Commands and Advanced Features
Mafengwo Technology
Mafengwo Technology
Dec 13, 2019 · Backend Development

How Go‑Powered IM Architecture Boosted E‑commerce Messaging Performance

This article explains how a travel e‑commerce platform rebuilt its instant‑messaging service with Go, separating business logic, introducing a dual‑layer distributed architecture, and optimizing performance and reliability to handle massive concurrent connections and improve overall GMV.

GoInstant MessagingWebSocket
0 likes · 16 min read
How Go‑Powered IM Architecture Boosted E‑commerce Messaging Performance
360 Tech Engineering
360 Tech Engineering
Dec 11, 2019 · Backend Development

Implementing a Simple Load Balancer in Go

This article walks through building a basic round‑robin load balancer in Go, covering the underlying principles, data structures, reverse‑proxy integration, atomic indexing, concurrency handling, health‑check mechanisms, and how to extend the implementation for production use.

Backend DevelopmentGoLoad Balancer
0 likes · 11 min read
Implementing a Simple Load Balancer in Go
Xueersi Online School Tech Team
Xueersi Online School Tech Team
Dec 6, 2019 · Fundamentals

Understanding Go Slice Internals: Structure, Initialization, Append, Slicing, Copy, and Parameter Passing

This article explains the internal representation of Go slices, how they are created and initialized, the mechanics of append and capacity growth, slicing behavior, deep‑copy using the copy function, and whether slices are passed by value or reference, all illustrated with source code and assembly excerpts.

Goappendcopy
0 likes · 24 min read
Understanding Go Slice Internals: Structure, Initialization, Append, Slicing, Copy, and Parameter Passing
dbaplus Community
dbaplus Community
Nov 20, 2019 · Backend Development

Designing a High‑Concurrency Ticket‑Spiking System for 1M Users and 10K Tickets

This article explains how to architect a high‑concurrency ticket‑seckill system that can handle one million simultaneous users buying ten thousand tickets, covering load‑balancing strategies, Nginx weighted round‑robin configuration, Go service implementation, Redis‑based inventory management, and performance testing results.

GoHigh concurrencyNGINX
0 likes · 20 min read
Designing a High‑Concurrency Ticket‑Spiking System for 1M Users and 10K Tickets
ITPUB
ITPUB
Nov 20, 2019 · Backend Development

How to Build a Million‑User Ticket‑Spike System with Nginx, Go, and Redis

This article explains the design of a high‑concurrency train‑ticket flash‑sale system, covering distributed load‑balancing, Nginx weighted round‑robin, local and remote stock deduction, Go implementation, Redis atomic scripts, and performance testing with ApacheBench.

GoHigh concurrencyNGINX
0 likes · 20 min read
How to Build a Million‑User Ticket‑Spike System with Nginx, Go, and Redis
MaGe Linux Operations
MaGe Linux Operations
Nov 19, 2019 · Backend Development

How to Build a Million‑User Ticket‑Spike System with Nginx, Go, and Redis

This article explores the architecture and implementation of a high‑concurrency ticket‑spike system, covering load‑balancing strategies, Nginx weighted round‑robin configuration, Go‑based local stock deduction, Redis‑backed unified inventory control, and performance testing with ApacheBench to achieve stable, scalable ticket sales during peak demand.

GoHigh concurrencyload balancing
0 likes · 19 min read
How to Build a Million‑User Ticket‑Spike System with Nginx, Go, and Redis
Programmer DD
Programmer DD
Nov 15, 2019 · Fundamentals

Why Concurrency Isn’t the Same as Parallelism: A Simple Analogy

This article explains the subtle difference between concurrency and parallelism using a ground‑hog and cart analogy, shows how task decomposition creates concurrent pipelines, and maps the model to scalable web‑service architecture, referencing Rob Pike’s talk “Concurrency is not Parallelism”.

GoProgramming FundamentalsWeb services
0 likes · 7 min read
Why Concurrency Isn’t the Same as Parallelism: A Simple Analogy
360 Tech Engineering
360 Tech Engineering
Nov 14, 2019 · Backend Development

Building a Simple TCP Port Scanner in Go

This article walks through creating a lightweight TCP port scanner in Go, covering basic TCP handshake theory, single‑port testing, looping over ports, adding concurrency with WaitGroup, implementing timeouts, using the flag package for command‑line options, and handling race conditions with a mutex.

GoNetwork ProgrammingPort Scanner
0 likes · 8 min read
Building a Simple TCP Port Scanner in Go
21CTO
21CTO
Nov 8, 2019 · Backend Development

How to Build a Million‑User Ticket Spike System with Nginx Load Balancing and Redis

This article explores the design of a high‑concurrency ticket‑spike system, covering multi‑layer load balancing, weighted Nginx routing, pre‑deduction inventory strategies using Redis, Go implementation details, and performance testing that demonstrates handling millions of requests while preventing oversell and ensuring high availability.

GoNGINXRedis
0 likes · 19 min read
How to Build a Million‑User Ticket Spike System with Nginx Load Balancing and Redis
Programmer DD
Programmer DD
Nov 7, 2019 · Backend Development

How to Build a High‑Concurrency Ticket‑Spike System with Go, Nginx, and Redis

This article dissects the extreme concurrency challenges of China's 12306 ticket‑spike scenario, presents a layered load‑balancing architecture, compares order‑processing strategies, and provides a complete Go‑based prototype with Nginx weighted routing and Redis atomic stock deduction, complete with performance testing and key takeaways.

GoHigh concurrencyNGINX
0 likes · 19 min read
How to Build a High‑Concurrency Ticket‑Spike System with Go, Nginx, and Redis
Big Data Technology & Architecture
Big Data Technology & Architecture
Nov 4, 2019 · Backend Development

Designing a High-Concurrency Ticket Spike System with Go, Nginx, and Redis

This article explains how to build a high‑concurrency ticket‑seckill system using Go, Nginx weighted load balancing, and Redis, covering architecture design, local and remote stock deduction, Lua scripting for atomic operations, and performance testing with ApacheBench to achieve thousands of requests per second without overselling.

GoNGINXdistributed-systems
0 likes · 19 min read
Designing a High-Concurrency Ticket Spike System with Go, Nginx, and Redis
Architect's Tech Stack
Architect's Tech Stack
Nov 4, 2019 · Backend Development

Design and Implementation of a High‑Concurrency Ticket Seckill System Using Go, Nginx, and Redis

This article explains how to build a high‑concurrency train‑ticket flash‑sale system that can handle millions of requests by combining layered load‑balancing, Nginx weighted round‑robin, in‑memory stock deduction, Redis atomic Lua scripts, and a Go HTTP service with channel‑based concurrency control, and it provides performance test results and source code.

GoHigh concurrencyNGINX
0 likes · 18 min read
Design and Implementation of a High‑Concurrency Ticket Seckill System Using Go, Nginx, and Redis
Java Backend Technology
Java Backend Technology
Oct 29, 2019 · Backend Development

How to Build a Million‑User Ticket‑Spiking System with Nginx, Go, and Redis

This article explores the architecture and implementation of a high‑concurrency train‑ticket flash‑sale system, covering load‑balancing strategies, weighted round‑robin Nginx configuration, local and remote stock deduction using Go and Redis, performance testing, and key lessons for building reliable, scalable services.

GoHigh concurrencyNGINX
0 likes · 20 min read
How to Build a Million‑User Ticket‑Spiking System with Nginx, Go, and Redis
FunTester
FunTester
Oct 24, 2019 · Backend Development

Why qrpc Beats gRPC: A Lightweight, High‑Performance RPC Framework

qrpc is a lightweight, high‑performance RPC framework that adopts gRPC's streaming and bidirectional concepts without HTTP/2, offering a smaller binary, lower memory usage, up to three‑fold throughput gains, and flexible modes such as blocking, non‑blocking, streaming, push, and bidirectional calls, all demonstrated with Go code examples and real‑world use cases.

GoMicroservicesRPC
0 likes · 12 min read
Why qrpc Beats gRPC: A Lightweight, High‑Performance RPC Framework
System Architect Go
System Architect Go
Oct 18, 2019 · Backend Development

Error Handling in Go Before and After Go 1.13

This article explains Go's built‑in error interface, the traditional ways of creating and checking errors before Go 1.13, and the new errors.Unwrap, errors.Is, errors.As functions plus the %w verb in fmt.Errorf introduced in Go 1.13 for error wrapping and inspection.

Error handlingGoas
0 likes · 5 min read
Error Handling in Go Before and After Go 1.13
Alibaba Cloud Native
Alibaba Cloud Native
Oct 18, 2019 · Cloud Native

Deploy WebSocket and gRPC Services on Knative: A Step‑by‑Step Guide

This article walks you through deploying a WebSocket chat service and a gRPC ping service on Knative, covering repository cloning, Docker image preparation, Knative Service YAML configuration, kubectl deployment commands, and browser‑based verification to ensure the services run correctly in a serverless environment.

DockerGoKnative
0 likes · 9 min read
Deploy WebSocket and gRPC Services on Knative: A Step‑by‑Step Guide
Big Data Technology Architecture
Big Data Technology Architecture
Oct 17, 2019 · Backend Development

Designing a High‑Concurrency Ticket Spike System: Architecture, Load Balancing, and Go Implementation

This article explores the design of a high‑concurrency train‑ticket flash‑sale system, covering distributed load‑balancing architectures, OSPF/LVS/Nginx strategies, pre‑deduction inventory techniques, Go‑based HTTP services, Redis Lua scripts, and performance testing with AB, demonstrating how to achieve stable, scalable ticket‑purchasing under massive traffic.

GoHigh concurrencyNGINX
0 likes · 19 min read
Designing a High‑Concurrency Ticket Spike System: Architecture, Load Balancing, and Go Implementation
21CTO
21CTO
Oct 14, 2019 · Backend Development

How to Build a Million‑User Ticket‑Snatching System with Nginx, Go, and Redis

This article explores the design of a high‑concurrency train‑ticket flash‑sale system, covering load‑balancing strategies, weighted Nginx configuration, in‑memory pre‑deduction, Redis Lua scripts, and Go implementation, and demonstrates its performance with real‑world stress testing.

GoHigh concurrencyNGINX
0 likes · 18 min read
How to Build a Million‑User Ticket‑Snatching System with Nginx, Go, and Redis
360 Tech Engineering
360 Tech Engineering
Oct 10, 2019 · Cloud Native

Source Code Analysis of kube-proxy IPVS Mode in Kubernetes

This article provides a detailed source‑code walkthrough of Kubernetes' kube‑proxy IPVS load‑balancing mode, explaining the command‑line setup with cobra, the internal ProxyServer and Proxier structures, the BoundedFrequencyRunner, ServiceConfig handling, and the core syncProxyRules function that generates IPVS, iptables and ipset rules.

GoIPVScloud-native
0 likes · 14 min read
Source Code Analysis of kube-proxy IPVS Mode in Kubernetes
vivo Internet Technology
vivo Internet Technology
Oct 9, 2019 · Fundamentals

Web Protocol Deep Dive: Chrome Network Panel, Connection Keep-Alive, Head‑of‑Line Blocking, and HTTP Body Transfer

The series teaches mobile developers how to use Chrome’s Network panel and Wireshark, explains connection keep-alive, demonstrates HTTP 1.x head-of-line blocking with Go and OkHttp, and clarifies fixed-length versus chunked body transfer, providing practical code and traffic analysis for deeper protocol understanding.

Chrome NetworkGoHTTP
0 likes · 28 min read
Web Protocol Deep Dive: Chrome Network Panel, Connection Keep-Alive, Head‑of‑Line Blocking, and HTTP Body Transfer
YooTech Youzu Tech Team
YooTech Youzu Tech Team
Sep 26, 2019 · Backend Development

Effortlessly Generate Beautiful Go API Docs with Swagger and Swag

This guide walks you through the challenges of manual API documentation, introduces Swagger as a powerful solution, and provides a step‑by‑step tutorial for integrating Swagger with Go projects using the Swag tool, Gin framework, and custom UI enhancements.

API documentationBackend DevelopmentGin
0 likes · 9 min read
Effortlessly Generate Beautiful Go API Docs with Swagger and Swag
Alibaba Cloud Native
Alibaba Cloud Native
Sep 24, 2019 · Cloud Native

How Kubebuilder Simplifies Building Custom Kubernetes Controllers and CRDs

This article explains the controller pattern and declarative API in Kubernetes, dives deep into Kubebuilder's architecture—including GVK/GVR, Scheme, Manager, Cache, and Controller components—and provides step‑by‑step guidance with code examples for creating, configuring, and deploying custom resources and their controllers.

CRDGoKubebuilder
0 likes · 24 min read
How Kubebuilder Simplifies Building Custom Kubernetes Controllers and CRDs
GF Securities FinTech
GF Securities FinTech
Sep 23, 2019 · Backend Development

Why Our Team Switched from Node.js to Go: Lessons in Backend Engineering

This article details how a high‑traffic trading app migrated from Node.js to Go, outlining Go's advantages, drawbacks, and the team's engineering practices—including environment management, dependency handling, efficiency tools, standardized libraries, testing, monitoring, and distributed tracing—to achieve robust, high‑performance backend services.

Backend EngineeringCI/CDGo
0 likes · 16 min read
Why Our Team Switched from Node.js to Go: Lessons in Backend Engineering
Architecture Digest
Architecture Digest
Sep 17, 2019 · Backend Development

Evolution and Refactoring of the Mafengwo IM System: From PHP 1.0 to Go‑Based Microservices

The article details the step‑by‑step architectural evolution of Mafengwo's instant‑messaging platform—from an initial PHP‑based monolith, through polling optimizations with OpenResty, to a Go‑implemented, micro‑service‑oriented design that improves scalability, reliability, and multi‑device synchronization.

GoIMMicroservices
0 likes · 14 min read
Evolution and Refactoring of the Mafengwo IM System: From PHP 1.0 to Go‑Based Microservices
Alibaba Cloud Native
Alibaba Cloud Native
Aug 29, 2019 · Cloud Native

Mastering Knative Serving SDK: Build Serverless Apps with Go Context

This article walks through the fundamentals of Golang Context, explains how Knative Serving SDK leverages Context for informer and client initialization, and provides step‑by‑step code examples for building serverless applications, including logging, reconciler implementation, and practical deployment tips.

ContextGoKnative
0 likes · 11 min read
Mastering Knative Serving SDK: Build Serverless Apps with Go Context
Meitu Technology
Meitu Technology
Aug 29, 2019 · Backend Development

Memory Optimization in Long Connection Services: A Three-Year Journey

Over three years, Meitu’s long‑connection service “bifrost,” built in Go with MQTT, cut memory use from 22.3 GB to 5.1 GB for 210 k connections—and about 10 GB for a million—by tuning buffers, reducing allocations, employing memory pools, and replacing a goroutine‑per‑connection model with an epoll‑driven event architecture.

Garbage CollectionGoMQTT
0 likes · 13 min read
Memory Optimization in Long Connection Services: A Three-Year Journey
360 Tech Engineering
360 Tech Engineering
Aug 21, 2019 · Backend Development

Practical Guide to gRPC Development for the Huajiao Service Backend

This article presents a comprehensive overview of Huajiao's gRPC development practice, covering background decisions, gRPC features, gateway integration, Dart and Go client libraries, component architecture, protobuf conventions, code generation, SDK integration, documentation tooling, debugging strategies, and future roadmap.

API GatewayBackend DevelopmentGo
0 likes · 12 min read
Practical Guide to gRPC Development for the Huajiao Service Backend
360 Tech Engineering
360 Tech Engineering
Aug 15, 2019 · Backend Development

Building a Simple RPC Framework in Go

This article walks through building a simple RPC framework in Go using about 300 lines of code, covering RPC fundamentals, TLV network data format, serialization, transport layer, server and client implementations, and a complete example to help readers understand RPC concepts.

Backend DevelopmentGoNetwork Programming
0 likes · 11 min read
Building a Simple RPC Framework in Go
High Availability Architecture
High Availability Architecture
Aug 13, 2019 · Fundamentals

In‑Depth Study of Go’s Garbage Collection Algorithm and Its Evolution

This article provides a comprehensive analysis of Go’s non‑generational concurrent mark‑and‑sweep garbage collector, tracing its evolution from early stop‑the‑world implementations to the mixed write‑barrier design in Go 1.8, and explains how to interpret GC traces, tune GC parameters, and reduce latency caused by mark‑assist and STW pauses.

Concurrent Mark and SweepGarbage CollectionGo
0 likes · 22 min read
In‑Depth Study of Go’s Garbage Collection Algorithm and Its Evolution
System Architect Go
System Architect Go
Aug 12, 2019 · Backend Development

Why Switch to Go Module Proxy and Ditch the Vendor Directory?

This article explains the drawbacks of using a vendor directory in Go projects, outlines how Go module proxy solves those issues, and provides step‑by‑step guidance on configuring GOPROXY, choosing public or self‑hosted proxies, and recent Go 1.13 enhancements.

Backend DevelopmentBuild OptimizationGOPROXY
0 likes · 7 min read
Why Switch to Go Module Proxy and Ditch the Vendor Directory?
Didi Tech
Didi Tech
Aug 9, 2019 · Backend Development

Introducing Go‑Spring: A Spring‑like Application Framework for Go

Go‑Spring is a Go‑language application framework that brings Spring‑style conventions such as dependency injection, auto‑configuration, starter modules, interface‑based design, and integrated testing to developers, enabling organized code, easy component swapping, configuration binding, and full‑stack unit tests while supporting databases, messaging, and microservice features.

Backend FrameworkDependency InjectionGo
0 likes · 10 min read
Introducing Go‑Spring: A Spring‑like Application Framework for Go
Architecture Digest
Architecture Digest
Aug 7, 2019 · Fundamentals

Understanding Clean Architecture: Principles, Layers, and Practical Reflections

This article revisits the author’s earlier talk on software architecture, reorganizes and expands it with detailed explanations of Clean Architecture’s layered design, dependency rules, and related concepts such as DDD, while reflecting on how these ideas can reduce code modification difficulty and guide personal growth as an architect.

Clean ArchitectureDependency RuleGo
0 likes · 15 min read
Understanding Clean Architecture: Principles, Layers, and Practical Reflections
Didi Tech
Didi Tech
Aug 2, 2019 · Backend Development

Using Go pprof for Online Performance Profiling: Case Studies and Lessons

The article demonstrates how Go’s built‑in pprof tools can be used for live performance profiling, walking through two real‑world cases—one where a malformed JSON request caused massive object allocation and CPU spikes, and another where per‑call self‑referencing structs leaked memory—while offering practical tips on input validation, allocation reduction, and GC monitoring.

Backend DevelopmentCPU optimizationGo
0 likes · 16 min read
Using Go pprof for Online Performance Profiling: Case Studies and Lessons
System Architect Go
System Architect Go
Jul 29, 2019 · Backend Development

10 Common Go Mistakes That Can Sabotage Your Code

This article enumerates ten frequent Go programming errors—from unknown enum handling and benchmark mis‑optimizations to pointer misuse, slice initialization, context pitfalls, and error‑handling practices—explaining why they occur, showing reproducible code examples, and offering concrete fixes to write more reliable Go code.

ContextError handlingGo
0 likes · 14 min read
10 Common Go Mistakes That Can Sabotage Your Code
Alibaba Cloud Native
Alibaba Cloud Native
Jul 19, 2019 · Cloud Native

Master Traffic Splitting and Version Control in Knative Serving

This guide walks through building a Go REST‑API, containerizing it, deploying multiple Knative Service revisions, configuring traffic percentages for gray releases, validating revisions before traffic shift, and rolling back, while comparing Knative’s traffic‑driven model to traditional pod‑based deployments.

Blue-Green DeploymentDockerGo
0 likes · 15 min read
Master Traffic Splitting and Version Control in Knative Serving
Mafengwo Technology
Mafengwo Technology
Jul 18, 2019 · Backend Development

How MaFengWo Scaled Its IM System: From PHP to Go and Service Splitting

This article chronicles the evolution of MaFengWo's instant‑messaging platform, detailing the transition from a simple PHP implementation to OpenResty optimizations, the introduction of multi‑mode routing in IM 2.0, and a complete service‑oriented redesign in Go for IM 3.0, while addressing scalability, multi‑device synchronization, and message reliability.

GoIMOpenResty
0 likes · 14 min read
How MaFengWo Scaled Its IM System: From PHP to Go and Service Splitting
360 Tech Engineering
360 Tech Engineering
Jul 17, 2019 · Information Security

Practical SSL/TLS and Cryptography Guide Using Go and kubeadm

This article provides a comprehensive walkthrough of using Go's crypto library for hashing, symmetric and asymmetric encryption, certificate generation, and TLS/HTTPS server and client implementation, illustrating how these techniques are applied in kubeadm to simplify Kubernetes cluster security.

GoHashingcertificates
0 likes · 18 min read
Practical SSL/TLS and Cryptography Guide Using Go and kubeadm
360 Tech Engineering
360 Tech Engineering
Jul 11, 2019 · Backend Development

Server‑Side Video Rendering with After Effects, Aerender, and FFmpeg

This article describes how a PHP‑based backend service integrates Adobe After Effects' command‑line renderer and FFmpeg to generate, split, concatenate, and compress user‑uploaded video templates for a mini‑program, covering architecture, workflow, code snippets, and performance optimizations.

After EffectsFFmpegGo
0 likes · 9 min read
Server‑Side Video Rendering with After Effects, Aerender, and FFmpeg
dbaplus Community
dbaplus Community
Jul 9, 2019 · Databases

How Gaea Reinvents MySQL Middleware with Go‑Based Sharding and Hot‑Reload

Gaea is an open‑source MySQL middleware created by Xiaomi that replaces MyCAT, offering read‑write splitting, sharding, namespace‑based multi‑tenant configuration, Go‑driven architecture, hot‑reload via etcd, comprehensive monitoring, and a visual management console, with its source hosted on GitHub.

GoMiddlewareOpenSource
0 likes · 14 min read
How Gaea Reinvents MySQL Middleware with Go‑Based Sharding and Hot‑Reload
Huajiao Technology
Huajiao Technology
Jul 9, 2019 · Backend Development

Server‑Side Video Rendering for a Mini‑Program Using After Effects, Aerender, and FFmpeg

This article describes how a PHP‑based backend service integrates After Effects' aerender command‑line tool and FFmpeg to automatically generate, split, compress, and deliver video templates for a mini‑program, covering requirement analysis, architecture, rendering workflow, code snippets, and performance optimizations.

After EffectsFFmpegGo
0 likes · 11 min read
Server‑Side Video Rendering for a Mini‑Program Using After Effects, Aerender, and FFmpeg
360 Tech Engineering
360 Tech Engineering
Jun 25, 2019 · Fundamentals

Building an LL(1) SQL Parser in Go

This tutorial explains how to implement a simple LL(1) parser in Go for SQL queries, covering lexical analysis, syntax analysis, finite‑state‑machine strategy, and testing, providing complete code snippets and practical guidance for developers interested in parser construction.

GoLL(1) parserSQL parsing
0 likes · 9 min read
Building an LL(1) SQL Parser in Go
360 Tech Engineering
360 Tech Engineering
Jun 20, 2019 · Backend Development

Using inotify in Go for Configuration File Hot Reload

This tutorial explains Linux inotify's event model and demonstrates how to employ the Go package golang.org/x/sys/unix to initialize inotify, add watches, and process file system events in order to achieve automatic configuration file hot‑reloading in Go applications.

File MonitoringGoLinux
0 likes · 8 min read
Using inotify in Go for Configuration File Hot Reload
360 Tech Engineering
360 Tech Engineering
Jun 6, 2019 · Backend Development

Hot Reloading Go Configuration Files Using System Signals

This tutorial explains how to implement hot‑reloading of Go configuration files by manually sending Unix signals, covering the creation of a signal‑listening goroutine, use of the signal.Notify API, selective handling with select, and a complete example that loads JSON config on SIGUSR1.

ConfigurationGoGoroutine
0 likes · 10 min read
Hot Reloading Go Configuration Files Using System Signals
Ctrip Technology
Ctrip Technology
Jun 4, 2019 · Backend Development

Interview with He Xinming on dubbo-go: The Go Implementation of Apache Dubbo

This interview with Ctrip's He Xinming details the motivation, architecture, features, performance benchmarks, and future roadmap of dubbo-go, the Go language implementation of Apache Dubbo, highlighting its role in bridging Java and Go microservice ecosystems and its cloud‑native aspirations.

Apache DubboGoRPC
0 likes · 12 min read
Interview with He Xinming on dubbo-go: The Go Implementation of Apache Dubbo
Didi Tech
Didi Tech
Jun 1, 2019 · Backend Development

Testing Pyramid and Integration Testing Practices for a Go Service

By applying Mike Cohn’s testing pyramid to a Go scheduling service, the author demonstrates a structured approach that combines straightforward unit tests, organized integration suites with setup/teardown hooks and coverage scripts, expressive GoConvey assertions, and end‑to‑end trace‑ID verification, while noting remaining gaps.

GoGoConveyIntegration Testing
0 likes · 12 min read
Testing Pyramid and Integration Testing Practices for a Go Service
360 Tech Engineering
360 Tech Engineering
May 28, 2019 · Backend Development

Introducing gobox: A Lightweight Go Framework with Modules and Usage Examples

gobox is a self‑developed lightweight Go framework comprising various utility boxes such as color, crypto, exception, gohttp, golog, and gomisc, with detailed explanations of its origin, naming, supported modules, and extensive code examples demonstrating usage for logging, error handling, slice deduplication, file checks, JSON handling, and time utilities.

GoLibraryexample
0 likes · 9 min read
Introducing gobox: A Lightweight Go Framework with Modules and Usage Examples
Architecture Digest
Architecture Digest
May 27, 2019 · Backend Development

Design Practices for Large-Scale Microservice Frameworks

The article presents a comprehensive overview of the challenges, evolution, design principles, and concrete implementation techniques behind building a large‑scale microservice framework at Didi, illustrating how systematic abstraction, reliable I/O handling, and strict interface stability can dramatically improve development efficiency and system robustness.

GoService Architectureframework design
0 likes · 28 min read
Design Practices for Large-Scale Microservice Frameworks
Didi Tech
Didi Tech
May 23, 2019 · Cloud Native

Design Practices for Large‑Scale Microservice Frameworks

In his Go China talk, senior Didi engineer Du Huan outlined the design and implementation of a large‑scale microservice framework that abstracts I/O, injects tracing via protocol hijacking, optimizes timers, and enforces fail‑fast circuit breaking, delivering faster development, higher stability, seamless upgrades, and a unified operating‑system‑like layer for thousands of services.

GoReliabilityService Architecture
0 likes · 29 min read
Design Practices for Large‑Scale Microservice Frameworks
Didi Tech
Didi Tech
May 17, 2019 · Fundamentals

Understanding Go Reflection: Types, Values, and Practical Applications

Go’s reflection, accessed via the reflect package’s TypeOf and ValueOf functions, lets programs inspect and modify runtime types and values—including fields, tags, and slices—while obeying settable rules, enabling generic utilities such as JSON serialization, deep equality checks, and dynamic ORM-like behavior.

@ValueDeepEqualGo
0 likes · 27 min read
Understanding Go Reflection: Types, Values, and Practical Applications
360 Tech Engineering
360 Tech Engineering
May 17, 2019 · Backend Development

Guidelines for Organizing Go Projects: Structure of the gobox-demo Template

This article shares practical guidelines and a detailed directory layout for organizing Go projects, illustrated with the gobox-demo template, covering configuration, source code organization, controller/action separation, service layer structuring, and best‑practice recommendations for clean, maintainable backend development.

GoMVCProject Structure
0 likes · 4 min read
Guidelines for Organizing Go Projects: Structure of the gobox-demo Template
Didi Tech
Didi Tech
May 9, 2019 · Fundamentals

Deep Dive into Go Interfaces: Duck Typing, Receivers, Interface Internals, and Polymorphism

The article thoroughly examines Go’s interface system, explaining static duck typing, the differences between value and pointer receivers, the internal iface/eface structures, how interfaces are constructed and converted, compiler implementation checks, type assertions, runtime polymorphism, and contrasts these mechanisms with C++ abstract‑class interfaces.

Goduck-typingmethod receiver
0 likes · 39 min read
Deep Dive into Go Interfaces: Duck Typing, Receivers, Interface Internals, and Polymorphism
Alibaba Cloud Developer
Alibaba Cloud Developer
May 8, 2019 · Artificial Intelligence

How SQLFlow Lets You Build AI Models with Just a Few SQL Commands

SQLFlow, an open‑source project from Ant Financial, bridges SQL engines and AI frameworks so that users can train and predict machine‑learning models with simple SQL statements, dramatically lowering the technical barrier for analysts and engineers across diverse data platforms.

GoSQLSQLFlow
0 likes · 14 min read
How SQLFlow Lets You Build AI Models with Just a Few SQL Commands
AntTech
AntTech
May 7, 2019 · Artificial Intelligence

SQLFlow: Bridging SQL Engines and AI Platforms for End‑to‑End Machine Learning

SQLFlow is an open‑source project that connects diverse SQL engines (MySQL, Hive, SparkSQL, etc.) with AI frameworks (TensorFlow, PyTorch, XGBoost, etc.) through extended SQL syntax, enabling analysts to train and predict models using only a few SQL statements while aiming for high scalability and performance.

AI integrationGoSQL
0 likes · 13 min read
SQLFlow: Bridging SQL Engines and AI Platforms for End‑to‑End Machine Learning
Didi Tech
Didi Tech
Apr 18, 2019 · Backend Development

Deep Dive into Go Slices: Creation, Internals, and Append Mechanics

The article explains Go slices as three‑field descriptors pointing to an underlying array, details creation methods, shows the low‑level runtime representation and assembly for make, describes how append triggers growslice with capacity‑doubling or ~25 % growth and alignment, and clarifies sharing, nil slices, and passing semantics.

AssemblyGoMemory Management
0 likes · 28 min read
Deep Dive into Go Slices: Creation, Internals, and Append Mechanics
Didi Tech
Didi Tech
Apr 18, 2019 · Fundamentals

Understanding Go's Syscall Mechanism and Runtime Interaction

Go’s syscall mechanism uses assembly‑implemented entry functions like Syscall and Syscall6 to invoke the kernel, while the runtime’s entersyscall and exitsyscall hooks notify the scheduler, allowing P resources to be released during blocking calls and handling privileged low‑level syscalls separately.

GoSchedulerconcurrency
0 likes · 17 min read
Understanding Go's Syscall Mechanism and Runtime Interaction
Qu Tech
Qu Tech
Apr 17, 2019 · Cloud Native

How Go Powers Service Mesh, Tracing, and Microservices in Leading Chinese Tech Companies

The Shanghai Go Language Tech Salon, co‑hosted by Qutoutiao and Jikebang, gathered senior architects from Qutoutiao, Qiniu, and Bilibili to share real‑world implementations of Go, covering a self‑built Service Mesh, full‑link tracing, and microservice governance, followed by an interactive Lean Coffee discussion on Go’s future.

Backend DevelopmentCloud NativeFull‑Link Tracing
0 likes · 9 min read
How Go Powers Service Mesh, Tracing, and Microservices in Leading Chinese Tech Companies
360 Tech Engineering
360 Tech Engineering
Apr 4, 2019 · Backend Development

Implementing HTTP/2 Server Push in Go

This article demonstrates how to add on‑demand and periodic HTTP/2 server‑push functionality in Go, explaining the required handlers, showing complete Go code examples, and detailing the HTTP/2 frame exchange observed with an h2c client.

GoHTTP/2Server Push
0 likes · 7 min read
Implementing HTTP/2 Server Push in Go
21CTO
21CTO
Mar 31, 2019 · Backend Development

How ByteDance Scaled Over 700k QPS with Go: Lessons in Backend Microservices

This article details ByteDance's migration to Go for its backend, covering the reasons for choosing Go, the design of a five‑tuple microservice architecture, concurrency models, timeout handling, performance tuning, monitoring, and engineering practices that enabled a production system handling over 300 billion daily requests.

GoMicroservicesbackend
0 likes · 17 min read
How ByteDance Scaled Over 700k QPS with Go: Lessons in Backend Microservices
360 Tech Engineering
360 Tech Engineering
Mar 29, 2019 · Backend Development

Implementing a Simple HTTP/2 Header-Only Server in Go

This article demonstrates how to build a minimal HTTP/2 server in Go that responds only with header frames, covering certificate generation, server code, frame structures, the http2Framer API, and how to test the implementation using curl, providing both conceptual explanations and full source listings.

FramerGoHTTP/2
0 likes · 11 min read
Implementing a Simple HTTP/2 Header-Only Server in Go
360 Tech Engineering
360 Tech Engineering
Mar 22, 2019 · Fundamentals

Understanding HTTP/2 Header Compression (HPACK) and Server Push

This article explains HTTP/2's header compression using the HPACK format—including static and dynamic tables, Huffman coding, and literal encoding—and the Server Push mechanism with PUSH_PROMISE frames, illustrating how these features reduce bandwidth and improve request latency.

GoHPACKHTTP/2
0 likes · 11 min read
Understanding HTTP/2 Header Compression (HPACK) and Server Push
Didi Tech
Didi Tech
Mar 22, 2019 · Backend Development

Interview with Du Huan (Senior Engineer, Didi R Lab) on Go, Large‑Scale Microservice Framework Design, and Gopher China 2019

In this interview, Didi R Lab senior engineer Du Huan discusses his decade‑long Go experience, the language’s low‑cost entry, system‑level performance and cloud‑native strengths, upcoming enhancements like generics, his large‑scale microservice framework design for Gopher China 2019, and practical advice for developers and enterprises adopting Go.

Career AdviceDidiGo
0 likes · 10 min read
Interview with Du Huan (Senior Engineer, Didi R Lab) on Go, Large‑Scale Microservice Framework Design, and Gopher China 2019
360 Tech Engineering
360 Tech Engineering
Mar 15, 2019 · Backend Development

Understanding HTTP/2 Implementation in Go's HTTP Server

This article provides a comprehensive overview of HTTP/2, explaining its binary framing, multiplexing, and the various frame types such as DATA, HEADERS, PRIORITY, RST_STREAM, SETTINGS, PUSH_PROMISE, PING, GOAWAY, WINDOW_UPDATE, and CONTINUATION, with specific focus on how Go's HTTP server implements these features.

FramesGoHTTP/2
0 likes · 12 min read
Understanding HTTP/2 Implementation in Go's HTTP Server
Tencent Cloud Developer
Tencent Cloud Developer
Mar 14, 2019 · Backend Development

Implementing Graceful (Hot) Restart for Go HTTP Services

To implement a graceful hot restart for a Go HTTP service, the program listens for SIGHUP, forks a child process that inherits the listening socket via an extra file descriptor, the parent stops accepting new connections and shuts down while the child begins serving, ensuring uninterrupted client requests.

GoProcess Forkgraceful restart
0 likes · 10 min read
Implementing Graceful (Hot) Restart for Go HTTP Services
Alibaba Cloud Native
Alibaba Cloud Native
Mar 14, 2019 · Backend Development

How PouchContainer Achieves Full Integration Test Coverage with Go

This article explains how Alibaba's open‑source PouchContainer adds both unit‑test and integration‑test coverage reporting using Go's cover tool, TravisCI, Codecov, and custom test harnesses, providing step‑by‑step commands, code snippets, and PR details to raise overall coverage from 18% to 60%.

CICodecovGo
0 likes · 13 min read
How PouchContainer Achieves Full Integration Test Coverage with Go
High Availability Architecture
High Availability Architecture
Mar 14, 2019 · Databases

SlimTrie: A Space‑Efficient Trie‑Based Index for Large‑Scale Storage Systems

This article presents SlimTrie, a trie‑based indexing structure that dramatically reduces memory consumption while maintaining fast query speeds, detailing its design, compression techniques, implementation steps, memory analysis, and performance comparisons with map and B‑Tree structures for large‑scale storage systems.

GoIndexingMemory optimization
0 likes · 20 min read
SlimTrie: A Space‑Efficient Trie‑Based Index for Large‑Scale Storage Systems
Alibaba Cloud Native
Alibaba Cloud Native
Mar 7, 2019 · Cloud Native

How Kubernetes Scheduler Works: Inside the Core Scheduling Engine

This article explains the inner workings of the Kubernetes scheduler, covering its architecture, pod queue handling, filtering, prioritization, binding, preemption, and code-level details, while also discussing current limitations and future enhancements such as the V2 framework and gang scheduling extensions.

GoSchedulerdistributed systems
0 likes · 12 min read
How Kubernetes Scheduler Works: Inside the Core Scheduling Engine
58 Tech
58 Tech
Feb 26, 2019 · Backend Development

Architecture Evolution of the WeChat‑like Instant Messaging Service at 58 Group

The article details the step‑by‑step evolution of the WeChat‑like instant messaging platform at 58 Group, describing how the system transitioned from a simple PHP short‑connection architecture to a layered micro‑service architecture using Java‑based RPC, Go‑based short‑connection services, distributed storage, message queues, and clear separation of storage, logic, and interface layers.

Distributed storageGoInstant Messaging
0 likes · 12 min read
Architecture Evolution of the WeChat‑like Instant Messaging Service at 58 Group
21CTO
21CTO
Jan 21, 2019 · Fundamentals

Master Go Basics: Program Structure, Execution, and Comments Explained

This article introduces Go’s basic program structure, how to run and build Go applications, the role of comments, why semicolons are omitted, and best practices for organizing imports, providing a concise foundation for writing clean Go code.

FundamentalsGocode-structure
0 likes · 7 min read
Master Go Basics: Program Structure, Execution, and Comments Explained
JD Tech
JD Tech
Jan 4, 2019 · Backend Development

Using Protobuf with Go: Installation, Code Examples, and Serialization

This article provides a step‑by‑step guide on installing the Protobuf compiler, setting up the Go plugin, writing .proto definitions, generating Go code, and demonstrating serialization and deserialization of Protobuf messages in a Go application, complete with troubleshooting tips and reference links.

GoProtocol Buffersgrpc
0 likes · 6 min read
Using Protobuf with Go: Installation, Code Examples, and Serialization
High Availability Architecture
High Availability Architecture
Dec 4, 2018 · Backend Development

Zhihu’s Migration from Python to Go: Architecture, Process, and Lessons Learned

Zhihu’s backend team migrated high‑traffic services from Python to Go, detailing the motivations, step‑by‑step migration process, performance gains, project structure, testing practices, static analysis, and operational lessons such as graceful traffic shifting and service deprecation.

GoPerformance Optimizationbackend-migration
0 likes · 14 min read
Zhihu’s Migration from Python to Go: Architecture, Process, and Lessons Learned
Beike Product & Technology
Beike Product & Technology
Nov 9, 2018 · Backend Development

Why Go Is Fast: 5 Key Language Features Explained

This article translates David Cheney's 2014 Gocon talk, detailing five Go language features—efficient value handling, inlining, escape analysis, goroutine scheduling, and dynamic stack management—that together explain Go's performance advantages, memory usage, and concurrency model.

Escape AnalysisGoGoroutine
0 likes · 15 min read
Why Go Is Fast: 5 Key Language Features Explained
UCloud Tech
UCloud Tech
Oct 25, 2018 · Backend Development

Why Go 1.8’s ForkLock Can Hang Goroutines and How Go 1.9 Solves It

The article investigates a Go 1.8.3 issue where goroutines block on ForkLock during fork‑exec, analyzes the kernel and Go runtime behavior, presents a hypothesis about memory‑heavy processes, validates it with experiments, and shows that upgrading to Go 1.9 or later eliminates the problem.

GoGoroutineconcurrency
0 likes · 7 min read
Why Go 1.8’s ForkLock Can Hang Goroutines and How Go 1.9 Solves It
Tencent Cloud Developer
Tencent Cloud Developer
Oct 19, 2018 · Backend Development

Design and Implementation of a Go Backend for a Lottery Mini Program

The article describes how to build a Go‑based backend for a WeChat lottery mini‑program using the Echo framework, Tencent Cloud load balancer, Nginx, Redis and MySQL, detailing the system architecture, API design, database and Redis integration, WeChat login flow, activity state machine, and lessons learned.

API designBackend DevelopmentGo
0 likes · 12 min read
Design and Implementation of a Go Backend for a Lottery Mini Program