广西网络推广

NEWS INFORMATION

网络资讯

【店小蜜】阿里云-达摩院-云小蜜对话机器人

作者:admin 发布时间:2019-07-31

【店小蜜】阿里云-达摩院-云小蜜对话机器人

小米商城升级协议前言

阿里云-达摩院-云小米对话机器人产品基于深度机器学习技术、自然语言理解技术和对话管理技术,为企业提供多引擎、多渠道、多模态的对话机器人服务。2017年,云小米对话机器人开始在公有云公测,同期也在混合云场景中不断拓展。为了同时保证公有云和混合云发布的效率和稳定性,我们采用了1-2个月的大版本迭代。经过几年的发展,为了更好地支持业务发展,架构升级和重构始终是无法绕过的一道坎。为了保证稳定性,

1. 梳理各个模块相较线上版本接口依赖变化情况,决定十几个应用的上线顺序、每批次发布比例;
2. 模拟演练上述1产出的发布顺序,保证后端服务平滑升级,客户无感知;

以上动作1、2每次都需要2-3周左右的时间梳理和密集练习,但只能保证开放的PaaS API的顺利更新;

因为控制台服务需要保持前端、API、后端版本一致才能实现无损体验(如果每次迭代都升级API版本开发,协调成本会非常大),在权衡之下,它是在低流量时期推出的。缩短发布时间,避免部分控制台模块偶发错误导致的业务问题。针对以上问题,我早就考虑过用蓝绿发布、灰度等手段来解决问题,可惜对话机器人在阿里巴巴云内部业务区,以及普通云的扩展产品不应再被允许。没有多余的机器,流量管理完全不可能。

迁移到阿里云

带着以上疑问,2021年9月,云小米将业务迁移到阿里云。

实践

“当时印象最深的就是这张图了,虽然当时不知道中间件团队要做什么,但我记得两个关键词:三位一体和分红。没想到最后2021年,我真的很享受这个红利。”

image1

云小米使用的是集团内部的HSF服务框架,需要迁移到阿里云上,阿里云和阿里内部业务域之间有互通互治的需求。Cloud小米的公共服务部署在公有云VPC中,内部部署一些依赖的数据服务。内部和云服务需要RPC互调,这实际上是一个典型的混合云场景。在简单梳理了他们的核心诉求后,可以总结为以下三点: 希望尽可能使用开源解决方案,方便后续业务推广;需要在网络通信层面保证安全;低成本的业务升级和转型。

image2

在这种情况下,经过多次讨论和探索,最终确定了方案

解决了互通和服务注册发现的问题之后,就该看看如何实现服务治理方案了。

阿里云云流量治理

迁移到阿里云后,流量控制方案有很多,比如群内全链路方案、群内单元化方案等等。

设计目标和原则是引入交通隔离方案。在上线过程中企业网络设计概括,当新旧版本的服务同时存在时,可以保证流量在相同版本的“集群”中流动企业网络设计概括,可以解决重构带来的问题。内部接口不兼容问题。需要解决上线过程中控制台的流畅问题,避免前端、后端、API更新不一致导致的问题。不需要上线的应用不得参与上线上线。应尽量减少资源消耗。毕竟做产品要考虑成本和利润。方案选择 群内全链路方案: 目前,不支持阿里云云组内的单元化解决方案:主要解决业务规模、容灾等问题。这与我们遇到的问题不同。搭建独立集群,版本迭代时切换集群:成本太高自建:在同一个集群中隔离新旧服务,保证同一个用户的流量只在同一个版本的服务内流动

以 RPC 为例:

全链路灰度方案

就在1、2、3、4觉得自己还不够完美的时候,在研究准备自建方案5的时候,转了一圈,拿到了阿里云MSE微服务管理团队。它还利用RPC框架的路由策略来实现流量治理,实现产品化(微服务引擎-微服务治理中心)。“在那之后,似乎很多事情变得容易了......

image3

从上图可以看出,每个应用都需要构建基础环境和灰色环境。除流量入口-服务网关外,各下游业务模块根据需要部署灰色环境。如果某个时间如果一个模块在线没有任何更改,则不需要部署。

各个中间件、Mysql的治理方案,:持久化或半持久化数据,业务模块本身保证数据结构兼容升级;Redis:由于对话产品中会有多轮问答场景,问答上下文在Redis中,如果不兼容,那么上线会影响会话期间的C端用户。因此,目前业务模块本身保证了Redis的数据结构兼容升级;配置中心:基线(base)环境和灰色(gray)环境维护两组全配置,会带来比较大的工作量,为了避免手动保证数据一致性的成本,基线(base)环境为被监控,并且灰色(灰色)环境被监控为灰色。如果没有配置灰色,会自动监控;(云小米2018年做混合云项目,为了保证混合云和公有云使用一套业务代码,建立了中间件适配层,这个能力在适配层实现。) RPC服务:使用阿里云一代理基于Java Agent技术,使用Dubbo框架的路由规则实现,无需修改业务代码;

应用程序只需要添加一点配置:

交通管理解决方案

流量分配模块决定了流量治理的粒度和管理的灵活性。

对话机器人产品需要灰度发布和蓝绿发布。目前,使用以下两种解决方案:

灰度发布:部分应用单独更新,采用POP的灰度引流机制,支持百分比和UID的策略引流到灰度环境。蓝绿发布:全链路落地效果

上线后第一次发布的效果:“目前各模块新版代码已经上线,包括发布和功能回归大约需要2.5小时,相比上一次上线有很大的提升直到凌晨。” MSE微服务治理全链路灰度解决方案满足云小米业务在快速发展的背景下快速迭代和仔细验证的需求,通过技术帮助云小米快速实现企业级全链路灰度能力。随着业务的发展,流量治理会有更多的需求。下一步,我们将继续与微服务治理产品团队合作,拓展本解决方案的能力和使用场景,

更多微服务治理能力

企业展厅设计-城市规划馆设计要点_我与地坛好运设计概括_企业网络设计概括

使用MSE服务治理后,发现有更多开箱即用的治理能力,可以大大提高研发效率。包含服务查询、服务合同、服务测试等。这里值得一提的是,云上的服务测试是在云上为用户提供一个私有网络,这样我们就可以方便的调用自己的服务。我们可以忽略感知云上复杂的网络拓扑,不需要服务相关的协议,不需要搭建测试工具,只需要使用控制台来实现服务调用。支持 Dubbo 3.0 框架和 Dubbo 3.0 主流协议。

image4

结束语

最终,云小米对话机器人团队成功实现了全链路灰度功能,解决了长期以来困扰团队的发布效率问题。在这个过程中,我们做出了新的选择和尝试,比如将部分业务迁移到阿里云,将服务框架升级到.0,选择MSE微服务治理能力。“世界上没有路,人走的越多,路就变了。” 经过我们工程师的反复探索和实践,我们可以为更多的学生沉淀最佳实践。相信这些最佳实践会像大海中璀璨的明珠,经过生产实践和时间打磨,会变得更加辉煌。

是这个页面吗?

是 否

很高兴听到!告诉我们怎么做。

很抱歉听到这个消息。告诉我们怎么做。

最后修改于 2022 年 14 月:为 (#1600) () 添加 desc

了解更多学习网络推广知识,就来广西网络推广。

上一篇:液化天然气站建站 评述:2021年7月71.72价格种类分析(组图)
下一篇:国家发展改革委下达中央预算内投资支持节能减碳项目建设

友情链接 :  版权所有 技术支持:广西曾维沛网络科技