0%

最近,Google开源了一个用于编写、部署和管理分布式应用程序的编程框架:Service Weaver。 这个框架设计思想很巧妙,使用该框架可以以函数调用的方式去调用其他服务,无需考虑任何网络或者序列化问题,在部署时却能够以微服务的方式运行。 这样一来,开发者可以在自己的机器上运行、测试和调试,非常的方便。

当应用程序面临高并发请求时,重复请求往往是一种常见的问题。针对这一问题,Go 语言中提供了 SingleFlight 库,它可以有效地解决并发请求中的重复请求问题,提升应用程序的性能和稳定性。在本文中,我们将介绍 SingleFlight 库的作用和价值,并详细讲解如何在 Go 语言中使用 SingleFlight 库来解决并发请求中的重复请求问题。同时,我们将探讨 SingleFlight 库的原理和实现,以及其在实际项目中的应用场景和注意事项。

在日常开发中,我们大多的精力都花在业务开发上,设计可能只占用了少部分的时间。 实际上,好的架构会让别人维护起来很舒服,很轻松。而不好的设计,会浪费你更多的时间,提高成本。 近些年来,整洁架构,领域驱动设计特别火,很多程序员也都用上了。 接下来,我将基于实际开发,介绍go使用整洁架构的例子。

在上一节我们了解了go的抽象语法树AST,并利用go提供的AST包拿到了用户定义的sql。接下来就是如何解析sql,将sql语句中的表名,列字段的名称,类型等关键信息提取出来。 这就需要我们的语法分析了,在本项目中我们决定采用ANTLR来完成此任务,他是一个强大的工具,下文我将为大家介绍是如何实现的。

在平常业务开发中,我们经常会使用一些数据库框架,诸如gorm,sqlc,ent等等。 每当想新加一个表时,就会产生很多重复性的操作,例如插入数据,读取数据,删除之类。 这大大降低了开发效率,于是,我萌生了一个想法,想把这些操作都交给程序去实现。