使用EDA架构部署在线外卖订单系统

简介: 本实验将使用消息系统构建超级外卖订单,通过订单流转及处理阐述如何在多环境,复杂场景下使用消息做订单解耦,业务分发等。

使用EDA架构部署在线外卖订单系统

1. 选择实验资源

本实验支持实验资源体验、开通免费试用、个人账户资源三种实验资源方式。

在实验开始前,请您选择其中一种实验资源,单击确认开启实验

  • 如果您选择的是实验资源体验,资源创建过程需要3~5分钟(视资源不同开通时间有所差异,ACK等资源开通时间较长)。完成实验资源的创建后,在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等)。

说明:实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

  • 如果您选择的是开通免费试用,下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。

说明:试用云产品开通在您的个人账号下,并占用您的试用权益如试用超出免费试用额度,可能会产生一定费用。

阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心


2. 创建实验资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明:资源创建过程需要3~5分钟。


3. 配置云服务器ECS

本步骤指导如何通过控制台远程连接ECS实例配置实验所需环境。

1. 登录并访问ECS控制台

公共资源体验】请按如下步骤访问控制台

(1)双击打开远程桌面的Chromium网页浏览器

(2)在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码用户密码输入框,单击登录

(3)复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问云服务器ECS控制台。

https://ecs.console.aliyun.com/

个人账号资源】、【开通免费试用】请按如下步骤访问控制台

(1)在当前实验控制台操作区找到“云服务器ECS”卡片并点击

(2)直接在控制台操作区内打开ECS控制台,并进行后续操作

2. 在云服务器ECS控制台左侧导航栏中,选择实例与镜像>实例

3. 在实例页面顶部,选择资源所在地域。

说明:您可以在云产品资源列表中查看到实验室分配的云服务器ECS所在地域。

4. 在实例页面,找到您创建的ECS实例,单击右侧操作列下的远程连接

说明:您可以在云产品资源列表中查看到实验室分配的云服务器ECS的实例ID。

5. 在连接与命令对话框中,单击Workbench远程连接区域的立即登录

6. 执行如下命令,下载Node.js安装包。

说明:本实验需要下载并安装Node.js V17.XX以上版本,手册内容以v17.4.0为例。

wget https://npm.taobao.org/mirrors/node/v17.4.0/node-v17.4.0-linux-x64.tar.xz

7. 执行如下命令,解压安装包并重命名。

tar -xvf node-v17.4.0-linux-x64.tar.xz && mv node-v17.4.0-linux-x64/ /usr/local/node

8. 执行如下命令,配置环境变量。

echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
source /etc/profile

9. 执行如下命令,下载Demo文件的压缩包。

wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/Cloud_EventBridge_Demo-main.zip

10. 执行如下命令,安装unzip。

yum install unzip -y

11. 执行如下命令,解压Demo文件的压缩包。

unzip Cloud_EventBridge_Demo-main.zip

12. 执行如下命令,查看root目录下的文件。

ls

返回结果如下,Cloud_EventBridge_Demo-main就是本实验所使用的Demo文件。


4. 配置云数据库RDS MySQL版

本步骤指导您如何通过控制台创建云数据库RDS MySQL版实例,并通过控制台配置实验所需的账号、数据库和数据表。

  1. 登录云数据库RDS控制台。

1.1 【公共资源体验】复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问云数据库RDS控制台。

https://rdsnext.console.aliyun.com/

个人账号资源】、【开通免费试用】直接点击RDS控制台,在控制台操作区打开

1.2 在左侧导航栏中,单击实例列表

1.3 在实例列表页面顶部菜单栏中,切换资源所在地域。

说明:您可在云产品资源列表中查看RDS资源所在的地域。

  1. 创建数据库。

2.1在实例列表页面,找到实验室分配的RDS资源,单击实例ID

说明:您可在云产品资源列表中查看RDS的实例ID。

2.2 在基本信息页面,单击左侧导航栏的数据库管理

2.3 在数据库管理页面。单击创建数据库

2.4 在创建数据库对话框中,参考说明配置数据库信息,单击创建

