溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是seata協議

發布時間:2021-07-20 18:20:46 來源:億速云 閱讀:296 作者:chen 欄目:大數據

這篇文章主要講解了“什么是seata協議”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是seata協議”吧!

代碼入口

io.seata.core.rpc.netty.NettyClientBootstrap#start

bootstrap.handler(
            new ChannelInitializer<SocketChannel>() {
                @Override
                public void initChannel(SocketChannel ch) {
                    ChannelPipeline pipeline = ch.pipeline();
                    pipeline.addLast(
                        new IdleStateHandler(nettyClientConfig.getChannelMaxReadIdleSeconds(),
                            nettyClientConfig.getChannelMaxWriteIdleSeconds(),
                            nettyClientConfig.getChannelMaxAllIdleSeconds()))
                        .addLast(new ProtocolV1Decoder())
                        .addLast(new ProtocolV1Encoder());
                    if (channelHandlers != null) {
                        addChannelPipelineLast(ch, channelHandlers);
                    }
                }
            });

io.seata.core.rpc.netty.v1.ProtocolV1Encoder#encode

io.seata.core.protocol.RpcMessage

協議規則

2個字節的模數([-38,-38])| 1個字節的版本號 | 6個字節的長度 | 1個字節的messageType | 一個字節的codec值| 一個字節的compressor | 4個字節的messagId值 | header數據值(2個字節的key長度 | value數據值) | 業務數據值

codec: 序列化類型:如 seata,kryo;protobuf;fst

compressor: 壓縮類型:如 NONE ,GZIP,BZIP2,LZ4

6個字節的長度:

4個字節(全部數據的長度): 默認長度16+headLength+bodyLength

2個字節的(headLength),默認長度16

業務數據序列化

io.seata.serializer.seata.SeataSerializer#serialize

2個字節(typecode的值)| body

typecode: 消息類型序編碼器 如(RegisterTMRequestCodec,BranchRollbackRequestCodec)

body:

2個字節(xid的長度)| xid的數據| 8個字節(branchId值)| 一個byte(分支事務類型ordinal值)|2個字節(ResourceId的長度)| ResourceId的值|4個字節(applicationData的長度)| applicationData的值|

事務類型: AT,TCC,XA,SAGA

感謝各位的閱讀,以上就是“什么是seata協議”的內容了,經過本文的學習后,相信大家對什么是seata協議這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女