原文:【Gin-API系列】实现动态路由分组(七)

在之前的文章介绍中我们已经完成了一个API服务的全链路请求设计。调用方式可以看Test目录的代码 重复的路由现象 截至目前我们只定义了一个路由 在main函数中 ,但现实中往往会定义多个路由实现多个API接口,而为了风格统一化 或是模块化 版本区分等原因 ,我们也往往会将多个路由归为一类,这就会导致很多路由的前缀相同。 所以,本文将介绍如何通过分组路由,减少路由重复代码并实现动态路由。 路由定义 ...

2020-09-04 15:28 2 1906 推荐指数:

查看详情

Gin-API系列】部署和监控(九)

本文是【Gin-API系列】的最后一篇文章,简单介绍如何在生产环境的部署架构和监控手段。 生产部署 部署架构 使用Nginx加Keepalived的方式搭建,可以达到高可用的效果,并可以横向扩容 如何升级 Nginx负载均衡配置增加健康检查机制 ...

Wed Sep 09 23:58:00 CST 2020 0 591
Gin-API系列】需求设计和功能规划(一)

场景需求 数据库存储2个模型,每个模型都有一个或多个IP字段,需要通过 Golang Http Api(Restful Api) 返回 IP 信息。 模型1 - 服务器 ID 主机名 IP 内存大小 磁盘大小 ...

Mon Jul 27 23:00:00 CST 2020 0 648
Gin-API系列】守护进程和平滑重启(八)

生产环境的API服务我们都会部署在Linux服务器上,为了不受终端状态的影响,启动服务的时候会让服务在后台运行。那么如何让服务在后台运行呢,目前有2种常见的方法。 1、nohub 运行 表示忽略SIGHUP(挂断)信号,终端退出的时候所发起的挂断信号会被忽略。nohup一般会结合&参数 ...

Wed Sep 09 01:01:00 CST 2020 0 1430
Gin-API系列】请求和响应参数的检查绑定(二)

参数设计 一套合格的API的服务需要规范的输入请求和标准的输出响应格式。 为了更规范的设计,也是为了代码的可读性和扩展性,我们需要对Http请求和响应做好模型设计。 请求 根据【Gin-API系列】需求设计和功能规划(一)请求案例的设计, 我们在ip参数后面再增加 ...

Mon Jul 27 23:01:00 CST 2020 0 944
Gin-API系列Gin中间件之日志模块(四)

日志是程序开发中必不可少的模块,同时也是日常运维定位故障的最重要环节之一。一般日志类的操作包括日志采集,日志查询,日志监控、日志统计等等。本文,我们将介绍日志模块在Gin中的使用。 Golang如何打印日志 日志打印需要满足几个条件 重定向到日志文件 区分日志级别,一般 ...

Tue Aug 18 00:05:00 CST 2020 0 2085
Gin-API系列Gin中间件之鉴权访问(五)

在完成中间件的介绍和日志中间件的代码后,我们的程序已经基本能正常跑通了,但如果要上生产,还少了一些必要的功能,例如鉴权、异常捕捉等。本章我们介绍如何编写鉴权中间件。 鉴权访问,说白了就是给用户 ...

Thu Sep 03 02:32:00 CST 2020 1 1919
Gin-API系列Gin中间件之异常处理(六)

本文我们介绍生产环境上如何通过捕捉异常recovery来完善程序设计和提高用户体验。 Golang异常处理 golang 的异常处理比较简单,通常都是在程序遇到异常崩溃panic之后通过defer调用延迟函数捕捉异常,并对异常信息进行输出和记录。 异常处理代码 通过Gin ...

Fri Sep 04 00:53:00 CST 2020 0 1263
Gin-API系列】配置文件和数据库操作(三)

我们前面已经实现API的基础版本,能对参数校验和返回指定数据,这一章,我们将对主机和交换机进行建模,存入数据库。 考虑到数据库安装和使用的简便性,我们采用文档存储结构的MongoDB数据库。 Mongo数据库下载安装,安装后不用设置密码,直接使用即可 下载链接 https ...

Tue Aug 11 02:10:00 CST 2020 0 1625
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM