casbin 轻量级访问控制框架
casbin是一个用Go语言打造的轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方……...
DTM 是首款 golang 的开源分布式事务管理器,优雅的解决了幂等、空补偿、悬挂等分布式事务难题。在微服务架构中,提供了高性能和简单易用的分布式事务解决方案。
亮点
稳定可靠
经过生产环境考验,单元测试覆盖率90%以上
使用简单
接口简单,开发者不再担心悬挂、空补偿、幂等各类问题,框架层代为处理
跨语言
可适合多语言栈的公司使用。协议支持http。方便go、python、php、nodejs、ruby各类语言使用。
社区活跃
任何问题都快速响应
易部署、易扩展
仅依赖mysql,部署简单,易集群化,易水平扩展
多种分布式事务协议支持
TCC: Try-Confirm-Cancel
SAGA:
可靠消息
XA
与其他框架对比
目前开源的分布式事务框架,有阿里的 SEATA、华为的 ServiceComb-Pack,京东的 shardingsphere,以及 himly,tcc-transaction,ByteTCC 等等,其中以 seata 应用最为广泛。
这些框架基本都是 Java 语言,非 Java 语言的,暂未看到有成熟的框架。
下面将dtm和seata的主要特性做一下对比:
支持语言Golang、python、php及其他Javadtm可轻松接入一门新语言异常处理子事务屏障技术手动处理dtm解决了幂等、悬挂、空补偿TCC事务✓✓XA事务✓✓AT事务✗✓AT事务与XA事务类似SAGA事务简单模式状态机复杂模式dtm的状态机模式在规划中事务消息✓✗dtm提供类似rocketmq的事务消息通信协议HTTPdubbo等协议,无HTTPdtm后续将支持grpc类协议star数量
dtm从20210604发布0.1,发展快
快速开始安装
git clone https://github.com/yedf/dtm
dtm依赖于mysql
配置mysql:
cp conf.sample.yml conf.yml # 修改conf.yml
启动并运行saga示例
go run app/main.go saga
casbin是一个用Go语言打造的轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方……...
EGL是IBM设计的面向企业的平台无关高级程序语言,语法类似其它常见语言,EGL程序可以编译成COBOL、Java或……...
MiniGUI 是一个自由软件项目。其目标是提供一个快速、稳定、跨操作系统的图形用户界面(GUI)支持系统,……...
Nesty是什么? Nesty是跨平台的,面向对象的C语言开发框架。Nesty旨在为从事系统开发的编程人员提供一套……...
性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页……...
TinyMCE是一个轻量级的,基于浏览器的,所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成……...
Paladin 是 Mozilla 社区推出的一个开源的 Web 游戏引擎技术。 Paladin sits at the intersection of 3D gaming, JavaScript framework and library development, and the browser. We're tied into the bits of t……
Vux(读音 [v'ju:z],同views)是基于 WeUI 和 Vue(2.x) 开发的移动端UI组件库,主要服务于微信页面。 基于webpack+vue-loader+vux可以快速开发移动端页面,配合vux-loader方便你在WeUI的基础上定制需要的样……
Ionicons是一个完全开源的图标集,包含 1,300 个专为 Web、iOS、Android 和桌面应用程序设计的图标。 Ionicons 是为Ionic Framework构建的,因此图标具有 Material Design 和 iOS 版本,支持 SVG 和 Web Font。 Io……