每到节假日和过年,需要外出通行的人几乎都会遇到一个问题:抢火车票!当全国上亿人都在固定的时间段抢票,服务器动辄就要承受上百万级并发的情况时,你就会明白,一个支持高并发的服务器架构有多重要!
在后端程序员的面试中,如果你有开发高并发服务器的经验,也往往能得到比别人更多的机会。
提到「高并发」,就不得不提天生为高并发而生的 Go 语言。今天,我们就带大家从 0 开始,用 Go 语言完成一个企业级服务器的开发。
关于实现一个企业级框架,你无需恐惧难度过高,你只需要有 Golang 的基础知识即可。我们会每次只会添加一些微小的功能,以循序渐进的曲线方式了解服务器框架的领域。
教程出自实验楼课程——《Go 并发服务器框架 Zinx 入门》,欢迎来实验楼免费学习!
课程地址:https://www.shiyanlou.com/courses/1639
在本章实验中,我们将学习从 0 开始完成一个服务器框架的开发。
知识点
Zinx 为什么会出现呢?作者是这样说的。
我们为什么要做 Zinx,Golang 目前在服务器的应用框架很多,但是应用在游戏领域或者其他长链接的领域的轻量级企业框架甚少。
设计 Zinx 的目的是让我们可以通过 Zinx 框架来了解基于 Golang 编写一个 TCP 服务器的整体轮廓,让更多的 Golang 爱好者能深入浅出的去学习和认识这个领域。
所以,本课程的实验学习完成后,你将学到:Golang 如何实现 TCP 服务器,一个企业级框架是如何诞生的。
关于实现一个企业级框架,你也无需恐惧难度过高,你只需要有 Golang 的基础知识,我们之后的每一节实验,都只会添加一些微小的功能,以循序渐进的曲线方式了解服务器框架的领域。
我们先来模拟一下一个客户端请求服务器响应的过程:
这个过程就是 Zinx 官方架构图中的一个流程:
Zinx 作为一个轻量级框架,虽然轻便,但是却可以满足以上的过程,所以是具生产力的框架。
我在下面整理了一个思维导图,这个导图中就是我们接下来的实验中要实现的功能。我们将从 0.1 版本开始,一直实现到 1.0 的完整版本。
今天我们的前导课,主要是给大家讲解了 Zinx 框架的一个架构设计与功能模块有什么,给大家留下一个印象,后面的实验中,我们会逐步去实现相应的模块功能。
后面还有 10 个章节的内容,完全免费,你将学到: