Hmily分布式事务重启后月度报告
Hmily重启后月度报告
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://gitee.com/shuaiqiyu/hmily
- qq群:
162614487

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
网工小白升级打怪篇(三)ssh实现远程管理
加群交流在后台回复“加群”,添加小编微信,小编拉你进去 后台回复“ 724 ”获取入门资料 前言: 使用telnet进行远程设备维护的时候,由于密码和通讯都是明文的,易受sniffer侦听,所以应采用SSH替代telnet。SSH (Secure Shell)服务使用tcp 22 端口,客户端软件发起连接请求后从服务器接受公钥,协商加密方法,成功后所有的通讯都是加密的。 实验演示: 一、Cisco远程管理设备ssh设置方法 实验拓扑: 1.首先验证是否支持SSH R2#show ip ssh 能够识别这条命令就说明支持。 2.配置IP域名 R2(config)#ip domain-namedomain-name全局配置模式命令配置网络 IP 域名。 生成rsa密钥要用(默认设备名称必须修改) 3.生成RSA密钥。 当生成rsa秘钥后ssh服务会自动开启,用crypto key zeroize rsa删除 RSA 密钥对之后,SSH 服务将自动禁用 R2(config)#crypto key generate rsa 4.配置用户名和密码 SSH登陆需要用户名和密码,所以必须要配置用户。...
- 下一篇
Milvus 迁移升级攻略
Milvus 自 2019 年 10 月 15 号开源以来,从刚开始 的 0.5.0 版本已经更新迭代到了现在的 0.10.2 版本, 其 间大大小小一共经历了十几个版本。面对这么多版本,很多朋友可能都会有这些疑惑: 哪些版本之间可以进行平滑升级? 能够平滑升级的版本之间具体又该如何升级? 此外,一些朋友进行功能测试的时候是在有网环境里,但是最终上线的时候由于场景的特殊性以及数据的保密性,他们只能在无网环境中部署。于是不禁会问: 如何将 Milvus 从有网环境迁移到无网环境? 针对以上这些问题,本文将一一为大家解答。 | Milvus 数据目录介绍 无论是版本的升级还是有网环境到无网环境的迁移,都是围绕着Milvus 的四个文件夹(conf、db、wal、logs)进行的。所以在开始之前对这四个文件夹做一下介绍是十分必要的。 conf conf 目录用来存放 Milvus 的配置文件。 在 Milvus v0.8.0 及之前版本中,conf 目录里包含两个配置文件:server_config.yaml和log_config.conf。server_config.yaml设置的是 Mi...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6