Author: Qing Ming, founder of Seata
Seata is an open source distributed transaction solution dedicated to providing high-performance and easy-to-use distributed transaction services under a microservice architecture. Seata has always played the role of data consistency middleware at the application architecture layer within Alibaba. Seata is used in almost every transaction to help businesses survive the double 11 floods over the years. In just 3 years of open source, the Seata community has gained 22k stars and established a large number of enterprise benchmark users, becoming the de facto standard in the field of distributed transactions.
Seata recently officially released the milestone version 1.5.0. In this version, a total of 61 contributors contributed nearly 7w+ codes, and released a series of major feature support such as console support. At the same time, based on version 1.5.0, the public beta of Seata Enterprise Edition was officially opened on Alibaba Cloud. The Enterprise Edition can save users the trouble of operation and maintenance, and the kernel performance has also been greatly improved, allowing users to quickly experience the functions of Seata. And enjoy the dividends brought by the cloud native era. During the public beta period, users can open Seata Enterprise Edition for free. Everyone is welcome to try it out, and I hope you will give us valuable suggestions for our products.
Seata Enterprise Edition service opening:
https://help.aliyun.com/document_detail/427295.html
Currently, only the North China 2 (Beijing) region is supported, and it is free to use during the public beta period.
Seata's past and present
Before Seata's open source, its internal product TXC (taobao transaction constructor) has been polished for a long time in Alibaba, and it plays an important role in "service consistency" in the middleware product matrix. It was first born in the era of Internet middleware without "IOE" to solve the data consistency problem encountered by Alibaba's internal large-scale service, and then experienced "high availability and unified e-commerce", "middleware cloud ”, the evolution of important technical architectures such as “cloud native middleware”.
In the past few years, the open source community has launched a number of well-known open source projects, and the middleware system supporting core business has changed from closed to open. In 2019, Alibaba completed the cloud migration of the core system of the whole site. The three-in-one concept of "self-research", "open source" and "commercialization" has formed a unified system, which has become a reality and maximizes the value of technology. Seata has become an important basic component in the process of 0-1 landing of distributed applications.
Seata's Core Business Values
When the application evolves into a distributed architecture, the distributed transaction problem is particularly prominent. The main reasons are as follows:
1. Cross-database operations <br>In the initial stage of the business, the scale is often relatively small. In most cases, a single database can meet the needs. As the business scale becomes large and complex, there will be a situation of sub-database, and the original stand-alone transaction will often become a distributed transaction.
2. Distributed transactions across systems <br>When integrating with third-party systems (including inside and outside the enterprise), local operations are strongly dependent on the response results of the third-party system, and the business either succeeds or fails together. Scenarios that naturally generate distributed transactions.
3. Distributed transactions across services <br>After the service transformation of the business is completed, the resources are decoupled from the client calls, and at the same time, it is necessary to ensure that the changes of resources between multiple service calls remain strongly consistent, otherwise the business data will be incomplete. .
4. Distributed transactions across databases and messages <br>In some business scenarios, when multiple DB operations are required, the message system will also be called. Successful DB operations, message sending failures, or vice versa will cause business inconsistencies. whole.
Seata can easily solve the distributed transaction problems encountered in the above scenarios, and become the connection point of data consistency in the resource layer under the distributed architecture. , developers can transparently use Seata to solve the data consistency problem at the application architecture layer.
- Integrate with HSF/Dubbo to address data consistency across services;
- Integrate with TDDL/DRDS to resolve data consistency between sub-databases and sub-tables;
- Integrate with MetaQ/RocketMQ to resolve the consistency of distributed transactions and message sending success.
Seata handles tens of billions of transactions per day on average, with a 99.99% availability and performance SLA, and no failures throughout the year. Its original AT transaction mode realizes millisecond-level transaction processing, and a 3-node cluster can achieve concurrent transaction processing of nearly 10w tps.
Seata solves the distributed transaction problems generated in the business process through the framework level, so that architects can focus more on the business architecture itself, and no longer need to pay attention to the design of data consistency. Through the simple and easy-to-use non-invasive solution, the learning cost of developers is reduced and the development efficiency is improved.
Seata Open Beta
core advantages
Seata Enterprise Edition is 100% compatible with open source, open source self-built to switch to Enterprise Edition with zero migration cost, users can use Seata Enterprise Edition simply by changing the endpoint. Compared with open source self-built, the core advantages of Seata Enterprise Edition are as follows:
- Free construction: low labor maintenance cost.
- Ease of use: white screen operation and maintenance operations.
- High availability: multi-availability zone deployment, automatic fault detection and recovery, elastic scaling, and SLA guarantee.
- Performance: Compared with the open source version, the performance of the enterprise version is improved by 30%+ at the kernel layer, and about 100% in other aspects.
- Monitoring: With professional APM monitoring and alarming.
- Security: Support authentication, kernel security reinforcement and optimization, and data encryption.
Performance comparison between open source self-built and enterprise version
The Enterprise Edition kernel is deeply optimized for performance and stability. Compared with the open source version, the enterprise version has more than 20% reduction in rt and 30% increase in tps. Considering the advantages of self-built parameter tuning, dependent component tuning and infrastructure, the overall performance of the same specification is expected to increase by about 100%+. At the same time, the Enterprise Edition solves the problem of transaction processing "glitches" in high concurrency scenarios.
Service opening
Building a Seata cluster through the open source self-built method requires seven steps to complete the server-dependent storage, registration center, configuration center, modify and synchronize configuration, modify metadata, add transaction group and start server. Seata Enterprise Edition provides hosting of Server nodes, dependent storage, and NamingServer (registration center and configuration center), which saves users the trouble of building, just click "Create Seata Instance" in the Alibaba Cloud Microservice Engine MSE Distributed Transaction Console and "Create Transaction Group" to complete the creation operation. Currently, only the North China 2 (Beijing) region is supported.
Step 1: Create a Seata instance
Step 2: Create a transaction group
Currently, Seata Enterprise Edition cannot be directly connected in a non-Alibaba cloud environment. In case of local development and debugging, you can install the CloudToolkit plug-in and enable the "device-cloud interconnection" function for network connection. For details, refer to the distributed transaction service provisioning document.
Q&A support
If you encounter any problems during the opening and use process, you can scan the code on DingTalk to join the following "MSE-Seata Enterprise User Support Group", and we will deal with your problems as soon as possible.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。