Explore Seata 1.5: New Enterprise Features, SkyWalking Integration, and YAML Config

Seata 1.5 introduces a stronger Enterprise edition with 20% lower latency and 30% higher TPS, a graphical console, SkyWalking transaction tracing, YAML configuration support, and detailed deployment steps for integrating Seata into Pig microservice projects, complete with code examples and database setup.

Java Architecture Diary
Java Architecture Diary
Java Architecture Diary
Explore Seata 1.5: New Enterprise Features, SkyWalking Integration, and YAML Config

1. Seata 1.5 New Features

After a year of waiting, Seata 1.5 is released; the Pig microservice framework already supports version 1.5.

① Stronger Seata Enterprise Edition

Alibaba Cloud's Seata Enterprise edition is now in public beta, offering fully managed service and a more stable kernel than the open‑source version. Compared with the open‑source kernel, the enterprise version reduces latency (rt) by over 20% and increases TPS by 30%; overall performance for the same specifications is expected to improve by about 100%+. It also resolves transaction “spike” issues in high‑concurrency scenarios.

② Graphical Console

Online transaction information

Supports DB, Redis, File modes

Note: the console default port is 7091

③ SkyWalking Transaction Tracing Support

apm-seata-skywalking-plugin-1.5.1.jar

Logs now print both XID and TraceId, allowing you to input the TraceId in SkyWalking to trace the global transaction chain; Seata monitoring integrates with SkyWalking dashboards, topology, profiling, and alerts.

④ YAML Configuration for seata‑server

Since version 1.5, all Seata configuration can be done via application.yml.

2. Quick Introduction to Seata Distributed Transactions

Using Seata in Pig

① Deploy seata‑server

Download seata-server-1.5.1.zip and unzip.

# windows
seata-server.bat -p 8091 -h 127.0.0.1 -m file
# mac or linux
sh seata-server.sh -p 8091 -h 127.0.0.1 -m file

② Add Dependency

<dependency>
    <groupId>com.pig4cloud</groupId>
    <artifactId>pig-common-seata</artifactId>
</dependency>

③ Declare @GlobalTransactional on Service Caller

@GlobalTransactional // distributed transaction annotation
@Transactional(rollbackFor = Exception)
public R consumer() {
    feign.providerMethod(); // call provider service via Feign
}

④ Add undo_log Table for Microservice Databases

CREATE TABLE `undo_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) NOT NULL,
  `xid` varchar(100) NOT NULL,
  `context` varchar(128) NOT NULL,
  `rollback_info` longblob NOT NULL,
  `log_status` int(11) NOT NULL,
  `log_created` datetime NOT NULL,
  `log_modified` datetime NOT NULL,
  `ext` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

References

[1] Pig microservice framework: https://gitee.com/log4j/pig

[2] apm-seata-skywalking-plugin-1.5.1.jar: https://seata.io/zh-cn/docs/user/apm/skywalking.html

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

YAMLDistributed TransactionsSeataSkyWalkingEnterprise Edition
Java Architecture Diary
Written by

Java Architecture Diary

Committed to sharing original, high‑quality technical articles; no fluff or promotional content.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.