Heim php教程 PHP开发 Frühlingstransaktionsabstraktion

Frühlingstransaktionsabstraktion

Nov 22, 2016 pm 03:17 PM
spring

1 Einführung in das Spring Framework-Transaktionsmanagement

Umfassende Transaktionsunterstützung ist ein überzeugender Grund, das Spring Framework zu verwenden. Das Spring-Framework bietet eine konsistente Abstraktion für das Transaktionsmanagement mit den folgenden Vorteilen:

Ein konsistentes Programmiermodell über verschiedene Transaktions-APIs hinweg, wie z. B. Java Transaction API (JTA), JDBC, Hibernate, Java Persistence API (JPA). und Java Data Objects (JDO).

Unterstützt deklaratives Transaktionsmanagement.

Einfacher als komplexe Transaktions-APIs (z. B. JTA).

Perfekt integriert in die Datenzugriffsabstraktion von Spring.

2 Vorteile des Transaktionsunterstützungsmodells des Spring Frameworks

Traditionell verfügen Java EE-Entwickler über zwei optionale Transaktionsverwaltungsmethoden: globale oder lokale Transaktionen, jede mit ihren eigenen Einschränkungen.

2.1 Globale Transaktionen

Globale Transaktionen ermöglichen Ihnen die Nutzung mehrerer Transaktionsressourcen, normalerweise relationale Datenbanken und Nachrichtenwarteschlangen. Die Anwendung verwaltet globale Transaktionen über JTA, eine umständliche API. Außerdem muss JTA UserTransaction normalerweise von JNDI stammen, was bedeutet, dass Sie JNDI verwenden müssen. Offensichtlich schränkt die Verwendung globaler Transaktionen die Wiederverwendung von Anwendungscode ein, da JTA normalerweise nur in einer Anwendungsserverumgebung verfügbar ist.

In der Vergangenheit war die bevorzugte Art der Nutzung globaler Transaktionen EJB CMT (Container Managed Transactions): CMT ist deklaratives Transaktionsmanagement. EJB CMT löscht die JNDI-Suche nach zugehörigen Transaktionen, aber EJB selbst muss JNDI verwenden. Es macht das Schreiben von Java-Code zur Steuerung von Transaktionen größtenteils (aber nicht vollständig) überflüssig. Der wesentliche Nachteil besteht darin, dass CMT JTA- und Anwendungsserverumgebungen bündelt. Gleichzeitig funktioniert es nur, wenn EJBs zur Implementierung der Geschäftslogik verwendet werden, oder zumindest innerhalb einer transaktionalen EJB-Fassade.

2.2 Lokale Transaktionen

Lokale Transaktionen sind bestimmte Ressourcen, Transaktionen sind beispielsweise mit JDBC-Verbindungen verknüpft. Lokale Transaktionen sind einfach zu verwenden, haben jedoch einen erheblichen Nachteil: Sie können nicht mehrere Transaktionsressourcen umfassen. Beispielsweise können Transaktionen, die über eine JDBC-Verbindung verwaltet werden, nicht innerhalb einer globalen JTA-Transaktion ausgeführt werden. Da der Anwendungsserver nicht für die Transaktionsverwaltung verantwortlich ist, kann er keine ressourcenübergreifende Korrektheit garantieren. Ein weiterer Nachteil ist das aufdringliche Programmiermodell lokaler Transaktionen.

2.3 Das konsistente Programmiermodell des Spring-Frameworks

Spring behebt die Mängel globaler und lokaler Transaktionen. Es ermöglicht Entwicklern, in jeder Umgebung ein konsistentes Programmiermodell zu verwenden. Entwickler müssen lediglich ihren eigenen Code schreiben, wodurch die unterschiedliche Transaktionsverwaltung in verschiedenen Umgebungen abstrahiert wird. Das Spring-Framework bietet deklaratives und programmatisches Transaktionsmanagement. Die meisten Benutzer bevorzugen die deklarative Transaktionsverwaltung, die ebenfalls empfohlen wird.

Mithilfe der programmgesteuerten Transaktionsverwaltung nutzen Entwickler die Transaktionsabstraktion des Spring-Frameworks, die für jede zugrunde liegende Transaktion ausgeführt werden kann. Bei Verwendung des bevorzugten deklarativen Modells schreiben Entwickler in der Regel wenig oder keinen Transaktionsverwaltungscode und verlassen sich daher nicht auf die Spring Framework-Transaktions-API oder andere Transaktions-APIs.

3 Verständnis der Spring Framework-Transaktionsabstraktion

