Tagged articles

Go

1966 articles · Page 19 of 20
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.

GoNginxhigh concurrency
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.

GoNginxRedis
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.

GoNginxRedis
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.

GoPerformanceRPC
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.

Goaserror handling
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.

GoKnativeKubernetes
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.

GoNginxRedis
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.

GoNginxRedis
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.

GoIPVSKubernetes
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
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.

CRDControllerGo
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.

CI/CDGobackend engineering
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.

GoIMPHP
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 CollectionGoLong Connection
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 GatewayGoProtobuf
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.

GoRPCTLV
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.

Build OptimizationGOPROXYGo
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.

Dependency InjectionGoGo-Spring
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.

Architecture PrinciplesDependency 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.

CPU OptimizationGoMemory Leak
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.

BenchmarkContextGo
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 DeploymentGoKnative
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.

GoIMService Splitting
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.

GoKubernetesTLS
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.

GoMySQLOpenSource
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 EffectsBackendFFmpeg
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 MonitoringGoHot Reload
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.

ConfigurationGoSignal Handling
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.

CoverageGoGoConvey
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.

GoLibraryUtility
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.

Goframework designlarge-scale systems
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.

Goframework designlarge-scale systems
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.

GoMVCRepository
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.

GoPolymorphismduck-typing
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.

Artificial IntelligenceGoSQL
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.

Goappendassembly
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.

ConcurrencyGolow-level
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.

Full‑Link TracingGobackend development
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.

BackendGoHTTP/2
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.

BackendGoPerformance
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.

DidiGoGopher China
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.

BackendFramesGo
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.

GoHot ReloadProcess Fork
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.

GoKubernetesdistributed 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.

GoPerformance Optimizationbackend architecture
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.

Gocode-structurefundamentals
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.

GoProtobufProtocol Buffers
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.

ConcurrencyGoMemory
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.

ConcurrencyGoforklock
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 DesignGoLottery System
0 likes · 12 min read
Design and Implementation of a Go Backend for a Lottery Mini Program
Efficient Ops
Efficient Ops
Oct 10, 2018 · Databases

Boost Your Database Reliability with Xiaomi’s Open‑Source SQL Optimizer SOAR

Xiaomi is open‑sourcing its Go‑based SQL Optimizer and Rewriter (SOAR) at OSCAR Days, a tool that automatically checks SQL quality, suggests index improvements, rewrites queries, provides EXPLAIN analysis, and integrates with editor plugins and a web self‑audit platform to boost database reliability and developer productivity.

GoOptimizerSQL
0 likes · 5 min read
Boost Your Database Reliability with Xiaomi’s Open‑Source SQL Optimizer SOAR
21CTO
21CTO
Sep 11, 2018 · Fundamentals

Getting Started with Go: Essential Tips and First Hello World

This article shares practical Golang notes, covering compilation, package structure, basic syntax, common pitfalls like GOPATH issues, and step‑by‑step screenshots of setting up a Hello World program in Eclipse.

GoTutorialfundamentals
0 likes · 3 min read
Getting Started with Go: Essential Tips and First Hello World
Qunar Tech Salon
Qunar Tech Salon
Aug 24, 2018 · Databases

Building an Automated Database Operations Platform: From Monitoring to Multi‑Active Deployment

The article describes how a DBA team at Ele.me transformed manual database management into a fully automated, platform‑driven operation covering monitoring, alarm handling, MHA automation, resource pooling, large‑scale migration, SQL review, and multi‑active DDL release using Go‑based tools and custom workflows.

DBA toolsDatabase AutomationGo
0 likes · 20 min read
Building an Automated Database Operations Platform: From Monitoring to Multi‑Active Deployment
Alibaba Cloud Native
Alibaba Cloud Native
Aug 21, 2018 · Cloud Native

Inside Alibaba’s Sigma: How a Cloud‑Native Scheduler Powers 280× Double‑11 Growth

The article details Alibaba’s Sigma scheduling and cluster management platform—its three‑layer architecture, data and state consistency strategies, real‑world case studies, Go‑based redesign, integration with Kubernetes APIs, and lessons on concurrency, high availability, and pod dispersion for massive Double 11 traffic.

GoKubernetescontainer orchestration
0 likes · 20 min read
Inside Alibaba’s Sigma: How a Cloud‑Native Scheduler Powers 280× Double‑11 Growth
Meitu Technology
Meitu Technology
Aug 15, 2018 · Backend Development

Design and Performance Analysis of the Zap Logging Library in Go

The article examines Uber’s high‑throughput Go logging library zap, detailing its structured‑logging design, separation of concerns, copy‑on‑write filtering, extensive sync.Pool object reuse, reflection‑free type‑specific encoding, dynamic HTTP level control, and supplemental features such as a sugar API and log‑rotation, which together deliver superior performance over traditional libraries.

ConcurrencyGoPerformance
0 likes · 18 min read
Design and Performance Analysis of the Zap Logging Library in Go
High Availability Architecture
High Availability Architecture
Aug 15, 2018 · Backend Development

Deep Dive into Uber's zap: Architecture, High‑Performance Design, and Lessons for Building Go Logging Libraries

This article analyzes Uber's open‑source Go logging library zap, explaining its architectural trade‑offs, performance‑boosting techniques such as object pooling, reflection avoidance, and write‑time copying, and offers practical guidance for developers who want to build high‑performance logging components in Go.

BackendGoPerformance
0 likes · 18 min read
Deep Dive into Uber's zap: Architecture, High‑Performance Design, and Lessons for Building Go Logging Libraries
Beike Product & Technology
Beike Product & Technology
Aug 3, 2018 · Backend Development

Common Go Language Pitfalls and Best Practices

This article explains frequent pitfalls in Go programming—including file‑naming conventions, defer execution order, panic value handling, for‑range copying, struct composition, init function behavior, pointer operations, command‑line arguments, slice capacity bugs, map usage, and channel communication—while providing clear examples and recommended fixes.

ConcurrencyGobest practices
0 likes · 16 min read
Common Go Language Pitfalls and Best Practices
JD Retail Technology
JD Retail Technology
Jul 20, 2018 · Databases

Vitess Two-Phase Commit Implementation and Distributed Transaction Management

This article explains the fundamentals of database transactions, introduces Vitess's architecture, and details how Vitess implements a two‑phase commit protocol for distributed transactions, including transaction IDs, metadata management, preparation, commit, rollback, error handling, and performance considerations, with illustrative Go code snippets.

GoVitesstransaction management
0 likes · 25 min read
Vitess Two-Phase Commit Implementation and Distributed Transaction Management
JD Tech
JD Tech
Jul 16, 2018 · Databases

Vitess Two-Phase Commit: Concepts, Implementation, and Exception Handling

This article explains Vitess’s two‑phase commit mechanism for distributed transactions, covering the ACID properties, shard architecture, transaction manager roles, detailed code flow, metadata handling, preparation, commit, rollback, and various failure scenarios, along with practical examples and performance considerations.

GoVitesstwo-phase commit
0 likes · 25 min read
Vitess Two-Phase Commit: Concepts, Implementation, and Exception Handling
Programmer DD
Programmer DD
Jul 11, 2018 · Cloud Native

Exploring Consul’s Service Mesh: Setup, Code Samples, and Deep Dive

This article walks through upgrading Consul to 1.2, configuring service‑mesh support, building two Go micro‑services, registering them with Consul, reloading the configuration, testing the mesh with curl, and provides a detailed analysis of Consul’s service‑mesh architecture, advantages, and limitations.

ConsulGoTLS
0 likes · 12 min read
Exploring Consul’s Service Mesh: Setup, Code Samples, and Deep Dive