cloudwego / hertz

Go HTTP framework with high-performance and strong-extensibility for building micro-services.
https://www.cloudwego.io
Apache License 2.0
5.04k stars 491 forks source link

[GLCC 赛题]: CloudWeGo 扩展库完善与治理 #1120

Open li-jin-gou opened 2 months ago

li-jin-gou commented 2 months ago

1. 题目描述

hertz-contribkitex-contrib 是专门为 Hertz 与 Kitex 提供的扩展能力的仓库集合,里面有诸如可观测性组件、服务发现、配置中心、限流、鉴权等组件扩展。 目前 hertz-contrib 和 kitex-contrib 之间的组件代码有部分重合,但却无法复用导致使用体验不好,其中可观测性组件,服务发现组件,限流组件逻辑重合较多,但各个仓库分散独立,导致维护成本高。 自身内的组件之间能力也存在逻辑过于独立,没有做好逻辑复用的问题,比如 kitex-contrib 中的配置中心逻辑重复严重,但各个仓库分散独立,导致维护成本高。 hertz-contrib 扩展中依赖状态存储的扩展能力有很多如会话管理,鉴权等,但是各自扩展独立,逻辑并没有复用。 目前一些扩展诸如日志扩展由于接口设计比较简单已经不能满足用户的复杂需求。

本题目需要解决 hertz-contrib 和 kitex-contrib 扩展之间逻辑并未合理复用以及扩展库自身逻辑逻辑并未合理复用的问题并对诸入日志扩展、限流、缓存等扩展进行完善。

2. 编码任务

  1. 完成对 hertz-contrib 和 kitex-contrib 组件的治理,对扩展库进行优化,解决扩展库之间与扩展库自身逻辑过于独立的问题,逻辑复用不高的问题
  2. 完善可观性性、限流、缓存等扩展的能力

    3. 技能要求和编程语言

  3. 熟悉 golang 编程,有独立的分析问题,动手解决问题的能力,善长使用搜索引擎
  4. 熟悉 Kitex 和 Hertz 的使用,源码,以及扩展使用与相关源码。
  5. 熟悉其它的 HTTP/RPC 框架。
  6. 参与开源项目的开发能在一段时间内保持热情,持续参与本题目的长远迭代。

    4. 预期完成结果

  7. 完成对 hertz-contrib 和 kitex-contrib 组件的治理,对扩展库进行优化,解决扩展库之间与扩展库自身逻辑过于独立的问题,逻辑复用不高的问题
  8. 完善可观性性、限流、缓存等扩展的能力
  9. 不希望出现代码上的 break change
github-actions[bot] commented 2 months ago

This issue has been marked as invalid question, please give more information by following the issue template. The issue will be closed in 1 days if no further activity occurs.

kaori-seasons commented 2 months ago

我想试一下 近期开始梳理需要抽成通用抽象的部分

li-jin-gou commented 2 months ago

我想试一下 近期开始梳理需要抽成通用抽象的部分

可以报名 GLCC