说说你对go的认识

前言

读完本篇文章,你将可以用自己的语言讲一分钟左右以 go 为主题的单口相声

正文

一、初印象

快速了解 GO 语言 👇

  1. 谷歌开发
  2. 2009 年发布
  3. 静态强类型
  4. 编译型
  5. 如 Node.js 的【高并发 I/O】标签,Go 的标签可以是【高并发+高性能】
  6. 应用领域上看,Node.js 一般用于 【bff 层】,而 Go 写的项目一般用于【高并发、低延迟的服务】

二、【重点】国内一般拿 GO 做什么?

对比下 Java 和 Node.js

用 Java,是为了依赖其无与伦比的成熟【生态 】和【稳定性】来构建复杂可靠的企业级应用。

用 Node.js,是为了【快速开发 】、【前后端同构 】以及处理大量的 【I/O 密集型】实时连接

用 Go,是为了追求【性能 】、【并发 】和【部署效率 】,特别适合【云原生时代】的分布式系统

三、都说现在是云原生时代,那么什么是云原生?

云原生是一套构建和运行应用程序的方法论,它要求应用从诞生之初就基于云的环境(如微服务、容器、 DevOps、持续交付)来设计和开发,从而充分利用云平台的弹性【如经典的双 11 自动扩缩容】、分布式和自动化优势。

说人话就是:

云原生是一套"生在云上,长在云上"的软件设计哲学。

它不是简单地把传统软件搬到云服务器,而是从一开始就为云环境量身定制,充分利用云的计算力,让应用具备自动伸缩、故障自愈的超强能力。

上方的内容还是比较云里雾里,其实可以这样让自己心里对云原生有一个大致认识:

首先云原生是一套方法论,用这个方法做的项目(比如网站、比如 APP)如果用的人多了,它自动增加机器(比如服务器)扛住压力;人少了,自动减少机器(比如服务器)省钱。而且过程中基本不卡顿、不出错。

核心有三点:

能伸缩:自动应对流量高低。

不怕坏 :任何一台机器出问题(云原生这个方法论会提供解决方案解决这个问题),服务不停。

更新快:可以随时不停机发布新功能。

可以暂时这样粗略理解

四、Go 为什么适合云原生?

  1. 【性能好,高并发。】原生轻量级协程(goroutine)与高效调度器,能以极低资源开销处理海量并发连接,满足微服务间高频通信需求。
  2. 【部署简单】编译为单一静态二进制文件,无需依赖运行时环境。 把 Go 代码 go build 之后,会生成一个静态链接的可执行文件(Linux/Windows/macOS 上都是一个独立的二进制)。把这个二进制拷到一台裸机或者容器里,直接 ./app 就能启动。
  3. 与云原生基石(Docker/K8s)【同源】

总结

【问】说说你对 go 的认识?

【答】Go 语言是谷歌 09 年推出的一款主打【高并发】和【高性能】的【静态强类型】的【编译型】的语言。它天生就适合【云原生】时代,因为它【启动快】、【部署简单】,一个文件就能运行,特别能扛流量。像双十一这种秒杀场景,或者咱们用的哔哩哔哩、抖音这种高并发服务,背后很多都是用 Go 写的。

相关推荐
Dobby_054 小时前
【Ansible】变量与敏感数据管理:Vault加密与Facts采集详解
linux·运维·云原生·ansible
你的人类朋友4 小时前
【Node&Vue】什么是ECMAScript?
前端·javascript·后端
三五a5 小时前
Kubernetes
云原生·容器·kubernetes
我崽不熬夜5 小时前
Java中基本的输入输出(I/O)操作:你知道如何处理文件吗?
java·后端·java ee
我崽不熬夜5 小时前
Java的异常处理机制:如何优雅地捕获和抛出异常?
java·后端·java ee
Ice__Cai6 小时前
Flask 之 Cookie & Session 详解:用户状态管理
后端·python·flask·cookie·session
我崽不熬夜6 小时前
掌握Java中的数组与集合:如何灵活处理不同的数据结构?
java·后端·java ee
C-20026 小时前
kubernetes中pod的管理及优化
云原生·容器·kubernetes
照物华6 小时前
深入理解Kubernetes核心:标签与标签选择器实战解析
云原生·容器·kubernetes·k8s