tmaic saas 多租户(Multi-Tenant )框架

介绍

tmaic saas多租户(Multi-Tenant ),即一个Tenant,一个Database“的数据存储方式。隔离级别最高、最安全,说到底是要解决数据存储的问题,golang语言saas框架唯数不多的框架之一。

软件架构

数据模型

以下是例子

生成公钥文件

tmaic.CreateRsaKey()

系统函数

加密解密函数

公钥加密

s,_:= tmaic.Encryption("Golang使用RSA进行公钥加密私钥解密,私钥加密公钥解密的实现")

私钥解密

dd,_ := tmaic.Decrypt(s)

私钥加密

s,_:= tmaic.PrivateEncryption("Golang使用RSA进行公钥加密私钥解密,私钥加密公钥解密的实现")

公钥解密

dd,_ := tmaic.PublicDecrypt(s)

校验密码是否正确

user.Password:用户密码(已加密)

requestData.Password:要校验的密码(明文)

注意事项:如果要使用 NSQ 队列的,不用将包注释

导入包:

"github.com/pangxianfei/framework/queue"

"tmaic/app/events"

"tmaic/app/jobs"

"tmaic/app/listeners"

以下去掉注释即可:

//queue.Initialize()

//jobs.Initialize()

//events.Initialize()

//listeners.Initialize()

nsq启动

1.nsqlookupd

2.nsqd --lookupd-tcp-address=127.0.0.1:4160

3.nsqadmin --lookupd-http-address=127.0.0.1:4161

执行以上命令后:http://127.0.0.1:4171 可查看监控台

队列demo (test)

*** 详情见工程项目下

入列(我们常说的写入 topic,生产者),以下写入topic例子

出列(启动一个观察者)

实现消费,在根目录与main.go同级,

go run artisan.go queue:listen test-add //test-add 是Name() 返回的 配合supervisor进程守护

类型转化助手

ToInt64

ToInt32

ToFloat32

更多方法 查看cast包

打印

tmaic.Dump(mugs)

性能测试

虚拟机环境下:

avatar

压力测试

ab -c 1000 -n 5000 -k http://127.0.0.1/all

avatar

安装教程
  1. git clone git@gitee.com:pangxianfei/tmaic.git
  2. go mod init // 初始化go mod 包管理
  3. go mod tidy // 加载依赖包
  4. go mod vendor // 将依赖包拷贝到项目目录中去
  5. go run main.go
参与贡献
  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

请赞助本项目

如你觉有收获,请给我打赏