参数说明:

  • 数据库(DB)名称:输入数据库名称,例如test123
  • 支持字符集:默认设为utf8
  • 备注说明:非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符。

  1. 创建账号。

3.1 在数据库管理页面,单击左侧导航栏的账号管理

3.2 在账号管理页面,单击创建账号

3.3 在创建账号对话框中,参考说明配置账号信息,单击确定。

参数说明:

  • 数据库账号:输入数据库账号名称,例如user123
  • 账号类型:选择普通账号
  • 授权数据库:将上一步中创建的数据库添加至已授权数据库列表中,并设置权限为读写(DDL+DML)
  • 密码:输入账号密码,例如Password123
  • 确认密码:再次输入账号密码。

  1. 申请外网地址。

4.1 在账号管理页面,单击左侧导航栏的数据库连接

4.2 在数据库连接页面,单击开通外网地址

4.3 在提示对话框中,选中将0.0.0.0/0加入白名单。单击确定

  1. 创建表。

5.1 在数据库连接页面,单击登录数据库

5.2 在登陆实例对话框中,输入您上一步创建的数据库账号数据库密码,然后单击测试连接

5.3 在成功对话框中,单击确认

5.4 在登陆实例对话框中,单击登录

5.5 在数据库实例区域,选择已登录实例>您的云数据库RDS MySQL版实例,然后双击您创建的数据库

5.6 在SQL Console页签,输入如下SQL语句,单击执行(F8),创建名为test123的表。

