apache / apache/incubator-seata
[Summer 2021] Seata protocol supports http2
- 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
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