apache / apache/incubator-seata

[Summer 2021] Seata protocol supports http2

Open
#3,742 3 comments 0 reactions 0 assignees View on GitHub
Summer2021
Dominant language
Java
Stars
26k
Forks
8.8k
Avg merge
1d 8h
Merged PRs (30d)
4

Description

# Background
Seata will support multi programming language, conside language implemention difference. choose common protocol doing rpc(http2). present, seata use custom private protocol doing rpc.

# Target
Add new transport protocol for seata.

# Difficulty
Medium

# Mentor
@jsbxyyx

# Output Requirements
Abstract Seata transport protocol module.
Add grpc module to Seata transport protocol module.
Implementation grpc interfaces transport protocol request/response.

# Technical Requirements
Understand the basic principles and usage of gRPC and Netty.

# 背景
Seata后续会支持多语言,考虑语言之前实现差异性,选择比较通用的协议进行rpc通信(http2),目前seata使用的自定义私有协议进行rpc通信。

# 目标
给Seata添加新传输协议

# 难度
中等

# 导师
@jsbxyyx

# 产出要求
抽象Seata传输协议模块
添加grpc模块到Seata传输协议模块
实现grpc接口传输协议请求/响应。

# 能力要求
了解gRPC和Netty基本原理及使用 。

#3741

Contributor guide

Open the contributing guide

Research direction

Start by locating Seata's existing custom transport protocol and transport protocol module, then read the request/response boundaries and the relevant Netty usage. Compare those boundaries with gRPC's basic model before defining the new module and its interfaces. Done means the transport protocol is abstracted, a gRPC module is included, and request/response interfaces are implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, java
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.