mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 21:50:26 +08:00 
			
		
		
		
	优化TOA相关API
This commit is contained in:
		@@ -3154,7 +3154,10 @@
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc updateHTTPWebOptimization(UpdateHTTPWebOptimizationRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "更改页面优化配置",
 | 
			
		||||
          "roles": [],
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin",
 | 
			
		||||
            "user"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -5720,6 +5723,17 @@
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findNodeTOAConfig",
 | 
			
		||||
          "requestMessageName": "FindNodeTOAConfigRequest",
 | 
			
		||||
          "responseMessageName": "FindNodeTOAConfigResponse",
 | 
			
		||||
          "code": "rpc findNodeTOAConfig(FindNodeTOAConfigRequest) returns (FindNodeTOAConfigResponse);",
 | 
			
		||||
          "doc": "查找节点的TOA配置",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "node"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "filename": "service_node.proto",
 | 
			
		||||
@@ -14045,12 +14059,12 @@
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CopyNodeActionsToNodeClusterRequest",
 | 
			
		||||
      "code": "message CopyNodeActionsToNodeClusterRequest {\n\tint64 nodeId = 1;\n}",
 | 
			
		||||
      "code": "message CopyNodeActionsToNodeClusterRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "同步动作设置到集群"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CopyNodeActionsToNodeGroupRequest",
 | 
			
		||||
      "code": "message CopyNodeActionsToNodeGroupRequest {\n\tint64 nodeId = 1;\n}",
 | 
			
		||||
      "code": "message CopyNodeActionsToNodeGroupRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "同步动作设置到分组"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
@@ -19273,31 +19287,16 @@
 | 
			
		||||
      "code": "message FindNodeGlobalServerConfigResponse {\n\tbytes globalServerConfigJSON = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTP3PoliciesRequest",
 | 
			
		||||
      "code": "message FindNodeHTTP3PoliciesRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "查找节点的HTTP3策略"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTP3PoliciesResponse",
 | 
			
		||||
      "code": "message FindNodeHTTP3PoliciesResponse {\n\trepeated HTTP3Policy http3Policies = 1; // HTTP3策略列表\n\n\n\tmessage HTTP3Policy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes http3PolicyJSON = 2; // HTTP3策略配置\n\t}\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTPCCPoliciesRequest",
 | 
			
		||||
      "code": "message FindNodeHTTPCCPoliciesRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "查找节点的HTTP CC策略"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTPCCPoliciesResponse",
 | 
			
		||||
      "code": "message FindNodeHTTPCCPoliciesResponse {\n\trepeated HTTPCCPolicy httpCCPolicies = 1; // HTTP CC策略列表\n\n\n\tmessage HTTPCCPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes httpCCPolicyJSON = 2; // HTTP CC策略配置\n\t}\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTPPagesPoliciesRequest",
 | 
			
		||||
      "code": "message FindNodeHTTPPagesPoliciesRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "查找节点的自定义页面策略"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeHTTPPagesPoliciesResponse",
 | 
			
		||||
      "code": "message FindNodeHTTPPagesPoliciesResponse {\n\trepeated HTTPPagesPolicy httpPagesPolicies = 1; // 自定义页面策略列表\n\n\n\tmessage HTTPPagesPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes httpPagesPolicyJSON = 2; // 自定义页面策略配置\n\t}\n}",
 | 
			
		||||
@@ -19338,6 +19337,11 @@
 | 
			
		||||
      "code": "message FindNodeScheduleInfoResponse {\n\tScheduleInfo scheduleInfo = 1; // 调度信息\n\n\n\tmessage ScheduleInfo {\n\t\tstring offlineDay = 1; // 下线日期,格式YYYYMMDD\n\t\tbool isBackupForCluster = 2; // 是否为集群备份节点\n\t\tbool isBackupForGroup = 3; // 是否为分组备份节点\n\t\trepeated string backupIPs = 4; // 备用IP\n\t\tbytes actionStatusJSON = 5; // 动作状态\n\t}\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeTOAConfigResponse",
 | 
			
		||||
      "code": "message FindNodeTOAConfigResponse {\n\tbytes toaJSON = 1; // TOA配置\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeTasksRequest",
 | 
			
		||||
      "code": "message FindNodeTasksRequest {\n\tint64 version = 1; // 上一次执行的版本\n}",
 | 
			
		||||
@@ -19348,11 +19352,6 @@
 | 
			
		||||
      "code": "message FindNodeTasksResponse {\n\trepeated NodeTask nodeTasks = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeUAMPoliciesRequest",
 | 
			
		||||
      "code": "message FindNodeUAMPoliciesRequest {\n\tint64 nodeId = 1; // 节点ID\n}",
 | 
			
		||||
      "doc": "查找节点的UAM策略"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindNodeUAMPoliciesResponse",
 | 
			
		||||
      "code": "message FindNodeUAMPoliciesResponse {\n\trepeated UAMPolicy uamPolicies = 1; // UAM策略列表\n\n\n\tmessage UAMPolicy {\n\t\tint64 nodeClusterId = 1; // 集群ID\n\t\tbytes uamPolicyJSON = 2; // UAM策略配置\n\t}\n}",
 | 
			
		||||
 
 | 
			
		||||
@@ -4,27 +4,26 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"github.com/iwind/TeaGo/rands"
 | 
			
		||||
	"net"
 | 
			
		||||
	"runtime"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 默认的TOA配置
 | 
			
		||||
// DefaultTOAConfig 默认的TOA配置
 | 
			
		||||
func DefaultTOAConfig() *TOAConfig {
 | 
			
		||||
	return &TOAConfig{
 | 
			
		||||
		IsOn:       false,
 | 
			
		||||
		Debug:      false,
 | 
			
		||||
		OptionType: 0xfe,
 | 
			
		||||
		MinQueueId: 100,
 | 
			
		||||
		MaxQueueId: 109,
 | 
			
		||||
		AutoSetup:  true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TOA相关配置
 | 
			
		||||
// TOAConfig TOA相关配置
 | 
			
		||||
type TOAConfig struct {
 | 
			
		||||
	IsOn         bool     `yaml:"isOn" json:"isOn"` // 是否启用
 | 
			
		||||
	Debug        bool     `yaml:"debug" json:"debug"`
 | 
			
		||||
	OptionType   uint8    `yaml:"optionType" json:"optionType"`
 | 
			
		||||
	MinQueueId   uint8    `yaml:"minQueueId" json:"minQueueId"`
 | 
			
		||||
	MaxQueueId   uint8    `yaml:"maxQueueId" json:"maxQueueId"`
 | 
			
		||||
	AutoSetup    bool     `yaml:"autoSetup" json:"autoSetup"`
 | 
			
		||||
	MinLocalPort uint16   `yaml:"minLocalPort" json:"minLocalPort"` // 本地可使用的最小端口 TODO
 | 
			
		||||
	MaxLocalPort uint16   `yaml:"maxLocalPort" json:"maxLocalPort"` // 本地可使用的最大端口 TODO
 | 
			
		||||
@@ -51,15 +50,10 @@ func (this *TOAConfig) Init() error {
 | 
			
		||||
	this.minLocalPort = int(minPort)
 | 
			
		||||
	this.maxLocalPort = int(maxPort)
 | 
			
		||||
 | 
			
		||||
	// QueueId
 | 
			
		||||
	if this.MinQueueId > this.MaxQueueId {
 | 
			
		||||
		this.MinQueueId, this.MaxQueueId = this.MaxQueueId, this.MinQueueId
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Sock路径
 | 
			
		||||
// SockFile Sock路径
 | 
			
		||||
func (this *TOAConfig) SockFile() string {
 | 
			
		||||
	if len(this.SockPath) == 0 {
 | 
			
		||||
		return "/tmp/edge-toa.sock"
 | 
			
		||||
@@ -67,7 +61,7 @@ func (this *TOAConfig) SockFile() string {
 | 
			
		||||
	return this.SockPath
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取随机端口
 | 
			
		||||
// RandLocalPort 获取随机端口
 | 
			
		||||
func (this *TOAConfig) RandLocalPort() uint16 {
 | 
			
		||||
	listener, err := net.Listen("tcp", ":0")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -77,12 +71,12 @@ func (this *TOAConfig) RandLocalPort() uint16 {
 | 
			
		||||
	return uint16(listener.Addr().(*net.TCPAddr).Port)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 转换为参数的形式
 | 
			
		||||
// AsArgs 转换为参数的形式
 | 
			
		||||
func (this *TOAConfig) AsArgs() (args []string) {
 | 
			
		||||
	args = append(args, "run")
 | 
			
		||||
	args = append(args, "-option-type="+fmt.Sprintf("%d", this.OptionType))
 | 
			
		||||
	args = append(args, "-min-queue-id="+fmt.Sprintf("%d", this.MinQueueId))
 | 
			
		||||
	args = append(args, "-max-queue-id="+fmt.Sprintf("%d", this.MaxQueueId))
 | 
			
		||||
	args = append(args, "-max-queue-id="+fmt.Sprintf("%d", this.MaxQueueId()))
 | 
			
		||||
	if this.AutoSetup {
 | 
			
		||||
		args = append(args, "-auto-setup")
 | 
			
		||||
	}
 | 
			
		||||
@@ -91,3 +85,12 @@ func (this *TOAConfig) AsArgs() (args []string) {
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MaxQueueId 获取队列ID最大值
 | 
			
		||||
func (this *TOAConfig) MaxQueueId() uint8 {
 | 
			
		||||
	var maxQueueId = int(this.MinQueueId) + runtime.NumCPU() - 1
 | 
			
		||||
	if maxQueueId > 255 {
 | 
			
		||||
		maxQueueId = 255
 | 
			
		||||
	}
 | 
			
		||||
	return uint8(maxQueueId)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -199,6 +199,9 @@ service NodeService {
 | 
			
		||||
 | 
			
		||||
	// 复制动作设置到集群
 | 
			
		||||
	rpc copyNodeActionsToNodeCluster(CopyNodeActionsToNodeClusterRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 查找节点的TOA配置
 | 
			
		||||
	rpc findNodeTOAConfig(FindNodeTOAConfigRequest) returns (FindNodeTOAConfigResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建节点
 | 
			
		||||
@@ -695,7 +698,6 @@ message UpdateNodeAPIConfigRequest {
 | 
			
		||||
 | 
			
		||||
// 查找节点的UAM策略
 | 
			
		||||
message FindNodeUAMPoliciesRequest {
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNodeUAMPoliciesResponse {
 | 
			
		||||
@@ -709,7 +711,6 @@ message FindNodeUAMPoliciesResponse {
 | 
			
		||||
 | 
			
		||||
// 查找节点的HTTP CC策略
 | 
			
		||||
message FindNodeHTTPCCPoliciesRequest {
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNodeHTTPCCPoliciesResponse {
 | 
			
		||||
@@ -723,7 +724,6 @@ message FindNodeHTTPCCPoliciesResponse {
 | 
			
		||||
 | 
			
		||||
// 查找节点的HTTP3策略
 | 
			
		||||
message FindNodeHTTP3PoliciesRequest {
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNodeHTTP3PoliciesResponse {
 | 
			
		||||
@@ -737,7 +737,6 @@ message FindNodeHTTP3PoliciesResponse {
 | 
			
		||||
 | 
			
		||||
// 查找节点的自定义页面策略
 | 
			
		||||
message FindNodeHTTPPagesPoliciesRequest {
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNodeHTTPPagesPoliciesResponse {
 | 
			
		||||
@@ -803,10 +802,18 @@ message FindAllNodeScheduleInfoWithNodeClusterIdResponse {
 | 
			
		||||
 | 
			
		||||
// 同步动作设置到分组
 | 
			
		||||
message CopyNodeActionsToNodeGroupRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 同步动作设置到集群
 | 
			
		||||
message CopyNodeActionsToNodeClusterRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	int64 nodeId = 1; // 节点ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找节点的TOA配置
 | 
			
		||||
message FindNodeTOAConfigRequest {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNodeTOAConfigResponse {
 | 
			
		||||
	bytes toaJSON = 1; // TOA配置
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user