Der Schlüssel zur Spring-Transaktionsabstraktion ist das Konzept der Transaktionsstrategie. Die Transaktionsstrategie wird über die Schnittstelle org.springframework.transaction.PlatformTransactionManager definiert:

public interface PlatformTransactionManager {

TransactionStatus getTransaction(

TransactionDefinition definition) löst TransactionException aus;

void commit(TransactionStatus status) löst TransactionException aus;

void rollback(TransactionStatus status) löst TransactionException aus;

}

Dies ist in erster Linie eine Service Provider Interface (SPI), obwohl sie Programmiermodelle in Ihrem Code verwenden kann. Da es sich bei PlatformTransactionManager um eine Schnittstelle handelt, lässt sie sich leicht verspotten und stubben. Es ist keine Suchstrategie wie JNDI erforderlich. PlatformTransactionManager wird wie andere im Spring IoC-Container definierte Objekte implementiert. Aufgrund dieses Vorteils lohnt es sich, Spring Framework-Transaktionen zu abstrahieren, selbst wenn JTA verwendet wird. Transaktionscode ist einfacher zu testen als die direkte Verwendung von JTA.

Die von der PlatformTransactionManager-Schnittstellenmethode ausgelöste TransactionException ist eine unentdeckte Ausnahme (d. h. sie erbt java.lang.RuntimeException). Ein Transaktionsfehler ist fatal. In den seltenen Fällen, in denen der Anwendungscode nach einem Transaktionsfehler tatsächlich wiederhergestellt werden kann, kann der Anwendungsentwickler entscheiden, TransactionException abzufangen und zu behandeln. Der Vorteil besteht darin, dass Entwickler dies nicht erzwingen müssen.

Die Methode getTransaction(..) basiert auf dem Parameter TransactionDefinition, um das TransactionStatus-Objekt zurückzugeben. Der zurückgegebene TransactionStatus kann eine neue Transaktion oder eine vorhandene Transaktion darstellen, wenn die entsprechende Transaktion im aktuellen Aufrufstapel vorhanden ist. Tatsächlich ist dies der letztere Fall. Genau wie der Java EE-Transaktionskontext ist TransactionStatus mit ausführbaren Transaktionen verknüpft.

TransactionDefinition-Schnittstellenbeschreibung:

Isolation (Transaktionsisolationsstufe): Transaktionsisolationsstufe. Kann diese Transaktion beispielsweise andere nicht festgeschriebene Transaktionen lesen?

Weitergabe (Transaktionsweitergabe): Normalerweise wird der gesamte im Transaktionsbereich ausgeführte Code innerhalb der Transaktion ausgeführt. Sie haben jedoch die Möglichkeit, das Verhalten der Transaktionsmethodenausführung anzugeben, wenn bereits ein Transaktionskontext vorhanden ist. Beispielsweise kann der Code in einer bestehenden Transaktion weiter ausgeführt werden (die übliche Situation); oder die bestehende Transaktion kann angehalten und eine neue Transaktion erstellt werden.

Transaktionszeitlimit: Wie lange dauert die Ausführung der Transaktion, bevor sie abläuft und automatisch durch die zugrunde liegende Transaktion zurückgesetzt wird?

Schreibgeschützter Zustand: Schreibgeschützte Transaktionen können verwendet werden, wenn Ihr Code Daten liest, aber nicht ändert. In einigen Fällen sind schreibgeschützte Transaktionen für die Optimierung von Vorteil, beispielsweise wenn Sie Hibernate verwenden.

Diese Einstellungen spiegeln Standardtransaktionskonzepte wider. Diese zugrunde liegenden Konzepte sind ein wesentlicher Bestandteil der Verwendung des Spring Frameworks oder einer anderen Transaktionsverwaltungslösung.

Die TransactionStatus-Schnittstelle bietet eine einfache Möglichkeit für Transaktionscode, ausführbare Transaktionen zu steuern und den Transaktionsstatus abzufragen:

öffentliche Schnittstelle TransactionStatus erweitert SavepointManager {

boolean isNewTransaction ();

boolean hasSavepoint();

void setRollbackOnly();

boolean isRollbackOnly();

void flush();

boolean isCompleted();

}

Unabhängig davon, ob Sie sich in Spring für deklaratives oder programmatisches Transaktionsmanagement entscheiden, ist die Definition der richtigen PlatformTransactionManager-Implementierung von entscheidender Bedeutung. Normalerweise definieren Sie diese Implementierung über die Abhängigkeitsinjektion.

