Hmily是一款高性能,高可靠,易使用的柔性分布式事务解决方案,目前提供了对dubbo,spring-cloud,motan,grpc等rpc框架的支持,在易用性上提供零侵入性式的 Spring-Boot, Spring-Namespace 快速集成,目标是打造金融级的一体系分布式事务解决方案。

调整Hmily架构,更合理的模块划分

全景图:

架构调整:

  • 抽离核心执行模块,支持多种事务模式以及混合使用(TCC模式,TAC模式)

  • 核心模块去除对spring的依赖

  • 定义多种SPI接口的实现

  • 新增 hmily-rpc : 聚合多种rpc框架的支持

  • 新增 hmily-spi : hmily框架自定义spi机制实现

  • 新增 hmily-bom : 解决版本依赖管理冲突的问题

  • 新增 hmily-metrics : 监控JVM,线程,事务运行状态,耗时等信息

  • 新增 hmily-tcc : tcc模式的核心实现

  • 新增 hmily-tac : tac模式的核心实现

SPI模块划分:

  • 新增 hmily-repository: 事务日志存储模块,支持(mysql,oracle,postgresql,sqlserver,zookeeper,redis,mongodb,file)

  • 新增 hmily-serializer: 事务日志序列化模块, 支持 (hessian,jdk,kryo,protobuf)

  • 新增 hmily-config:配置模块,支持(本地模式,zookeeper,nacos,apollo,etcd)

  • 新增 hmily-tac-sqlparser :tac模式下,sql解析模块

梳理Hmily社区issue,解决bug。

如上图:在社区中,主要是梳理和解决之前社区反馈的问题,以及社区合作进行新的开发。

解决bug(列举几个):
  • dubbo框架不支持注解方式的使用(spring-boot-starter-dubbo)

  • motan框架不支持注解方式的使用

  • spring-cloud用户如果使用feign与hystrix整合hmily时候的异常问题

  • 事务日志序列化异常

  • 超时异常事务悬挂bug

  • 事务定时恢复bug

社区完成功能(列举几个):
  • build:新增travis-ci功能

  • 事务日志存储:新增oracle,postgresql,sqlsever,mongo,zookeeper,file,redis方式支持

  • 配置模块:新增apollo,etcd,nacos配置中心支持

  • demo:新增motan-rpc方式使用hmily分布式事务demo

社区共建

社区奉行简单,快乐,优雅,和谐基本原则。

  • 代码准则:代码遵循hmily-checkstyle标准,也有很多灵活自由的空间。(talk is cheap ,show you code)

  • 开放准则:希望在这里每个人都有好的思想和观点,大家一起讨论,反复review代码,思考解决bug,快乐成长,绝不搞一言堂。

最近

会发布最新架构的hmily-2.1.0版本(只会支持TCC模式)

配置模块

  • 配置动态刷新功能,支持所有的配置中心

TAC模式:

  • SQL-parser: 正在接入apache-shardingsphere,apache-calcite

  • SQL-revert:正在开发

大约在冬季

很高兴来了这里季节,在这个时间点,会发布hmily-2.2.0版本,这个版本将完全支持TAC,TCC模式。TAC(transaction auto rollback) :有了这个模式,用户再也不用担心像TCC那样去写反向的cancel方法了。大大减少了使用成本以及学习成本。TCC: 稳定性,可靠性得到大大加强,彻底务悬挂问题。

以后的以后

  • 更多RPC框架的支持:brpc等等。

  • 支持 XA模式。

.....这里空起来,很多多的规划,希望你来参与建设。

  • github:https://github.com/dromara/hmily

  • gitee:https://github.com/shuaiqiyu/hmily

  • qq群: 162614487