CREATE TABLE `test123` (
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `city` varchar(260) DEFAULT NULL,
  `address` varchar(260) DEFAULT NULL,
  `telephone` varchar(255) DEFAULT NULL,
  `country` varchar(255) DEFAULT NULL,
  `total` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `id` int NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3
;

返回结果如下,表示您已成功创建实验所需要的表。

5.7在区域,单击刷新图标。

返回结果如下,您可查看到新创建的表。


5. 创建消息服务MNS

本步骤指导您如何通过控制台创建消息服务MNS。

注意:本步骤的所有操作均在您自己的阿里云主账号下进行,您需要使用您自己的阿里云主账号开通消息服务MNS,云起实验室暂不支持提供消息服务MNS。消息服务MNS的计费项说明,详情请参见定价中心

  1. 在您的本机浏览器中,登录并前往消息服务MNS控制台
  2. 开通消息服务MNS。

说明:如果您已开通消息服务MNS,请忽略此步骤。

2.1 在概览页面,单击免费开通

2.2 在消息服务MNS页面,选中《消息服务MNS服务协议》,单击立即开通

返回如下页面,表示消息服务MNS开通成功。

  1. 创建队列。

3.1 在开通完成页面,单击管理控制台

3.2 在左侧导航栏中,单击队列列表

3.3 在队列列表页面顶部菜单栏中,选择地域所在地。

说明:消息服务MNS需要创建与事件总线EventBridge相同的地域的消息服务,本实验手册以华东1(杭州)为例。

3.4 在队列列表页面,单击创建队列

3.5 在创建队列对话框中,输入名称,例如test,其他配置保持默认即可,单击确定

3.6 在队列列表页面,找到您创建的队列,单击右侧操作列下的详情

返回如下页面,您可查看到队列的的相关信息,其中名称和接入点中的地域将会在Demo配置文件中使用。


6. 创建事件总线EventBridge

本步骤指导您如何通过控制台创建事件总线EventBridge。

注意:本步骤的所有操作均在您自己的阿里云主账号下进行,您需要使用您自己的阿里云主账号开通事件总线EventBridge,云起实验室暂不支持提供事件总线EventBridge。事件总线EventBridge的计费项说明,详情请参见计费说明

  1. 前往事件总线EventBridge控制台
  2. 开通事件总线EventBridge。

说明:如果你已开通事件总线EventBridge,请忽略此步骤。

2.1 在概览页面,单击免费开通

2.2 在提示对话框中,单击确定

2.3 在事件总线EventBridge开通页面,选中《事件总线EventBridge(按量付费)服务协议》,单击立即开通

2.4 在事件总线EventBridge开通页面,单击关闭

2.5 在概览页面,单击刷新

2.6 在概览页面,选中全部角色,单击授权

返回如下页面,表示您已开通事件总线EventBridge并完成授权。

  1. 创建事件总线EventBridge。

4.1 在左侧导航栏中,单击事件总线

4.2 在事件总线页面,单击自定义事件总线快速创建

4.3 在创建自定义事件总线面板的总线中,输入自定义事件总线名称描述,例如自定义事件总线名称为test,描述为test123,单击下一步

4.4 在创建自定义事件总线面板的事件源中,输入事件源名称,例如mnstest,时间提供方选择消息服务MNS

4.5 在阿里云服务授权-消息服务MNS对话框中,单击确定

说明:如果您已授权过消息服务MNS,请忽略此步骤。

4.6 在创建自定义事件总线面板的事件源中,队列名称选择您刚刚创建的队列,取消选中开启Base64解码(注意:这一步一定要去掉选中,否则后面流程会走不通),单击下一步

4.7 在创建自定义事件总线面板的规则中,输入规则名称,例如ruletest,单击下一步

4.8 在创建自定义事件总线面板的规则中,单击跳过

4.9 在直接创建自定义事件总线对话框中,单击确定

返回如下页面,表示您已成功创建事件总线EventBridge。


7. 配置事件总线EventBridge

本步骤指导您如何配置事件总线EventBridge。

  1. 配置钉钉目标。

1.1 打开您的钉钉群聊。

1.2 在群聊中,单击右上角的 群设置图标。

1.3 在群设置面板,单击智能群助手

1.4 在智能群助手面板,单击添加机器人

1.5 在群机器人面板,单击添加机器人右侧的 设置图标。

1.6 在群机器人面板,单击自定义

1.7 在机器人详情面板,单击添加

1.8 在添加机器人面板,输入机器人名字,例如测试。选中安全设置中的加签,然后单击复制,将密钥粘贴到您本机的任意文本文档中。选中我已阅读并同意《自定义机器人服务及免责条款》,单击完成

说明:密钥在配置钉钉事件目标时需要使用。

1.9 在添加机器人面板,单击Webhook右侧的复制,将Webhook地址粘贴到您本机的任意文本文档中,单击完成

注意:

  • 请保管好此Webhook地址,不要公布在外部网站上,泄露有安全风险。
  • Webhook地址在配置钉钉事件目标时需要使用。

返回如下结果,表示您已成功添加群机器人。

1.10 切换至事件总线EventBridge控制台页签。在左侧导航中,单击事件规则

1.11 在事件规则页面,单击创建规则

1.12 在创建规则面板的配置基本信息中,输入名称,例如dingtalk,单击下一步

1.13 在创建规则面板配置事件模式中,单击下一步

1.14 在创建规则面板的配置事件目标中,参考如下说明配置事件目标,然后单击创建

配置说明:

  • 服务类型:选择钉钉asc.dingtalk。
  • 地址:输入您添加的机器人的Webhook地址。
  • 密钥:输入您添加的机器人的密钥。
  • 变量:在本实验中,添加如下变量声明。
{
  "name":"$.data.messageBody.name",
  "country":"$.data.messageBody.country",
  "total":"$.data.messageBody.total",
  "address":"$.data.messageBody.address",
  "city":"$.data.messageBody.city",
  "telephone":"$.data.messageBody.telephone",
  "email":"$.data.messageBody.email",
  "state":"$.data.messageBody.state"
}
  • 模板:在本实验中,添加如下模板。
{
     "msgtype": "markdown",
     "markdown": {
         "title":"订单推送通知",
         "text": "## 订单推送通知    \n  用户名:${name}  \n 订单金额:${total}  \n 订单地城市:${city}  \n 详细地址:${address}  \n 电话:${telephone}  \n 订单状态:${state}"
     }
 }

返回如下页面,表示您已成功在事件总线EventBridge中添加钉钉目标。

  1. 配置数据库目标-新订单创建。

2.1 在事件规则页面,单击创建规则

2.2 在创建规则面板的配置基本信息中,输入名称,例如rds-create,单击下一步

2.3 在创建规则面板配置事件模式中,在模式内容中添加如下内容,单击下一步

{
    "data": {
        "messageBody": {
            "state": [
                "未送达"
            ]
        }
    }
}

说明:在事件模式的模式内容填写的判断是本次实验的重点,通过此判断可以决定后续数据是否为新建订单的,如果是新建订单即状态为“未送达”则插入新数据,如果是老订单即状态为“已送达”则需更新相关状态到老订单。本条规则需配置未送达规则。

2.4 在创建规则面板的配置事件目标中,参考如下说明配置事件目标,然后单击创建

配置说明:

  • 服务类型:选择数据库asc.rds.mysql。如果弹出阿里云服务授权-RDS,用来完成数据投递至RDS对话框时,单击确定即可。
  • 数据库配置:选择自建MySql。
  • 数据库地址:输入实验室分配的云数据库RDS MySQL版实例的外网地址。
  • 数据库名称:输入您创建的数据库名称。
  • 数据库账号:输入您创建的数据库账号。
  • 数据库密码:输入您创建的数据库账号的密码。
  • 并发配置:在本实验中,输入1。
  • 网络配置:选择公网。
  • 入库配置:选择自定义SQL。
  • 变量:在本实验中,添加如下变量声明。
{
    "tableName": "test123",
    "column1": "name",
    "column1_value": "$.data.messageBody.name",
    "column2": "email",
    "column2_value": "$.data.messageBody.email",
    "column3": "city",
    "column3_value": "$.data.messageBody.city",
    "column4": "address",
    "column4_value": "$.data.messageBody.address",
    "column5": "telephone",
    "column5_value": "$.data.messageBody.telephone",
    "column6": "country",
    "column6_value": "$.data.messageBody.country",
    "column7": "total",
    "column7_value": "$.data.messageBody.total",
    "column8": "state",
    "column8_value": "$.data.messageBody.state"
}
  • SQL语句:在本实验中,添加如下SQL语句。
INSERT INTO ${tableName} 
 (${column1},${column2},${column3},${column4},${column5},${column6},${column7},${column8}) VALUES('${column1_value}','${column2_value}','${column3_value}','${column4_value}','${column5_value}','${column6_value}','${column7_value}','${column8_value}')

返回如下页面,表示您已成功在事件总线EventBridge中添加数据库目标-新订单创建。

  1. 配置数据库目标-更新订单。

3.1 在事件规则页面,单击创建规则

3.2 在创建规则面板的配置基本信息中,输入名称,例如rds-update,单击下一步

3.3 在创建规则面板配置事件模式中,在模式内容中添加如下内容,单击下一步

{
    "data": {
        "messageBody": {
            "state": [
                "已送达"
            ]
        }
    }
}

说明:在事件模式的模式内容填写的判断是本次实验的重点,通过此判断可以决定后续数据是否为新建订单的,如果是新建订单即状态为“未送达”则插入新数据,如果是老订单即状态为“已送达”则需更新相关状态到老订单。本条规则需配置已送达规则。

3.4 在创建规则面板的配置事件目标中,参考如下说明配置事件目标,然后单击创建

配置说明:

  • 服务类型:选择数据库asc.rds.mysql。如果弹出阿里云服务授权-RDS,用来完成数据投递至RDS对话框时,单击确定即可。
  • 数据库配置:选择自建MySql。
  • 数据库地址:输入实验室分配的云数据库RDS MySQL版实例的外网地址。
  • 数据库名称:输入您创建的数据库名称。
  • 数据库账号:输入您创建的数据库账号。
  • 数据库密码:输入您创建的数据库账号的密码。
  • 并发配置:在本实验中,输入1。
  • 网络配置:选择公网。
  • 入库配置:选择自定义SQL。
  • 变量:在本实验中,添加如下变量声明。
{
    "tableName": "test123",
    "column1": "state",
    "column1_value": "$.data.messageBody.state",
    "column2": "id",
    "column2_value": "$.data.messageBody.id"
}

SQL语句:在本实验中,添加如下SQL语句。

UPDATE `${tableName}`.`${tableName}` SET `${column1}`='${column1_value}' WHERE `${column2}`=${column2_value};

返回如下页面,表示您已成功在事件总线EventBridge中添加数据库目标-新订单创建。


8. 运行Demo并体验超级外卖订单系统

本步骤带您体验超级外卖订单系统。

  1. 配置Demo的配置文件。

1.1 切换至实验室的云服务器ECS的终端页面。

1.2 执行如下命令,进入Cloud_EventBridge_Demo-main/controllers目录。

cd Cloud_EventBridge_Demo-main/controllers

1.3 执行如下命令,将文件ali-config-sample.json重命名为ali-config.json

mv ali-config-sample.json ali-config.json

1.4 执行如下命令,修改ali-config.json配置文件。

vim ali-config.json

1.5 按i键切换至编辑模式,参考如下说明配置参数。

参数说明:

  • accountid:填写您的阿里云主账号的账号id(uid),请勿填写成实验室提供的子账号的uid。
  • region:填写消息服务MNS的队列所在地域。例如cn-hangzhou。
  • accessKeyId:填写您的阿里云主账号的AccessKey ID。请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret,请勿填写成实验室提供的子账号的AK ID。
  • accessKeySecret:填写您的阿里云主账号的AccessKey Secret。请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret,请勿填写成实验室提供的子账号的AK Secret。
  • queuename:填写消息服务MNS的队列的名称。例如test。
  • host:填写实验室提供的云数据库RDS MySQL版实例的外网地址。数据库RDS MySQL版实例的外网地址的查询位置为云数据库RDS控制台>RDS实例>数据库链接>外网地址
  • port:数据库端口默认为3306。
  • user:填写您创建的数据库用户名。例如user123。
  • password:填写您创建的数据库用户名的密码。例如Password123。
  • database:填写您创建的数据库名。例如test123。
  • tablename:填写表名,在本实验中填写test123。

1.6 修改完成后,按下Esc键后,输入:wq并回车,保存并退出配置文件。

  1. 运行Demo。

2.1 执行如下命令,进入Cloud_EventBridge_Demo-main目录。

cd /root/Cloud_EventBridge_Demo-main

2.2 执行如下命令,配置阿里巴巴镜像地址。

npm config set registry https://registry.npmmirror.com

2.3 执行如下命令,安装依赖。

注意:如果出现报错,你需要再次执行安装依赖的命令。

npm i

2.4 执行如下命令,启动服务。

node app.js

2.5 在您的浏览器中打开新页签,在地址栏中输入并访问https//<ECS公网地址>:3000

说明:您需要在将<ECS公网地址>替换为实验室分配的云服务器ECS的公网地址,您可在云产品资源列表中查看到实验室分配的云服务器ECS的公网地址。

返回如下页面,表示您已成功访问外卖下单系统。

  1. 体验客户侧。

3.1 在外卖下单系统页面,单击客户侧

3.2 在菜品选择页面,选择任意菜品并设置购买数量,然后单击Add to cart

3.3 在购物车页面,单击Go To Checkout

3.4 在结算页面用户联系方式明细区域,填写相关信息,然后单击Sumbit

返回如下页面,表示下单成功,同时在钉钉中收到订单信息。

  1. 体验商户侧。

外卖下单系统页面,单击商户侧

返回如下页面,在商户订单页面可以查询到所有订单。

  1. 体验骑手侧。

5.1 在外卖下单系统页面,单击骑手侧

5.2 在骑手页面,选择任意一条订单,单击右侧操作列下的订单送达

5.3 在商户订单页面可以看到订单状态变为已送达,钉钉中也推送相关订单通知。


9. 释放资源

在实验完成后,请您及时释放事件总线EventBridge和消息服务MNS相关资源,避免继续产生费用。

  1. 释放事件总线EventBridge。

1.1 在事件源页签中,找到您创建的事件源,单击删除

1.2 在事件规则页签中,找到您创建的规则,在右侧操作列下选择更多>删除,依次删除三个规则。

1.3 在事件总线页面,找到您创建的事件总线,单击删除

  1. 释放消息服务MNS。

在消息服务MNS控制台的队列列表页面,找到您创建的队列,单击删除

实验链接:https://developer.aliyun.com/adc/scenario/18b46d02239441cfa1538bf6b9d3e200

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
134 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
7天前
|
机器学习/深度学习 算法 数据可视化
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
本文探讨了在量化交易中结合时序特征和静态特征的混合建模方法。通过整合堆叠稀疏降噪自编码器(SSDA)和基于LSTM的自编码器(LSTM-AE),构建了一个能够全面捕捉市场动态特性的交易系统。SSDA通过降噪技术提取股票数据的鲁棒表示,LSTM-AE则专注于捕捉市场的时序依赖关系。系统采用A2C算法进行强化学习,通过多维度的奖励计算机制,实现了在可接受的风险水平下最大化收益的目标。实验结果显示,该系统在不同波动特征的股票上表现出差异化的适应能力,特别是在存在明确市场趋势的情况下,决策准确性较高。
31 5
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
|
18天前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】Kernel 层架构
推理引擎的Kernel层负责执行底层数学运算,如矩阵乘法、卷积等,直接影响推理速度与效率。它与Runtime层紧密配合,通过算法优化、内存布局调整、汇编优化及调度优化等手段,实现高性能计算。Kernel层针对不同硬件(如CPU、GPU)进行特定优化,支持NEON、AVX、CUDA等技术,确保在多种平台上高效运行。
70 32
|
18天前
|
存储 机器学习/深度学习 人工智能
【AI系统】计算图优化架构
本文介绍了推理引擎转换中的图优化模块,涵盖算子融合、布局转换、算子替换及内存优化等技术,旨在提升模型推理效率。计算图优化技术通过减少计算冗余、提高计算效率和减少内存占用,显著改善模型在资源受限设备上的运行表现。文中详细探讨了离线优化模块面临的挑战及解决方案,包括结构冗余、精度冗余、算法冗余和读写冗余的处理方法。此外,文章还介绍了ONNX Runtime的图优化机制及其在实际应用中的实现,展示了如何通过图优化提高模型推理性能的具体示例。
48 4
【AI系统】计算图优化架构
|
3天前
|
机器学习/深度学习 存储 人工智能
基于AI的实时监控系统:技术架构与挑战分析
AI视频监控系统利用计算机视觉和深度学习技术,实现实时分析与智能识别,显著提升高风险场所如监狱的安全性。系统架构包括数据采集、预处理、行为分析、实时决策及数据存储层,涵盖高分辨率视频传输、图像增强、目标检测、异常行为识别等关键技术。面对算法优化、实时性和系统集成等挑战,通过数据增强、边缘计算和模块化设计等方法解决。未来,AI技术的进步将进一步提高监控系统的智能化水平和应对复杂安全挑战的能力。
|
8天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
37 3
|
6天前
|
前端开发 搜索推荐 安全
陪玩系统架构设计陪玩系统前后端开发,陪玩前端设计是如何让人眼前一亮的?
陪玩系统的架构设计、前后端开发及前端设计是构建吸引用户、功能完善的平台关键。架构需考虑用户需求、技术选型、安全性等,确保稳定性和扩展性。前端可选用React、Vue或Uniapp,后端用Spring Boot或Django,数据库结合MySQL和MongoDB。功能涵盖用户管理、陪玩者管理、订单处理、智能匹配与通讯。安全性方面采用SSL加密和定期漏洞扫描。前端设计注重美观、易用及个性化推荐,提升用户体验和平台粘性。
32 0
|
8天前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
存储 人工智能 自然语言处理
49 6
|
6天前
|
监控 Java 数据中心
微服务架构系统稳定性的神器-Hystrix
Hystrix是由Netflix开源的库,主要用于微服务架构中的熔断器模式,防止服务调用失败引发级联故障。它通过监控服务调用的成功和失败率,在失败率达到阈值时触发熔断,阻止后续调用,保护系统稳定。Hystrix具备熔断器、资源隔离、降级机制和实时监控等功能,提升系统的容错性和稳定性。然而,Hystrix也存在性能开销、配置复杂等局限,并已于2018年进入维护模式。
16 0