• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

EDAS: 企业级分布式应用服务EDAS(Enterprise Distributed Application Service) ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

EDAS

开源软件地址:

https://gitee.com/oxyak/EDAS

开源软件介绍:

EDAS

Api在线文档

介绍

企业级分布式应用服务EDAS(Enterprise Distributed Application Service)期望做一个基于go-micro + casbin + jwt 的用户认证和权限的微服务 参考

软件架构

软件架构说明

模块划分
服务划分
数据库图

技术实现

  1. 技术方案 参考MTBSystem
    • 服务端 go-micro
    • 数据库 mysql
    • 缓存 redis
    • 前端 react
    • 服务器 centos7 & nginx
    • 本地环境 go 1.13.4
    • 容器 Docker
    • 进程管理 supervisor
    • 数据库备份 冷备份(rsync+mysqldump)
  2. 特性
    • 遵循 RESTful API 设计规范
    • 基于原生 http net 可以方便修改为各种框架和定制服务
    • 基于 Casbin 的 RBAC 访问控制模型
    • 基于 SQL 语句的数据库访问
    • 依赖注入(基于dig)
    • 日志追踪(基于zap)
    • JWT 认证
    • 支持Swagger文档(基于swaggo)
    • 单元测试(基于net/http/httptest包,覆盖所有接口层的测试)
  3. xxxx

使用说明

  1. 使用的开源第三方库

如下:

go get github.com/jmoiron/sqlxgo get go.uber.org/zapgo get go.uber.org/diggo get github.com/garyburd/redigo/redisgo get github.com/go-sql-driver/mysqlgo get github.com/json-iterator/gogo get github.com/stretchr/testifygo get github.com/swaggo/swaggo get google.golang.org/grpcgo get github.com/micro/go-microgo get github.com/micro/go-pluginsgo get github.com/golang/protobuf/protogo get github.com/golang/protoc-gen-gogo get github.com/micro/protoc-gen-microgo get github.com/google/uuidgo get github.com/julienschmidt/httproutergo get github.com/juju/ratelimitgo get github.com/casbin/casbingo get github.com/casbin/casbin-server
  1. 项目结构概览
├─.gitee├─service  服务划分│  ├─apigw 网关│  │  ├─handler     │  │  ├─middleware│  │  │  └─casbin│  │  └─route│  ├─permission 权限微服务│  │  ├─db│  │  ├─handler│  │  └─proto│  └─user       用户微服务│      ├─db│      ├─handler│      └─proto├─share│  ├─config  项目配置│  ├─errors  错误说明│  ├─log     zap日志配置│  └─util    工具集合└─sql 数据库字段

进度说明

  • [*] 账号系统,注册/登录/查询用户数据
  • JWT认证 未完成
  • [*] 菜单/角色/用户的增删改查操作
  • 菜单动作/菜单资源/角色与菜单的绑定/用户与角色绑定 未完成
  • casbin 的 RBAC 访问控制 未完成

感谢以下的开源支持

共同学习

该项目是源于自己的项目积累及个人思考,因为个人能力有限,希望有小伙伴可以一起参与共同学习进步

  1. Fork 本仓库
  2. 新建分支
  3. 提交代码
  4. 新建 Pull Request

期待与您一起学习进步,下面是我的微信二维码:

微信二维码


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
snowflake: snowflake based on etcd发布时间:2022-03-25
下一篇:
SwarmStack: A Docker swarm-based starting point for operating highly-available c ...发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap