现实世界迈向数字化、智能化的进程中,大多数应用程序都需要嵌入位置分享功能。例如,基于位置服务的 AR 类手机游戏《宝可梦 GO》,将玩家与虚拟 IP 互动娱乐带入户外真实场景,打破次元壁垒、增强沉浸体验。
若想保证全球玩家顺畅交互,就需要在边缘端打造低延迟的用户服务,由此大量企业开始选择在更贴近用户的位置进行边缘计算。Akamai EdgeWorkers 正是借助规模庞大的分布式无服务器网络,予力企业开发者在边缘处创建功能的利器。本文会为大家具体分享Akamai边缘计算能力在开发位置分享应用中的具体过程。
100%无服务器架构
在此前的研讨会上,我们分享了“发现并公布”应用程序用例和演示,来展示通过100%无服务器构建位置分享应用的具体过程。这款应用可以帮助客户探索世界,了解自己感兴趣的周边事物,并(可选地)在当前位置的公共广播频道上,和全世界共享自己的状态。
该应用完全基于无服务器技术构建,并可以完全通过 Akamai 边缘平台来运行。整体来看,该应用具有如下特征:
▶ 用户客户端读写 Akamai IoT Edge Connect 上包含位置信息的 MQTT* 主题
▶ 作为 MQTT 客户端,World Editor 服务可在相应的主题中,更新位置信息
▶ Analytics 服务可读取用户客户端发出的 Announce 消息,借此感知周边世界
MQTT,消息队列遥测传输,保障资料传输的发布/订阅型消息协议。
MGRS:用网格勾勒世界
假如给我们一片尚未发现的陆地,如何对地理位置进行探索与管理呢?优选答案之一便是“网格化”。同样,开发位置分享应用,需要将全球的每一条街道、商铺“刻录”到应用程序的虚拟世界中。MGRS便是能帮我们将 MQTT 主题分配到特定地理位置的地图系统,可以为1米、10米、100米、1000米甚至10千米的网格分配座标。
编码数值对应规则
以表示美国密歇根州贝莱尔 Short’s Brewery 附近(精度为10米见方等)对应位置为例,其地理信息便能够通过 Akamai IoT Edge Connect 和 MQTT 通配符实现位置信息高效联网传输。示例编码如下:
IoT Edge Connect 主题结构反映了 MGRS 地理位置编码
World Editor:记录位置实时移动
开发位置分享应用,不仅需要 MGRS 系统进行 MQTT主题分配,也需要使用 World Editor 地图编辑器对位置的经纬度进行信息化处理。研讨会上,我们演示了Akamai 开发的一个更新世界地图的客户端,借此可以创建对象,并在 World Editor 地图上给它命名,拖拽对象调整位置。
完成拖拽动作后,对象所在位置 MGRS 值将发送给 IoT Edge Connect 上对应的 MQTT 主题。World Editor 则会应用 MGRS JavaScript 库将经纬度转换为 MGRS 编码。以公园不同位置移动的人物为例,用户使用这款客户端,就可以在抵达新的位置后宣告实时信息。
从智能出行、电竞游戏、VR/AR 等领域实时数据分析以及基于位置的个性化服务等需求出发,我们能够使用边缘计算技术服务为World Editor 添加了分析数据源,来保障在客户端的地图上显示实时数据。
简单来说,Analytics服务包含一个 MQTT 客户端,可以读取公布的消息,随后记录并处理这些内容。例如,我们将能以秒为单位确定并更新每个位置的用户密度。
位置分享应用两大功能
上文分享的内容是从开发者视角来看,那么从用户视角来看,他们可以做什么呢?其实“发现并公布”,这款应用程序的命名便是为用户提供的两大功能,同时也是贴近用户端边缘计算服务的实际应用。
▶ 发现
用户可以订阅不同位置主题来了解周边世界,借助 MQTT 通配符,还可以指定自己感兴趣的大范围区域,并记录坐标值的实时变化。而室内环境下,可使用蓝牙信标代表客户端的位置。存储在本地或 Akamai EdgeKV 的平面数据集,可将信标值与 MGRS 位置进行对应。
▶ 公布
用户发现位置后,下一步也可分享位置信息。通过 MGRS 主题结构,用户发布位置信息时也能从10km、1km、100m、10m或1m中选择定位的位置精度,从而保护隐私。当然,用户也可以选择自己的具体发送内容。
有力保障全球化业务扩张
位置分享应用上线使用前,也要充分考虑到潜在异常风险情况。如我们开发的这款应用在公园游览场景中,面对高峰期可能会超过每小时数十亿条的流量压力,使用安全可靠、易拓展的Akamai 边缘平台,便足以承载、化解峰值流量的冲击。
借助 Akamai EdgeWorkers 等解决方案,我们能支持开发者够针对边缘编写代码,将源服务部署、运行在任何位置,快速进行复杂的地理定位计算,将用户的经纬度位置与安全合规、实际业务关联起来,以保障全球化业务快速、安稳运行。
值得强调的是,应用程序组件可以通过几乎任何类型的容器在任何云环境中运行。如果期望进一步了解该应用,请前往Akamai官网或微信公众号, 注册免费试用,简化开发流程、专注业务创新,直接启动1个或1000个客户端,借此验证并打磨新想法。
,