After reading this article, you will be able to speak about a one minute stand up comedy with Go as the theme in your own language
Main text
Quickly understand GO language 👇
Google Development
Released in 2009
Static strong type
Compiled type
Like the "High Concurrent I/O" tag in Node.js, the tag in Go can be "High Concurrent+High Performance"
In terms of application domains, Node.js is generally used for the BFF layer, while projects written in Go are generally used for high concurrency, low latency services
Compare Java and Node.js
Using Java is to rely on its unparalleled mature ecosystem and stability to build complex and reliable enterprise level applications.
Using Node.js is for rapid development, front-end and back-end isomorphism, and handling a large number of I/O-intensive real-time connections
Using Go is to pursue performance, concurrency, and deployment efficiency, especially suitable for distributed systems in the cloud native era
Cloud native is a methodology for building and running applications that requires applications to be designed and developed based on cloud environments from their inception, such as microservices, containers, DevOps, and continuous delivery, in order to fully utilize the elasticity of cloud platforms, such as the classic Double 11 automatic scaling, distribution, and automation advantages.
Speaking in human language means:
Cloud native is a software design philosophy of "born on the cloud, growing on the cloud".
It is not simply moving traditional software to cloud servers, but tailoring it for cloud environments from the beginning, fully utilizing the computing power of the cloud, and enabling applications to have super strong capabilities of automatic scaling and fault self-healing.
The content above is still quite vague, but it can actually give you a general understanding of cloud native in your mind:
Firstly, cloud native is a methodology that automatically adds machines (such as servers) to handle the pressure of projects (such as websites or apps) that require multiple users; When there are fewer people, automatically reducing machines (such as servers) saves money. And there is basically no lag or error during the process.
There are three core points:
Scalable: Automatically respond to high and low traffic.
Not afraid of bad: If any machine has a problem (cloud native methodology will provide a solution to solve this problem), the service will not stop.
Fast updates: New features can be released at any time without stopping the machine.
You can roughly understand it this way for now
Good performance and high concurrency. Native lightweight coroutines and efficient schedulers can handle massive concurrent connections with extremely low resource overhead, meeting the high-frequency communication needs between microservices.
【 Easy deployment 】 Compile into a single static binary file without relying on the runtime environment.
After building the Go code, a statically linked executable file will be generated (which is a separate binary file on Linux/Windows/macOS). Copy this binary to a bare metal machine or container, directly /The app can be launched.
Same origin as Cloud Native Foundation (Docker/K8s)
summary
Can you tell me your understanding of Go?
Go language is a compiled language launched by Google in 2009, which focuses on high concurrency and high performance with strong static typing. It is naturally suitable for the era of cloud native because it has fast startup, simple deployment, and can run with just one file, making it particularly capable of handling traffic. Many of the subsequent crime scenes evoke the chaos of the Double 11 Festival.or the high concurrency services we use, such as beep beep and Tiktok, are written in Go.