Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 使用go-sqlite3实现数据持久化 #363

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

fregie
Copy link
Contributor

@fregie fregie commented Jun 10, 2021

为staticstics增加了一个数据持久化层,在修改用户信息的时候会向sqlite数据库中同时修改,定期更新user traffic信息。
需要注意的是,go-sqlite3库使用了cgo和动态链接库,所以需要开启cgo编译,且运行依赖动态链接库,我觉得这并不怎么好,有没有好的建议?
另外,如果不合入 PR #351 ,则会因为运行时存在多个auth实例而产生bug。
@Loyalsoldier @p4gefau1t
resolve #348

@fregie
Copy link
Contributor Author

fregie commented Jun 10, 2021

我必须要吐槽一下,这个库的架构设计实在是太差了,把功能分成这么多包的同时缺又在实现上强耦合,最让我无法接受的是,每个包主要结构的实例化、初始化居然是通过注册方式在自己包内实现的。各个功能模块在逻辑上分的比较清晰,但是在实现上各个模块界限十分模糊。另外如果tunnel必须要知道自己上层的tunnel是什么并加以处理的话,就意味着这些tunnel之间是强耦合的,不能自由拆装的,那么抽象出来的意义就不大了。
另外目前存在的bug也还不少,关于这个库我还有一些想法,可否进一步交流一下?
请给我发邮件: xiaohao950830@live.com
@Loyalsoldier @p4gefau1t

@mostend
Copy link

mostend commented Feb 16, 2022

@fregie 可以试试kv数据库,可以不需要cgo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feature request: 服务端使用sqlite做用户数据持久化
2 participants