Teams App抽奖机器人 - 基础架构

本文探讨了构建一个Teams应用LuckyDraw的基础设施,重点在于可管理性、高可用性、高可扩展性和低成本。采用了Azure App Service、Table Storage、Key Vault、Logic Apps和Availability Test等组件。App Service支持自动扩展和低成本的Free版本,Table Storage提供廉价存储,Logic Apps解决定时任务,Availability Test确保服务高可用,Key Vault保障安全性。整个架构设计旨在平衡成本与性能需求。
摘要由CSDN通过智能技术生成

今天我们来聊一下,一个Teams app的infrastructure,我在考虑LuckyDraw的主要出于这么几个出发点:

  • 可管理性。因为这是一个个人产品,以后维护工作也只有我一个人,所以我希望整个infrastructure简单、易管理,不要太花我时间

  • 高可用。Teams的用户遍布全世界,所以LuckyDraw的用户来自不同时区,这个基础架构要能很好的支持7x24小时高可用

  • 高可扩展。Office365的用户有1B,所以LuckyDraw的用户可能会在某个时间点爆发(只是可能)。这个架构需要能快速的扩展成支持上百万的用户

  • 低成本。一个字:穷。我穷啊

下面这张图展示了LuckyDraw整体的基础架构(构建在Azure上)

highlevel

中间是Azure App Service,运行着Bot,由Bot Service打通我的Bot和Teams之间的通道。数据库使用的是Table Storage。Key Vault里保存着连接字符串,bot密钥等等。Log Apps用来出发抽奖(每个抽奖都在某个指定的时间点被触发),Application Insights用来存储日志,Availability Test(它实际上属于Application Insights)用来确保我的LuckyDraw Bot的高可用。

接下来我就一个个具体说一下我为什么要这么设计:

App Service&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值