PlatformTransactionManager muss normalerweise die Arbeitsumgebung kennen: JDBC, JTA, Hibernate usw. Unten finden Sie ein Beispiel für die Definition eines lokalen PlatformTransactionManager.

JDBC-Datenquelle definieren:

        destroy-method="close" >

;

PlatformTransactionManager-Definition verweist auf die DataSource-Definition:

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

Wenn Sie JTA in einem Java EE-Container verwenden, können Sie die DataSource des Containers mithilfe von JNDI und Springs JtaTransactionManager abrufen:

xmlns:xsi =" http://www.w3.org/2001/XMLSchema-instance"

xmlns:jee="http://www.springframework.org/schema/jee"

xsi :schemaLocation = "

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/spring-dans.xsd

🎜 > http://www.springframework.org/schema/jee

http://www.springframework.org/schema/jee/spring-jee.xsd">

JtaTransactionManager muss nichts über die DataSource oder eine bestimmte Ressource wissen, da es die globale Transaktionsverwaltung des Containers nutzt.

Sie können auch die lokalen Transaktionen von Hibernate verwenden. In diesem Fall müssen Sie die LocalSessionFactoryBean von Hibernate definieren, die Ihr Anwendungscode verwendet, um eine Hibernate-Sitzungsinstanz abzurufen.

In diesem Fall ist die txManager-Bean HibernateTransactionManager. So wie DataSourceTransactionManager auf DataSource verweisen muss, muss HibernateTransactionManager auf SessionFactory verweisen:

    

    

        

            org/springframework/samples/petclinic/hibernate/petclinic.hbm.xml

        

    

    

        

            hibernate.dialect=${hibernate.dialect}

        

    

   

 如果你使用Hibernate和Java an id="txManager " class="org.springframework.transaction.jta.JtaTransactionManager"/>

你仅仅需要改变配置来改变如何管理事务.

4.1    高级同步方式

首选方式是使用Spring的高级模板基于持久化集成APIs或使用带Weitere Informationen zu ORM-APIs finden Sie hier事务感知解决方案内部处理资源创建、重用、清理、资源事务同步选项和异常映射.因此,数据访问代码没有处理这些任务, 但可以关注非样板式持久化逻辑。通常, 你使用本地ORM API或通过使用JdbcTemplate获取模板.

4.2   Utils (Hibernate), PersistenceManagerFactoryUtils (JDO) sind nicht verfügbar应用程序代码直接处理本地持久化APIs, 你使用这些类确保获取Spring框架管理的实例, 事务是(可选)同步的,发生在进程中的异常正确映射一致性API.

例如Die JDBC-Datenbank enthält die DataSource-Funktion getConnection() und die SpringFramework.jdbc.datasource.DataSourceUtils-Verbindung:

Connection conn =. DataSourceU tils.getConnection(dataSource) ;

如果已存在的事务已经有一个连接同步(链接)它,实例被返回。否则,方法调用触发器创建新的连接, (可选)同步任意已存在的事务, 后续在相同事务中重用.

这种方式不需要Spring事务管理(事务同步是可选的),因此,无论你是否使用Spring管理事务你都能使用它.

当然一旦你使用Spring的JDBC支持、JPA支持或Hibernate支持,你通常不喜欢使用DataSourceUtils或其它的帮助类。

4.3    TransactionAwareDataSourceProxy

Sie können auch TransactionAwareDataSourceProxy verwenden是目标DataSource代理,包装目标DataSource到感知Spring管理事务。为此,它类似于Java EE服务器提供的传统JNDI. DataSource。

5    声明式事务管理

Frühling框架的声明式事务管理让Spring (AOP)码,一般需要理解AOP.

5.1    理解Spring框架的声明式事务实现

通过元数据驱动事务通知(当前基于XML或注解)。AOP联合事务元数据产生AOP代理,使用TransactionIn terceptor联合适当的PlatformTransactionManager实现驱动事务环绕方法调用.

5.2 Beispiele für deklarative Transaktionsimplementierung

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:aop="http : //www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http : //www.springframework.org/schema/tx

.org/schema/aop

http://www.spingframework.org/schema/aop/spring- aop.xsd "& & gt;

& lt; ;

                                                                                         Schreibgeschützte Methoden beginnen mit „get“ -->

                                                                                                                                                                                                                                    Andere Methoden verwenden die Standardeinstellungen -->

 tx:advice> (..))"/>

    

 ​                                                                                                                                                                                                       ,,                          ,,,, P, 🎜>

