
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
现在来谈谈互联网服务可扩展性进行高层次解释。不同类型的容器都有各自的容量上限。例如,由于WebAssembly实现的 限制 ,一个容器只能存储4GB的内存。因此,当我们要创建可扩展到数十亿用户的互联网服务时,我们必须使用多容器架构。
我们可能希望创建一个特殊的容器,创建容器的许多副本,然后将用户内容分片到不同的容器以创建可扩展的互联网服务。但是,由于很多种原因,这个架构过来简单了。
的确,每个额外的容器都会增加整体内存容量,以及增加容器都会增加整体更新和查询调用的吞吐量。但是我们无法扩展针对特定用户内容的查询调用请求。每当我们通过添加更多的容器分片来增加系统容量时,我们都需要重新负载均衡用户内容,这并不是真正的边缘架构。也没有明显的方法从与他们非常接近的副本中向最终用户提供查询调用。我们将同时需要前端容器和后端容器。
互联网计算机提供了一些有趣的功能,可以将最终用户连接到前端容器。其中之一允许域名通过NNS映射到多个前端容器。当最终用户希望解析这样的域名时,互联网计算机将查看托管前端容器的所有子网中所有副本节点的总数,并返回最接近的副本节点的IP地址。这导致最终用户在附近的副本上执行查询调用,从而减少了固有的网络延迟并改善了用户体验,从而在没有内容分发网络的情况下提供了边缘计算的优势。
为了充分利用此函数,我们需要一个涉及前端容器和后端数据桶容器的经典体系结构。在此示例中,Web浏览器希望加载个人资料图片。
首先,Web浏览器将映射到一个前端容器,其上运行在具有附近节点的子网。然后,Web浏览器将提交查询调用请求到附近的节点以检索照片。
然后,前端容器将向保存照片的数据容器发出跨容器查询调用请求。
如果数据存储容器返回的查询调用响应涉及静态内容(例如照片),则可以将数据存储在缓存中。在此案例中,运行前端容器查询调用的副本节点可以将查询调用响应存储到其查询缓存中。
当然,查询调用缓存机制对于前端容器代码是完全透明的。一旦用户调用的前端容器收集了所有必要的信息,它就可以通过查询调用响应或HTTP请求返回内容。
随着时间的流逝,节点的查询缓存会累积静态内容并生成附近用户感兴趣的数据,从而为他们提供更快,更好的用户体验。这样,互联网计算机的原生边缘体系结构提供了内容分发网络的优势,而无需开发人员做任何特殊的事情,也无需争取单独的专有服务的帮助。
对于更新调用,经典体系结构采用了不同的方法。必须序列化对用户内容和数据的更新,以防止诸如更新丢失之类的问题。通常,会通过hash用户名将用户映射到特定的前端容器来实现的。
一旦在Web浏览器或智能手机上运行的UX/UI确定了哪个前端容器负责协调对某些内容或数据的更改,便可以通过标准接口提交更新调用来修改内容或数据。
然后,此前端容器通常会进行更多的跨容器更新调用,以实现所需的更改。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加3216764521学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。