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

相关推荐
计算机毕设VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
没差c5 小时前
springboot集成flyway
java·spring boot·后端
三水不滴5 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
笨蛋不要掉眼泪6 小时前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
sheji34169 小时前
【开题答辩全过程】以 基于SpringBoot的疗养院管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
短剑重铸之日9 小时前
《设计模式》第六篇:装饰器模式
java·后端·设计模式·装饰器模式
!chen9 小时前
银河麒麟v11 kubeadm部署k8s v1.35.0高可用集群
云原生·容器·kubernetes
DB!!!9 小时前
自学Kubernestes(k8s)Day1 -- 核心基础概念
云原生·容器·kubernetes
小义_10 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
码界奇点10 小时前
基于Flask与OpenSSL的自签证书管理系统设计与实现
后端·python·flask·毕业设计·飞书·源代码管理