Standardmäßig wird eine Spring-Transaktion nur dann zurückgesetzt, wenn eine Laufzeitausnahme oder ein Fehler ausgelöst wird. Überprüfte Ausnahmen führen nicht dazu, dass Spring-Transaktionen zurückgesetzt werden.

Sie können den Ausnahmetyp für das Transaktions-Rollback explizit konfigurieren.

                                                                      

Sie können auch den Ausnahmetyp angeben, bei dem die Transaktion nicht verlängert wird:

                                                                                                       5.4 Konfigurieren Sie unterschiedliche Transaktionssemantiken für unterschiedliche Beans

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:aop="http ://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http: //www.springframework.org/schema/tx

.org/schema/aoP

Konfiguration & gt; : pointcut id = "defaultServiceoperation" expression = "Execution (*x.y.service.*service.*(..)) ;> & Lt; AOP: pointcut id="noTxServiceOperation" expression="execution(* x.y.service.ddl.DefaultDdlManager .*(..))"/>

   

                                                                                                                                                                                                                                 >

                                                                                                                " read-only="true"/>

 ;/tx:advice>

                                              /beans>

5.5 Einstellungen

Standardeinstellungen:

Transaktionsweitergabeeinstellung ist ERFORDERLICH

Transaktionsisolationsstufe ist STANDARD

Transaktionen werden gelesen /write

Das Transaktionszeitlimit entspricht standardmäßig dem Zeitlimit des zugrunde liegenden Transaktionssystems, oder es gibt kein Zeitlimit, wenn kein Zeitlimit unterstützt wird

Jede RuntimeException löst ein Rollback aus, jede „Check that Exception“ löst kein Rollback aus

Sie können diese Standardeinstellungen ändern; in den Tags sind die Tags verschachtelt

5.6 Verwenden Sie @Transactional

Anmerkungsverwaltung aktivieren:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:aop="http:/ / www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http:/ / www.springframework.org/schema/tx

                                                                                                                                                        /schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd">

& lt; gt; ;/bean & gt;

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ein neues Programmierparadigma, wenn Spring Boot auf OpenAI trifft Ein neues Programmierparadigma, wenn Spring Boot auf OpenAI trifft Feb 01, 2024 pm 09:18 PM

Im Jahr 2023 ist die KI-Technologie zu einem heißen Thema geworden und hat enorme Auswirkungen auf verschiedene Branchen, insbesondere im Programmierbereich. Die Bedeutung der KI-Technologie wird den Menschen zunehmend bewusst, und die Spring-Community bildet da keine Ausnahme. Mit der kontinuierlichen Weiterentwicklung der GenAI-Technologie (General Artificial Intelligence) ist es entscheidend und dringend geworden, die Erstellung von Anwendungen mit KI-Funktionen zu vereinfachen. Vor diesem Hintergrund entstand „SpringAI“ mit dem Ziel, den Prozess der Entwicklung von KI-Funktionsanwendungen zu vereinfachen, ihn einfach und intuitiv zu gestalten und unnötige Komplexität zu vermeiden. Durch „SpringAI“ können Entwickler einfacher Anwendungen mit KI-Funktionen erstellen, wodurch diese einfacher zu verwenden und zu bedienen sind.

Verwenden Sie Spring Boot und Spring AI, um generative Anwendungen für künstliche Intelligenz zu erstellen Verwenden Sie Spring Boot und Spring AI, um generative Anwendungen für künstliche Intelligenz zu erstellen Apr 28, 2024 am 11:46 AM

Als Branchenführer bietet Spring+AI durch seine leistungsstarke, flexible API und erweiterte Funktionen führende Lösungen für verschiedene Branchen. In diesem Thema werden wir uns mit den Anwendungsbeispielen von Spring+AI in verschiedenen Bereichen befassen. Jeder Fall wird zeigen, wie Spring+AI spezifische Anforderungen erfüllt, Ziele erreicht und diese LESSONSLEARNED auf ein breiteres Anwendungsspektrum ausdehnt. Ich hoffe, dieses Thema kann Sie dazu inspirieren, die unendlichen Möglichkeiten von Spring+AI tiefer zu verstehen und zu nutzen. Das Spring-Framework hat eine mehr als 20-jährige Geschichte im Bereich der Softwareentwicklung, und seit der Veröffentlichung der Spring Boot 1.0-Version sind 10 Jahre vergangen. Nun kann niemand diesen Frühling bestreiten

Was sind die Implementierungsmethoden für programmatische Frühlingstransaktionen? Was sind die Implementierungsmethoden für programmatische Frühlingstransaktionen? Jan 08, 2024 am 10:23 AM

