chickenlj opened a new issue, #2265:
URL: https://github.com/apache/dubbo-go/issues/2265
总体来说,这里涉及到一个关于 Dubbo-go 总体易用性提升大议题,编程 API 相关是其中非常重要的一部分。
作为一款服务开发框架,使用者依赖 Dubbo-go 提供的 API 进行服务定义、发布和调用,因此,我们需要确保 Dubbo-go 的 API
设计足够清晰、易用且满足所有功能诉求,在遵循 Dubbo 总体风格的同时符合 Go 语言主流编码风格。
当前 Dubbo-go API 中的一些问题,与其最开始大量借鉴了 Dubbo Java
语言版本有一定的关系:在过去相当长的一段时间内,Dubbo-go 项目的核心定位实现是与 Java 体系的互通,这是 Dubbo-go
和快速发展的基础,同时为了也为项目带来了太多 Java 语言风格的绑定。
在 Dubbo 全面升级为跨语言微服务框架的背景下,社区开始投入很大精力从顶层设计 Dubbo,包括 Dubbo3 的核心架构与特性,这些变化可以从
Dubbo 的新版官网明确感受到(纵使我们的官网及文档距离终态目标还有很远)。统一的上层架构为我们提供了跨语言的设计,同时为每种语言 SDK
实现提供了方向指导,确保了 Dubbo 体系的连续性。
因此,我们应该以 Dubbo 的总体设计为基础,重新 review Dubbo-go 中的部分功能设计与实现,确保 Dubbo 在 go
体系下的独有特色与核心竞争力,取代最开始 “与 Dubbo Java 互通” 的核心定位。本 Issue 要讨论的内容包括但不限于以下内容:
* 确定基于 PB 服务定义的主体地位,确定基于 protoc plugin 生成的易用 Stub API
* 易用的服务框架 API,这包括
* 初始化服务及相关配置 API,如初始化、注册服务、服务超时时间、序列化方式、各种行为等
* 微服务框架相关配置与组装 API,如Filter注入、路由组件、负载均衡、Channel等
* Server 启动与停止
* 易用的配置体系
* 支持几种配置形式?主推形式?不同的适用场景:API、File (YAML)
* 动态配置及其适用场景?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]