​Hmily重启后月度报告相关推荐

  1. android afw模式,[HUAWEI-TITANC328]手机加密功能开启后,工作区中添加超级备份手机不断重启的分析报告...

    工作区中添加超级备份手机不断重启的分析报告 [华为反馈] [TIT-AL00C328B120_AFW_必现]创建工作空间后升级系统,升级失败,手机循环重启. 通过分析log发现,实际上这个问题与OTA ...

  2. jdk重启后步行_向后介绍步行以一种新颖的方式来预测未来

    jdk重启后步行 "永远不要做出预测,尤其是关于未来的预测." (KK Steincke) ("Never Make Predictions, Especially Ab ...

  3. centos7配置bind重启后错误解决

    最近研究centos7安装bind做DNS服务器,都配置好了后,重启后用systemctl status named 发现好多诸如以下错误:error (network unreachable) re ...

  4. 【linux】ARM开发板上设置RTC时间,断电重启后,设置失效的原因分析

    问题描述 linux中使用date设置时间后用hwclock -w同步到RTC,断电重启后,有时会失效 原因分析 保存时间戳 1.使用命令关机(halt)会调用rc0.d中的脚本: 2.使用命令重启( ...

  5. android 重启后进入安全模式_图文详细教程:台式电脑或笔记本也可以运行Android系统,凤凰OS...

    安装完Android系统后会和Windows双系统共存,并不会影响原来系统的数据安全,不用担心! 好了,简单粗暴,第一步:下载凤凰OS安卓系统.附官网下载链接http://www.phoenixos. ...

  6. windows服务程序设置为自动 重启后又变为手动启动_系统小技巧:解决Windows无法正常关机的问题...

    Windows使用中可能会遇到这种奇怪的事,下达关机命令之后,没有关机却重启了电脑,反复如此只能强行按下电源按钮或拔掉插头关机.如果你的电脑安装了使用新式电源管理功能的Windows 8.1或Wind ...

  7. C#访问网络共享文件夹,带用户名密码域,解决电脑重启后访问不到网络文件夹

    问题:winform访问网络共享文件夹,电脑重启后访问不到指定目录 原因:访问网络共享文件夹目录需要相关的用户凭据,文件资源管理器可以记住凭据,但是电脑重启后直接用软件访问网络文件夹路径是没有凭据的, ...

  8. linux操作系统重启后 解决nginx的pid消失问题

    linux操作系统重启后 解决nginx的pid消失问题 参考文章: (1)linux操作系统重启后 解决nginx的pid消失问题 (2)https://www.cnblogs.com/cyq632 ...

  9. Android——电脑蓝屏重启后,studio无法认出Android环境 setup JDK(缓存!缓存!缓存)...

    电脑蓝屏重启后,studio无法认出Android环境 setup JDK 问题重现:因为工作问题,需要用到模拟器,然后创建了模拟器后开启了漫长的等待之旅,两三分钟之后win8蓝屏,重启,再次打开,依 ...

最新文章

  1. Android游戏框架解读之总体结构
  2. CSS之看穿绝对定位
  3. 拓端tecdat|matlab测量计算信号的相似度
  4. 怀旧服ouf头像插件_魔兽世界怀旧服EUI插件 V9.0.1.6 官方版
  5. 似幻亦真 教你踏足网络仿真的云外之境
  6. 站在潮流前沿,不到100行代码快速实现一个简易版 vite
  7. java爬虫系列(五)——今日头条文章爬虫实战
  8. 21世纪将是汉语拼音充分发挥威力的时代
  9. 【电脑系统】制作U盘启动盘(适用win)
  10. 【杂纪】从ROC曲线到AUC值,再到Mann–Whitney U统计量
  11. hpp文件和h文件有什么区别
  12. 言简意赅之二进制运算符口诀
  13. 软件项目管理 7.4.1.进度计划编排-超前与滞后方法
  14. MAK vrforce 5.0 vrvantage3.0 vrengage 2.0
  15. 化学品防爆柜怎么接地
  16. 分享商家为什么要做扫码点餐系统_微信小程序点餐系统有什么作用
  17. 腾讯阿里原来是这样设计api的
  18. MATLAB中语音加噪,语音信号加噪和降噪处理
  19. 安徽大学计算机考研试题,安徽大学计算机14年考研复试试题
  20. 高效率的蒙哥马利模乘算法的python语言实现

热门文章

  1. 云服务器维护人员,云服务器维护工作难吗
  2. java服务器访问接口提示network error_北京JAVA开发三年,拿到美团35K的offer面试心得...
  3. Java-Calendar
  4. linux top 看硬盘读写,linux iotop 安装使用教程(显示硬盘IO读写情况)
  5. 高效开发者是如何个性化VS Code插件与配置的?
  6. BZOJ2115:[WC2011] Xor(线性基)
  7. Centos 6.4下MySQL安装及配置介绍
  8. Python2 之 print函数示例
  9. No buffer space available
  10. Android OpenGL ES(十)绘制三角形Triangle .