搭建DevOps模式的项目

在后端的开发领域,各类开发框架都已经很多,在开发项目时可以根据不同的需要和需求选择合适的开发框架。然而在需要开发一个完善的工程化项目时,仅仅一个后端开发框架是不够的,还面临着在对开发项目的快速迭代中进行测试,部署,监控等问题。为了解决这些问题,DevOps的开发模式应运而生。

基于个人对DevOps的理解,搭建了一个基于Gin的开源后端项目来实践下DevOps的各个概念:https://github.com/wanghaoxi3000/advproject

DevOps是一个宽泛的概念,这个项目也只是抛砖引玉,在测试环境下串联起各个DevOps的基础工具,存在的不足欢迎指出,一起学习和交流。

[转载]深度解密Go语言之 scheduler

转载至 https://www.cnblogs.com/qcrao-2018/p/11442998.html, 一篇很不错讲解 Golang scheduler 的文章。

在 Go 语言里,go func 是并发的单元,chan 是协调并发单元的机制,panic 和 recover 是出错处理的机制,而 defer 是神来之笔,大大简化了出错的管理。

Goroutines 在同一个用户空间里同时独立执行 functions,channels 则用于 goroutines 间的通信和同步访问控制。

基于Go-micro微服务的秒杀系统

前段时间了解到了Go-micro这一微服务开发框架,并基于此框架的教程搭建了一套码头货运管理微服务系统。这次使用Micro来设计和实现了一套更接地气的秒杀系统。

对于秒杀,以及抽奖、抢红包这类系统的最大特点便是在某个时间点会瞬间涌入大量的用户,给系统造成瞬间高于平时千百倍的并发压力。针对这样的特点在设计微服务时就需要考虑一系列的措施来保障系统在高并发场景时可以稳定运行。

完整代码地址