现实世界迈向数字化、智能化的进程中,大多数应用程序都需要嵌入位置分享功能。例如,基于位置服务的 AR 类手机游戏《宝可梦 GO》,将玩家与虚拟 IP 互动娱乐带入户外真实场景,打破次元壁垒、增强沉浸体验。

若想保证全球玩家顺畅交互,就需要在边缘端打造低延迟的用户服务,由此大量企业开始选择在更贴近用户的位置进行边缘计算。Akamai EdgeWorkers 正是借助规模庞大的分布式无服务器网络,予力企业开发者在边缘处创建功能的利器。本文会为大家具体分享Akamai边缘计算能力在开发位置分享应用中的具体过程。

100%无服务器架构

在此前的研讨会上,我们分享了“发现并公布”应用程序用例和演示,来展示通过100%无服务器构建位置分享应用的具体过程。这款应用可以帮助客户探索世界,了解自己感兴趣的周边事物,并(可选地)在当前位置的公共广播频道上,和全世界共享自己的状态。

从发现到发明(开发案例从发现到公布)(1)

该应用完全基于无服务器技术构建,并可以完全通过 Akamai 边缘平台来运行。整体来看,该应用具有如下特征:

用户客户端读写 Akamai IoT Edge Connect 上包含位置信息的 MQTT* 主题

作为 MQTT 客户端,World Editor 服务可在相应的主题中,更新位置信息

▶ Analytics 服务可读取用户客户端发出的 Announce 消息,借此感知周边世界

MQTT,消息队列遥测传输,保障资料传输的发布/订阅型消息协议。

MGRS:用网格勾勒世界

假如给我们一片尚未发现的陆地,如何对地理位置进行探索与管理呢?优选答案之一便是“网格化”。同样,开发位置分享应用,需要将全球的每一条街道、商铺“刻录”到应用程序的虚拟世界中。MGRS便是能帮我们将 MQTT 主题分配到特定地理位置的地图系统,可以为1米、10米、100米、1000米甚至10千米的网格分配座标。

从发现到发明(开发案例从发现到公布)(2)

编码数值对应规则

以表示美国密歇根州贝莱尔 Short’s Brewery 附近(精度为10米见方等)对应位置为例,其地理信息便能够通过 Akamai IoT Edge Connect 和 MQTT 通配符实现位置信息高效联网传输。示例编码如下:

从发现到发明(开发案例从发现到公布)(3)

IoT Edge Connect 主题结构反映了 MGRS 地理位置编码

World Editor:记录位置实时移动

开发位置分享应用,不仅需要 MGRS 系统进行 MQTT主题分配,也需要使用 World Editor 地图编辑器对位置的经纬度进行信息化处理。研讨会上,我们演示了Akamai 开发的一个更新世界地图的客户端,借此可以创建对象,并在 World Editor 地图上给它命名,拖拽对象调整位置。

从发现到发明(开发案例从发现到公布)(4)

完成拖拽动作后,对象所在位置 MGRS 值将发送给 IoT Edge Connect 上对应的 MQTT 主题。World Editor 则会应用 MGRS JavaScript 库将经纬度转换为 MGRS 编码。以公园不同位置移动的人物为例,用户使用这款客户端,就可以在抵达新的位置后宣告实时信息。

从发现到发明(开发案例从发现到公布)(5)

从智能出行、电竞游戏、VR/AR 等领域实时数据分析以及基于位置的个性化服务等需求出发,我们能够使用边缘计算技术服务为World Editor 添加了分析数据源,来保障在客户端的地图上显示实时数据。

简单来说,Analytics服务包含一个 MQTT 客户端,可以读取公布的消息,随后记录并处理这些内容。例如,我们将能以秒为单位确定并更新每个位置的用户密度。

位置分享应用两大功能

上文分享的内容是从开发者视角来看,那么从用户视角来看,他们可以做什么呢?其实“发现并公布”,这款应用程序的命名便是为用户提供的两大功能,同时也是贴近用户端边缘计算服务的实际应用。

▶ 发现

用户可以订阅不同位置主题来了解周边世界,借助 MQTT 通配符,还可以指定自己感兴趣的大范围区域,并记录坐标值的实时变化。而室内环境下,可使用蓝牙信标代表客户端的位置。存储在本地或 Akamai EdgeKV 的平面数据集,可将信标值与 MGRS 位置进行对应。

▶ 公布

用户发现位置后,下一步也可分享位置信息。通过 MGRS 主题结构,用户发布位置信息时也能从10km、1km、100m、10m或1m中选择定位的位置精度,从而保护隐私。当然,用户也可以选择自己的具体发送内容。

有力保障全球化业务扩张

位置分享应用上线使用前,也要充分考虑到潜在异常风险情况。如我们开发的这款应用在公园游览场景中,面对高峰期可能会超过每小时数十亿条的流量压力,使用安全可靠、易拓展的Akamai 边缘平台,便足以承载、化解峰值流量的冲击。

借助 Akamai EdgeWorkers 等解决方案,我们能支持开发者够针对边缘编写代码,将源服务部署、运行在任何位置,快速进行复杂的地理定位计算,将用户的经纬度位置与安全合规、实际业务关联起来,以保障全球化业务快速、安稳运行。

值得强调的是,应用程序组件可以通过几乎任何类型的容器在任何云环境中运行。如果期望进一步了解该应用,请前往Akamai官网或微信公众号, 注册免费试用,简化开发流程、专注业务创新,直接启动1个或1000个客户端,借此验证并打磨新想法。

,