云服务器内容精选

  • 应用场景 电商秒杀是一种网上竞拍活动,通常商家会在平台释放少量稀缺商品,吸引大量客户,平台会收到平时数十倍甚至上百倍的下单请求。但是只有少数客户可以下单成功。电商秒杀系统的分流过程可以分为以下几个步骤: 用户请求进入系统:当用户发起秒杀请求时,请求会首先进入负载均衡服务器。 负载均衡:负载均衡服务器会根据一定的算法将请求分发给后端多台服务器,以达到负载均衡的目的。负载均衡算法可以采用轮询、随机、最少连接数等方式。 业务逻辑处理:后端服务器接收到请求后,进行业务逻辑处理,并根据请求的商品数量、用户身份等信息进行校验。 库存扣减:如果库存充足,后端服务器会进行库存扣减操作,并生成订单信息,返回给用户秒杀成功的信息;如果库存不足,则返回给用户秒杀失败的信息。 订单处理:后端服务器会将订单信息保存到数据库中,并进行异步处理,例如发送消息通知用户订单状态。 缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,往往使数据库访问阻塞。
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 app_id String 应用模板ID 最小长度:1 最大长度:64 description String 应用描述 最小长度:0 最大长度:256 app_type String 应用类型 最小长度:0 最大长度:64 provider_type String 应用来源 最小长度:0 最大长度:64 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 表3 请求Body参数 参数 是否必选 参数类型 描述 app_id 是 String 应用ID 最小长度:4 最大长度:32 app_name 否 String 应用名称 最小长度:4 最大长度:64 description 否 String 应用描述 最小长度:1 最大长度:255 app_type 是 String 应用类型 最小长度:1 最大长度:64
  • 响应示例 状态码: 200 OK { "id" : "string", "namespace" : "string", "version" : "string", "app_id" : "string", "app_version" : "string", "status" : "string", "status_description" : "string", "values" : { }, "create_time" : "string", "update_time" : "string" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 动作类型 namespace 否 String 命名空间,应用实例部署于非默认命名空间(default)时必填 最小长度:1 最大长度:63 app_version 否 String 升级的目标版本号,动作类型为upgrade时必填 最小长度:1 最大长度:32 values 否 Object 应用实例chart配置,动作类型为upgrade时必填 rollback_version 否 String 回退的目标版本号,动作类型为rollback时必填 最小长度:1 最大长度:32
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 应用实例ID namespace String 边缘集群命名空间 version String 应用实例版本 app_id String 应用ID app_version String 应用版本 status String 应用实例状态 status_description String 状态描述 values Object 应用实例chart配置 create_time String 创建时间 update_time String 最后一次更新时间
  • 请求示例 PUT https://{endpoint}/v2/{project_id}/clusters/{cluster_id}/app-instances/{app_instance_id} { "action" : "string", "namespace" : "string", "app_version" : "string", "values" : { }, "rollback_version" : "string" }
  • URI PUT /v3/{project_id}/clusters/{cluster_id}/app-instances/{app_instance_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 cluster_id 是 String 边缘集群ID 最小长度:1 最大长度:64 app_instance_id 是 String 应用实例ID 最小长度:1 最大长度:24
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 总记录数 最小值:0 最大值:1000000 page_info PageInfoDTO object 分页信息 app_versions Array of QueryAppVersionResponseDTO objects 每页记录数 数组长度:0 - 1000000 表5 PageInfoDTO 参数 参数类型 描述 offset Integer 页码 最小值:0 最大值:1000000 limit Integer 每页记录数 最小值:1 最大值:1000 表6 QueryAppVersionResponseDTO 参数 参数类型 描述 app_id String 应用模板ID version String 应用版本 values Object 应用版本配置 create_time String 创建时间 update_time String 最后一次修改时间
  • 响应示例 状态码: 200 OK { "count" : 1000000, "page_info" : { "offset" : 1000000, "limit" : 1000 }, "app_versions" : [ { "app_id" : "string", "version" : "string", "values" : { }, "create_time" : "string", "update_time" : "string" } ] }
  • URI GET /v3/{project_id}/apps/{app_id}/versions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 app_id 是 String 应用ID 最小长度:1 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 version 否 String 应用版本号 最小长度:1 最大长度:32 limit 否 Integer 每页记录数,默认值为10,取值区间为1-1000。 最小值:1 最大值:1000 缺省值:10 offset 否 Integer 查询的起始位置,取值范围为非负整数,默认为0。 最小值:0 最大值:1000000 缺省值:0
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 edge_app_id String 应用id 最小长度:1 最大长度:64 description String 应用描述 最小长度:0 最大长度:256 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256 last_published_version String 最新发布版本 最小长度:0 最大长度:64 app_type String 应用类型SYSTEM_REQUIRED|SYSTEM_OPTIONAL|USER 最小长度:0 最大长度:64 function_type String 应用类型DATA_PROCESSING|PROTOCOL_PARSING 最小长度:0 最大长度:64 deploy_type String 部署类型docker|process 最小长度:0 最大长度:64 protocol String 驱动协议类型OPCUA|Modbus-TCP 最小长度:0 最大长度:64 edge_app_name String 应用名称 最小长度:0 最大长度:64
  • 响应示例 状态码: 201 Created { "edge_app_id" : "string", "description" : "string", "create_time" : "string", "update_time" : "string", "last_published_version" : "string", "app_type" : "string", "function_type" : "string", "protocol" : "string", "edge_app_name" : "string", "deploy_type" : "string" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 edge_app_id 是 String 应用ID 最小长度:4 最大长度:32 edge_app_name 否 String 应用名称 最小长度:4 最大长度:64 description 否 String 应用描述 最小长度:0 最大长度:255 function_type 否 String 功能类型,分为数据处理(DATA_PROCESSING)、协议解析(PROTOCOL_PARSING)、IT集成(ON_PREMISE_INTEGRATION)和混合应用(COMPOSITE_APPLICATION),数据默认为DATA_PROCESSING,数据处理模块可以传输消息,协议解析为驱动类型,IT集成为部署南向3rdIA使用,混合应用可同时实现数据处理和协议解析。 最小长度:0 最大长度:255 枚举值: DATA_PROCESSING PROTOCOL_PARSING ON_PREMISE_INTEGRATION GATEWAY_MANAGER COMPOSITE_APPLICATION DATA_COLLECTION protocol 否 String 驱动协议类型OPCUA|Modbus-TCP 最小长度:0 最大长度:64
  • 请求示例 POST https://{endpoint}/v2/{project_id}/edge-apps/{edge_app_id}/versions { "version" : "1.0.0", "description" : "string", "sdk_version" : "string", "deploy_type" : "docker", "deploy_multi_instance" : false, "container_settings" : { "configs" : { "privileged" : false, "host_network" : true, "restart_policy" : "string", "container_port_list" : [ { "container_port" : 65535, "host_port" : 65535, "host_ip" : "string" } ] }, "image_url" : "string", "envs" : { }, "volumes" : [ { "name" : "string", "type" : "string", "source" : "string", "destination" : "string", "read_only" : true } ], "npu_type" : "D310", "resources" : { "limits" : { "cpu" : 1000, "memory" : 1024000, "gpu" : 1024000, "npu" : 1000 }, "requests" : { "cpu" : 1000, "memory" : 1024000, "gpu" : 1024000, "npu" : 1000 } }, "ext_devices" : [ { "source" : "string", "destination" : "string", "cgroup_permissions" : "string" } ] }, "liveness_probe" : { "exec_command" : "string", "tcp_socket" : { "port" : 65535 }, "http_get" : { "path" : "string", "port" : 65535, "host" : "string", "scheme" : "HTTP" }, "initial_delay_seconds" : 3600, "timeout_seconds" : 3600, "period_seconds" : 30, "failure_threshold" : 3 }, "readiness_probe" : { "exec_command" : "string", "tcp_socket" : { "port" : 65535 }, "http_get" : { "path" : "string", "port" : 65535, "host" : "string", "scheme" : "HTTP" }, "initial_delay_seconds" : 3600, "timeout_seconds" : 3600, "period_seconds" : 30, "failure_threshold" : 3 }, "arch" : { }, "command" : { }, "args" : { }, "outputs" : { }, "inputs" : { }, "services" : { }, "supplier" : "华为", "tpl_id" : "sys_general_opcua" }