02-go的语言特点
Go 构建微服务的历程
在2015年之前,头条的主要编程语言是 Python 以及部分 C++。随着业务和流量的快速增长,服务端的压力越来越大,随之而来问题频出。Python 的解释性语言特性以及其落后的多进程服务模型受到了巨大的挑战。此外,当时的服务端架构是一个典型的单体架构,耦合严重,部分独立功能也急需从单体架构中拆出来。
为什么选择 Go 语言?
Go 语言相对其它语言具有几点天然的优势:
语法简单,上手快
性能高,编译快,开发效率也不低
原生支持并发,协程模型是非常优秀的服务端模型,同时也适合网络调用
部署方便,编译包小,几乎无依赖
什么是Go?
Go是一门 并发支持 、垃圾回收 的 编译型 系统编程语言,旨在创造一门具有在静态编译语言的 高性能 和动态语言的 高效开发 之间拥有良好平衡点的一门编程语言。
Go的主要特点有哪些?
类型安全 和 内存安全
以非常直观和极低代价的方案实现 高并发
高效的垃圾回收机制
快速编译(同时解决C语言中头文件太多的问题)
为多核计算机提供性能提升的方案
UTF-8编码支持
Go存在的价值是什么?
Go在谷歌:以软件工程为目的的语言设计
Go是记事本编程吗?
包括VIM,IDEA,Sublime Text,Eclipse等众多知名IDE均已支持
vscode idea
Go目前有多少实际应用和资源?
全球最大视频网站 Youtube(谷歌)
七牛云储存以及旗下网盘服务(Q盘)
爱好者开发的Go论坛及博客
已用Go开发服务端的**企业:谷歌、盛大、七牛、360
其它海量开源项目:go-wiki、Go Walker、Go Language Resources
监控系统,zk用过100万数据节点就不能动了,然后自己写的,一般用go做服务这块,
一个节点宕机不会影响其他节点。除了C和C++感觉搞不定,其他的几乎都搞过,有人感觉python不错就做python,脚本语言比较爽,Go一份代码其他系统都可以运行,和你版本没有任何关系,集群管理,日志收集,开发速度快,稳定,依赖少,可以充分利用这些资源,其他很难依赖,基础设施越来越高
做一些页面,逻辑变化大用 python 高性能 规模 用go。
公开笔记对他人可见,有机会被管理员评为“优质笔记”
{{ noteEditor.content.length }}/2000
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
课程大纲