基于 Go 语言构建企业级的 RESTful API 服务

现代软件架构已经逐渐从单体架构转向微服务架构,在微服务架构中服务间通信采用轻量级通信机制。对于轻量级通信的协议而言,通常基于 HTTP 和 RPC ,能让服务间的通信变的标准化并且无状态化。此外开发模式也越来越多的采用前后端分离的模式,在前后端分离的模式中,前后端通信一般是通过 HTTP 进行通信。

不管是微服务架构,还是前后端分离模式,都需要一个 HTTP API 服务器。而且在日后的开发生涯中可能需要构建很多个大大小小的 API 服务器,构建一个简单的 API 服务器很简单,网上有很多教程,但都是不成体系的,非常简单的 hello world 程序,这些教程通常只是讲解开发过程中的某个点,每个人的设计思路也都是不同,并没有一个成系统,成体系的 Go 服务器开发教程可供参考,实际上构建一个企业级的 API 服务还有很多工作要做。

在构建 API 时,有一种构建风格叫 REST,它虽然调用性能不及 RPC,但维护性和扩展性更好,也更通用。由于本小册不讨论微服务之间的高频调用场景, 而 REST 在实际开发中,能够满足绝大部分的需求场景,基于它的其他优势,本小册采用 REST 风格来构建 API 服务器。此外,在媒体类型上选择了 JSON,因为它的内容更加紧凑,数据展现形式直观易懂,开发测试都非常方便。REST + JSON,这也是 Go API 开发中很常用的组合。

640?wx_fmt=png

笔者在近七年的服务器开发过程中,调研了很多 API 构建方式,这些构建方式各有优缺点,此外也构建了多个大型 API 服务器,通过这些调研、构建经验以及开发过程中遇到的坑,笔者沉淀了一套 API 服务器的构建方法,在实际工作中也得到了充分的验证。这里希望通过小册的形式给需要的朋友提供一些帮助和指引,尤其是刚接触 Go 服务器开发没多久,想早点进阶为高手的同学。希望通过阅读本小册,既能让你学会怎么更好地去构建 API 开发过程中的各个功能点,也能收获实用的构建方法和开发建议。

640?wx_fmt=png

作者介绍

640?wx_fmt=png

雷克斯 腾讯高级研发工程师,毕业后曾在 Red Hat、联想集团任职,主要做后台服务器的开发。在微服务、容器云和后台 API 服务器构建上有丰富的经验,构建过 10万+ Docker 容器的容器云项目、百万级 QPS 的 API 项目。

名人推荐

640?wx_fmt=png640?wx_fmt=png

你会学到什么

本小册是一个实战类的小册,根据开发流程教读者怎样一步步构建一个企业级的 API 服务器。从开发准备到 API 设计,再到 API 实现、测试和部署,每一步都详细介绍了构建技术和笔者的开发经验和建议。通过 17 个 demo,最终构建出一个企业级的 API 服务器。通过本小册的学习,你将学到如下知识点:

640?wx_fmt=png

知识点很多,跟着小册一节一节进行学习,你将从 Go 服务器开发的新手进阶为老鸟。

最后如果你有兴趣,可以通过长按下方二维码,享受5折优惠购买。

 

640?wx_fmt=png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Google出品的GO语言,最近有火起来的趋势。据众大神说,GO语言弥补了C和C++还其他语言的缺陷,颇有白富美的感觉。 网络上搜索了一番,发现【吾爱】上并没有GO语言的视频下载,其他站点也很少提供GO语言的视频教学。 51CTO、网易云课堂、土豆有”无闻“主讲的教程,好一阵搜索终于在”无闻“的Github找到了百度云的下载链接,整理了一番,贡献给大家。 ********************** 该视频堪称精典,望共同进步。********************** 【详细列表】 一、Go编程基础   │   【Go编程基础】01Go开发环境搭建   │   【Go编程基础】02Go基础知识   │   【Go编程基础】03类型与变量   │   【Go编程基础】04常量与运算符   │   【Go编程基础】05控制语句   │   【Go编程基础】06数组array   │   【Go编程基础】07切片slice   │   【Go编程基础】08map   │   【Go编程基础】09函数function   │   【Go编程基础】10结构struct   │   【Go编程基础】11方法method   │   【Go编程基础】12接口interface   │   【Go编程基础】13反射reflection   │   【Go编程基础】14并发concurrency   │   【Go编程基础】15项目与坑 二、Go Web基础   │   【Go Web基础】01博客项目设计   │   【Go Web基础】02初窥 Web 开发   │   【Go Web基础】03模板用法讲解   │   【Go Web基础】04登录及分类管理   │   【Go Web基础】05文章的添加与删除   │   【Go Web基础】06评论与分类显示   │   【Go Web基础】07为文章添加标签   │   【Go Web基础】08文章附件上传   │   【Go Web基础】09国际化支持   │   【Go Web基础】10自建 HTTP 中间件   │   【Go Web基础】11简易的 RPC 实现   │   【Go Web基础】12Go Web 扩展学习 三、名库讲解   │   【Go 名库讲解】00课程学习指南   │   【Go 名库讲解】01goconfig 使用解析   │   【Go 名库讲解】02xorm常见用法指导&高级用法讲解   │   【Go 名库讲解】03goconvey优雅的单元测试   │   【Go 名库讲解】04macaron初识Macaron&核心服务的使用&自定义服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值