org.dromara:hmily-spring-boot-starter-sofa-rpc

Distributed transaction Framework

License

License

Categories

Categories

Spring Boot Container Microservices
GroupId

GroupId

org.dromara
ArtifactId

ArtifactId

hmily-spring-boot-starter-sofa-rpc
Last Version

Last Version

2.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

Distributed transaction Framework
Project Organization

Project Organization

dromara

Download hmily-spring-boot-starter-sofa-rpc

How to add to project

<!-- https://jarcasting.com/artifacts/org.dromara/hmily-spring-boot-starter-sofa-rpc/ -->
<dependency>
    <groupId>org.dromara</groupId>
    <artifactId>hmily-spring-boot-starter-sofa-rpc</artifactId>
    <version>2.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.dromara/hmily-spring-boot-starter-sofa-rpc/
implementation 'org.dromara:hmily-spring-boot-starter-sofa-rpc:2.1.1'
// https://jarcasting.com/artifacts/org.dromara/hmily-spring-boot-starter-sofa-rpc/
implementation ("org.dromara:hmily-spring-boot-starter-sofa-rpc:2.1.1")
'org.dromara:hmily-spring-boot-starter-sofa-rpc:jar:2.1.1'
<dependency org="org.dromara" name="hmily-spring-boot-starter-sofa-rpc" rev="2.1.1">
  <artifact name="hmily-spring-boot-starter-sofa-rpc" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.dromara', module='hmily-spring-boot-starter-sofa-rpc', version='2.1.1')
)
libraryDependencies += "org.dromara" % "hmily-spring-boot-starter-sofa-rpc" % "2.1.1"
[org.dromara/hmily-spring-boot-starter-sofa-rpc "2.1.1"]

Dependencies

compile (9)

Group / Artifact Type Version
org.dromara : hmily-spring-boot-starter-parent jar 2.1.1
org.dromara : hmily-sofa-rpc jar 2.1.1
org.springframework.boot : spring-boot-starter jar
org.springframework.boot : spring-boot-starter-test jar
org.springframework.boot : spring-boot-configuration-processor Optional jar
org.slf4j : slf4j-api jar 1.7.7
org.slf4j : jcl-over-slf4j jar 1.7.7
log4j : log4j jar 1.2.17
org.projectlombok : lombok jar 1.16.20

test (7)

Group / Artifact Type Version
org.slf4j : slf4j-log4j12 jar 1.7.7
junit : junit jar 4.12
org.hamcrest : hamcrest-library jar 1.3
org.mockito : mockito-core jar 2.7.21
org.mockito : mockito-inline jar 2.7.21
org.powermock : powermock-api-mockito2 jar 2.0.7
org.powermock : powermock-module-junit4 jar 2.0.7

Project Modules

There are no modules declared in this project.

Financial-level flexible distributed transaction solution

https://dromara.org/

gitee stars github forks github stars github contributors



Panorama of distributed transaction solutions


Features

  • high reliability :supports abnormal transaction rollback in distributed scenarios, and abnormal recovery over time to prevent transaction suspension

  • usability :provide zero-invasive Spring-Boot, Spring-Namespace to quickly integrate with business systems

  • high performance :decentralized design, fully integrated with business systems, naturally supporting cluster deployment

  • observability :metrics performance monitoring of multiple indicators, and admin management background UI display

  • various RPC : support Dubbo, SpringCloud, Motan, Sofa-rpc, brpc, tars and other well-known RPC frameworks

  • log storage : support mysql, oracle, mongodb, redis, zookeeper etc.

  • complex scene : support RPC nested call transaction


Necessary premise

  • must use JDK8+

  • TCC mode must use a RPC framework, such as: Dubbo, SpringCloud, Montan


TCC mode

when using the TCC mode, users provide three methods: try, confirm, and cancel according to their business needs. And the confirm and cancel methods are implemented by themselves, and the framework is only responsible for calling them to achieve transaction consistency。


TAC mode

When the user uses the TAC mode, the user must use a relational database for business operations, and the framework will automatically generate a rollback SQL, When the business is abnormal, the rollback SQL will be executed to achieve transaction consistency。


Documentation

EN doc

CN doc

If you want to use it, you can refer to Quick Start

About Hmily

Hmily is a flexible distributed transaction solution that provides TCC and TAC modes。

It can be easily integrated by business with zero intrusion and rapid integration。

In terms of performance, log storage is asynchronous (optional) and asynchronous execution is used, without loss of business methods。

It was previously developed by me personally. At present, I have restarted at JD Digital. The future will be a distributed transaction solution for financial scenarios.。


Follow the trend

Stargazers over time


User wall

Support

org.dromara

dromara

poems & dreams

Versions

Version
2.1.1
2.1.0