Results 17 issues of robb

Prototype: condition rule, refer to https://github.com/apache/dubbo-kubernetes/issues/212

needs-review

条件路由原型图: 1. 规则搜索 ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/6e261366-ac88-468e-830d-1c1ec7b3e138) 2. 规则查看(表单视图和YAML视图) ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/18830bdc-c236-4e9e-bb72-6fc9610a06c8) ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/d3f1ebf7-cda2-462b-803b-f3219f58d93c) 3. 新增规则 (表单视图和YAML视图) ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/ff0fb65e-117e-4c9b-b74d-532612337ec0) ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/cac4fd2d-a86f-4509-a32e-ff28509f8b67)

proposal

1. 原型图: - 交互tips,见原型图http://101.34.253.152/ - 接口tips,见apifox https://app.apifox.com/invite/project?token=dfz6DbA7ZdBhndk9s7mx6 2. 接口:apifox使用 3. 领域模型及Console架构: 见issue https://github.com/apache/dubbo-kubernetes/issues/140 4. 开发流程/规范 - 前端开发tips: - url需要可复用(粒度,工作量,难度) - 错误码显示,下拉效果等原型图上未涉及的需要前端把握 - 页面多多美化 - 后端开发tips: - 统一响应体,完善分页请求响应体等公共部分 - 发生err,立即处理;加上调用链等信息,统一上抛,到middleware中打日志 5....

control-plane
console/backend
console/frontend
proposal

领域模型可以分为四大两小: 四大: 1. Application:应用。由实例,服务以及工作负载(k8s环境下)来共同定义,同时作为枢纽,联结Service与Instance。 2. Instance:实例。应用运行的实体,属于应用,在k8s环境下就是一个Pod。 3. Service:服务。一组接口的集合,应用可以作为服务的生产者,也可以作为服务的消费者。 4. Rule:规则。涵盖Dubbo支持的所有规则,粒度可以是应用级的,也可以是接口级的。 两小: 1. Interface:接口。一次RPC调用的原子方法,多个接口组成一个服务。 2. Parameter:参数。即接口的入参和出参。 ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/fe213991-8a22-467d-af77-07086837dbd8) Console 后端架构图整体可以分为三层: 1. Repository:数据操作层。封装数据操作接口,屏蔽数据源的异构性 4. Domain:业务逻辑层。聚合从Repository得到的数据(如果逻辑臃肿重复,可以细分为两层) 5. Router,Handler,Middleware:路由&视图层。路由绑定,校验请求参数,异常日志打印等。 ![image](https://github.com/apache/dubbo-kubernetes/assets/79916872/2f0a0e85-62cc-4a15-984c-061ae0d1f1a5)

control-plane
console/backend
proposal

# 架构及说明 ## 组件架构 ![image-20231214213234179](https://github.com/apache/dubbo-kubernetes/assets/79916872/aa3d0e32-f1a1-49d9-a9b9-c6e279c20005) 如上图,dubbo的服务治理大致包括四个部分:console-frontend前端,console-backend后端,dubbo application数据面,control plane控制面。 console-frontend是前端,负责数据展示与用户交互。console-backend是后端,负责将control plane的数据和行为进行功能封装,还需要与一些组件如prometheus,grafana等进行交互,为前端提供服务。control plane需要与k8s apiserver,register center进行交互获取数据并进行缓存,并向上提供统一的查询与操作接口。dubbo application作为数据面,在上图中的第一种部署形态下,需要对control plane上报service mapping与下发规则的过程进行适配。 其中,console-backend和control plane逻辑上是两部分,在项目前期这两部分融合为单个服务,后面会看实际情况进行拆分。拆分的主要目的在于 1. 更适用于k8s多集群。每个集群需要有一个control plane对k8s resource进行watch和reconcile。如果control plane和console-backend合在一起,则console-frontend则需要对接多个后端,且缺乏一个全局的视角来聚合各个集群的数据,对于多集群部署应用的形式不太友好。而在分拆的情况下,console-frontend只需要对接一个后端,console-backend会有一个全局的视角,更加适配于多集群部署的形态。 2. 更容易进行二次开发。我们也注意到企业用户对权限,安全等功能有更高的要求,在console-backend和control plane分开的情况下,企业可以基于console-backend进行二次开发,而核心的control plane则无需改动,部署形式上更加灵活。 由于dubbo集群的部署形式的不同,control plane需要适配三种不同的集群部署形式: 1....

proposal

**Describe the bug** environments: - java version: corretto 21 - nacos sdk/client version: 2.3.2 - nacos deployment mode: standalone, windows10 PC I start a dubbo service on local PC(the code...

kind/bug
area/Config

# Backstory **GraphStudio** aims to provide low-code functions for Java developers to **start/build** their AI-Native Apps using Java and spring-ai-alibaba. We are currently planning 4 features for the GraphStudio 1....

## Feature backstory In order to make it more convenient for developers to start their Spring AI Alibaba Graph journey, we are building a initializer to generate a `starter project`...

enhancement
area/graph

**What would you like to be added**: We haven defined the interface of ResourceDiscovery, the implemention is needed. And Nacos implmention is ready to use. Zookeeper is another important kind...

**What would you like to be added**: 1. Abstract Lock interface 2. Using gorm to implment distributed lock. **Why is this needed**: Currently, the routing rules published by dubbo admin...