So implementieren Sie programmgesteuerte Spring-Transaktionen: 1. Verwenden Sie TransactionCallback und TransactionCallbackWithoutResult; 4. Verwenden Sie TransactionTemplate in Kombination mit @Transactional;

So implementieren Sie geplante Aufgaben in Java Spring So implementieren Sie geplante Aufgaben in Java Spring May 24, 2023 pm 01:28 PM

Java implementiert geplante Aufgaben In der mit Jdk gelieferten Bibliothek gibt es zwei Möglichkeiten, geplante Aufgaben zu implementieren: eine ist Timer und die andere ist ScheduledThreadPoolExecutor. Wenn Timer+TimerTask einen Timer erstellt, wird ein Thread erstellt, der zum Planen von TimerTask-Aufgaben verwendet werden kann. Der Timer verfügt über vier Konstruktionsmethoden. Sie können den Namen des Timer-Threads angeben und angeben, ob er als Daemon-Thread festgelegt werden soll. Der Standardname ist Timer-Nummer und der Standardname ist kein Daemon-Thread. Es gibt drei Hauptmethoden: cancel(): Aufgabenplanung beenden, alle derzeit geplanten Aufgaben abbrechen, laufende Aufgaben sind davon nicht betroffen. purge(): Aufgaben aus der Aufgabenwarteschlange entfernen

Die Unterschiede und Zusammenhänge zwischen Spring Boot und Spring Cloud Die Unterschiede und Zusammenhänge zwischen Spring Boot und Spring Cloud Jun 22, 2023 pm 06:25 PM

SpringBoot und SpringCloud sind beides Erweiterungen des Spring Framework, die Entwicklern dabei helfen, Microservice-Anwendungen schneller zu erstellen und bereitzustellen. Sie haben jedoch jeweils unterschiedliche Zwecke und Funktionen. SpringBoot ist ein Framework zum schnellen Erstellen von Java-Anwendungen, das es Entwicklern ermöglicht, Spring-basierte Anwendungen schneller zu erstellen und bereitzustellen. Es bietet eine einfache und leicht verständliche Möglichkeit, eigenständige, ausführbare Spring-Anwendungen zu erstellen

Die 7 am häufigsten verwendeten Anmerkungen in Spring, der mächtigsten Organisation der Geschichte! Die 7 am häufigsten verwendeten Anmerkungen in Spring, der mächtigsten Organisation der Geschichte! Jul 26, 2023 pm 04:38 PM

Mit der Aktualisierung und Iteration der Technologie begann Java5.0, Anmerkungen zu unterstützen. Als führendes Framework in Java hat Spring seit der Aktualisierung auf Version 2.5 langsam damit begonnen, die XML-Konfiguration aufzugeben, und es werden mehr Annotationen zur Steuerung des Spring-Frameworks verwendet.

So legen Sie die Transaktionsisolationsstufe im Frühjahr fest So legen Sie die Transaktionsisolationsstufe im Frühjahr fest Jan 26, 2024 pm 05:38 PM

So legen Sie die Transaktionsisolationsstufe in Spring fest: 1. Verwenden Sie die Annotation @Transactional. 3. Legen Sie sie in der Spring-Konfigurationsdatei fest. 4. Legen Sie sie in der Java-Konfigurationsklasse fest. Detaillierte Einführung: 1. Verwenden Sie die Annotation @Transactional, fügen Sie die Annotation @Transactional zu der Klasse oder Methode hinzu, die eine Transaktionsverwaltung erfordert, und legen Sie die Isolationsstufe im Attribut fest. 2. In der Spring-Konfigurationsdatei usw.

Lernen Sie Spring Cloud von Grund auf Lernen Sie Spring Cloud von Grund auf Jun 22, 2023 am 08:11 AM

Als Java-Entwickler ist das Erlernen und Verwenden des Spring-Frameworks eine wesentliche Fähigkeit. Mit der Popularität von Cloud Computing und Microservices ist das Erlernen und Verwenden von Spring Cloud zu einer weiteren Fähigkeit geworden, die beherrscht werden muss. SpringCloud ist ein auf SpringBoot basierendes Entwicklungstoolset zum schnellen Aufbau verteilter Systeme. Es bietet Entwicklern eine Reihe von Komponenten, darunter Dienstregistrierung und -erkennung, Konfigurationscenter, Lastausgleich und Leistungsschalter usw., sodass Entwickler Mikrofunktionen erstellen können

See all articles