Chinese translation of an article by Jason Bloomberg
【51CTO.com快译】分布式计算最基本的概念之一是端点。可以通过输入和输出来了解每一个软件片段——对象、微服务、应用程序,而这些都被称之为交互端点。
在分布式计算的历史上,端点有多种形式:套接字、IP地址、接口、Web服务和入口等。无论它们的性质如何,其他软件必须能够找到合适的端点,连接或绑定它们,并与它们交互。
端点也代表攻击面中的漏洞,因此保护它们也是至关重要的。在最基本的情况下,端点是物理分布式计算架构的一部分。但是,如果只是处理物理端点,就几乎没有灵活性,因此,如果可编程性有限,并且它们的可用性受到严重限制。由于这些原因,很多企业多年来就采用了许多抽象端点的方法,如今在构建云原生基础设施时延续了这一趋势。
然而,在新的云原生计算模式中,抽象的端点具有新的含义。
抽象端点层
事实上,抽象端点既平凡又普通。DNS服务器抽象IP地址,其分配可以根据需要重新分配域名。负载均衡器可以将请求定向到不同的服务或应用程序端点,而请求者并不知道。
表述性状态传递(REST)的核心是使用URL来抽象端点和它们支持的操作。底层基础设施可能会利用Web服务器、负载平衡器或API网关(或某些组合)来解析URL,并将流量定向到适当的物理端点。
REST场景强调了抽象端点的一个重要原则:通常情况下,一条消息可能会遍历几种不同的技术,每个技术都将不同的抽象端点层添加到组合中。虽然这些层增加了架构的复杂性,但为端点消费者增加灵活性和简单性的好处通常会超过这种复杂性的成本。