MicroProfile LRA Specification

MicroProfile LRA Specification :: Specification

Лицензия

Лицензия

Категории

Категории

Narayana Библиотеки уровня приложения Distributed Transactions
Группа

Группа

io.narayana.microprofile.lra
Идентификатор

Идентификатор

microprofile-lra-spec
Последняя версия

Последняя версия

0.0.3.Final
Дата

Дата

Тип

Тип

pom
Описание

Описание

MicroProfile LRA Specification
MicroProfile LRA Specification :: Specification
Организация-разработчик

Организация-разработчик

Eclipse Foundation

Скачать microprofile-lra-spec

Имя Файла Размер
microprofile-lra-spec-0.0.3.Final.pom 4 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.narayana.microprofile.lra/microprofile-lra-spec/ -->
<dependency>
    <groupId>io.narayana.microprofile.lra</groupId>
    <artifactId>microprofile-lra-spec</artifactId>
    <version>0.0.3.Final</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.narayana.microprofile.lra/microprofile-lra-spec/
implementation 'io.narayana.microprofile.lra:microprofile-lra-spec:0.0.3.Final'
// https://jarcasting.com/artifacts/io.narayana.microprofile.lra/microprofile-lra-spec/
implementation ("io.narayana.microprofile.lra:microprofile-lra-spec:0.0.3.Final")
'io.narayana.microprofile.lra:microprofile-lra-spec:pom:0.0.3.Final'
<dependency org="io.narayana.microprofile.lra" name="microprofile-lra-spec" rev="0.0.3.Final">
  <artifact name="microprofile-lra-spec" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.narayana.microprofile.lra', module='microprofile-lra-spec', version='0.0.3.Final')
)
libraryDependencies += "io.narayana.microprofile.lra" % "microprofile-lra-spec" % "0.0.3.Final"
[io.narayana.microprofile.lra/microprofile-lra-spec "0.0.3.Final"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

microprofile lra

Long Running Actions for MicroProfile

Introduction

The specification introduces APIs for services to coordinate activities.

The main thrust of the proposal introduces an API for loosely coupled services to coordinate long running activities in such a way as to guarantee a globally consistent outcome without the need to take locks on data.

Motivation

In a loosely coupled service based environment there is sometimes a need for different services to provide consistency guarantees. Typical examples include:

  • order processing involving three services (take order, bill customer, ship product). If the shipping service finds that it is out of stock then the customer will have been billed with no prospect of receiving his item;

  • an airline overbooks a flight which means that the booking count and the flight capacity are inconsistent.

There are various ways that systems overcome such inconsistency but it would be advantageous to provide a generic solution which handles failure conditions, maintains state for those flows that span long periods of time and ensures that remedial activities are called correctly.

Traditional techniques for guaranteeing consistency in distributed environments has focused on XA transactions where locks may be held for long periods thereby introducing strong coupling between services and decreasing concurrency to unacceptable levels. Additionally, if such a transaction aborts then valuable work which may be valid will be rolled back. In view of these issues an alternative approach is desirable.

Goals

  • support long running actions

  • no strong coupling between services

  • allow actions to finish early

  • allow compensating actions if a business activity is cancelled

Contributing

Do you want to contribute to this project? Find out how you can help here.

io.narayana.microprofile.lra

Eclipse Foundation

Версии библиотеки

Версия
0.0.3.Final
0.0.2.Final
0.0.1.Final