说说你对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 写的。

相关推荐
旦沐已成舟1 小时前
K8S中修改apiserver地址
云原生·容器·kubernetes
q***92512 小时前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
m0_639817152 小时前
基于springboot火锅店管理系统【带源码和文档】
java·spring boot·后端
会编程的林俊杰3 小时前
SpringBoot项目启动时的依赖处理
java·spring boot·后端
码事漫谈3 小时前
C++循环结构探微:深入理解while与do...while
后端
AAA小肥杨4 小时前
探索K8s与AI的结合:PyTorch训练任务在k8s上调度实践
人工智能·pytorch·docker·ai·云原生·kubernetes
码事漫谈4 小时前
现代C++:一场静默的革命,告别“C with Classes”
后端
AntBlack4 小时前
AI Agent : CrewAI 简单使用 + 尝试一下股票分析
后端·python·ai编程
刘一说5 小时前
深入理解 Spring Boot 单元测试:从基础到最佳实践
spring boot·后端·单元测试