偷偷告诉你,互联网公司理想的技术架构!
副标题[/!--empirenews.page--]
图片来自 Pexels 整体架构 App、PC 以及第三方等调用方通过传统的域名解析服务 LocalDNS 获取负载均衡器的 IP,App 可以通过 HttpDNS 的方式来实现更实时和灵活精准的域名解析服务。 通过负载均衡器到达统一接入层,统一接入层维护长连接 。 API 网关作为微服务的入口,负责协议转换、请求路由、认证鉴权、流量控制、数据缓存等。 业务 Server 通过 PUSH 推送系统来实现对端的实时推送,如 IM、通知等功能。 业务 Server 之间通过专有的 RPC 协议实现相互调用,并通过 NAT 网关调用外部第三方服务。 域名解析 传统 DNS DNS(Domain Name System)域名系统,一种分布式网络目录服务,用于域名与 IP 地址的相互转换,能够使人更方便的访问互联网,而不用去记住机器的 IP 地址。 DNS 的解析过程如下: 客户端递归查询 LocalDNS(一般是 ISP 互联网服务提供商提供的边缘 DNS 服务器)获取 IP。 LocalDNS 迭代查询获取 IP,即不断的获取域名服务器的地址进行查询。 HttpDNS 移动解析(HttpDNS)基于 Http 协议向 DNS 服务器发送域名解析请求,替代了基于 DNS 协议向运营商 LocalDNS 发起解析请求的传统方式。 它可以避免 LocalDNS 造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。 以腾讯云 HttpDNS 为参考,相较于传统 LocalDNS 的优势对比: 负载均衡 为了解决单台机器的性能问题以及单点问题,需要通过负载均衡将多台机器进行水平扩展,将请求流量分发到不同的服务器上面。 客户端的流量首先会到达负载均衡服务器,由负载均衡服务器通过一定的调度算法将流量分发到不同的应用服务器上面。 同时负载均衡服务器也会对应用服务器做周期性的健康检查,当发现故障节点时便动态的将节点从应用服务器集群中剔除,以此来保证应用的高可用。 网络负载均衡主要有硬件与软件两种实现方式,主流负载均衡解决方案中,硬件厂商以 F5 为代表,软件主要为 LVS、NGINX、HAProxy。 技术原理上分为 L4 四层负载均衡和 L7 七层负载均衡。 L4 vs L7 L4 四层负载均衡工作于处于 OSI 模型的传输层,主要工作是转发。它在接收到客户端报文后,需要了解传输层的协议内容,根据预设的转发模式和调度算法将报文转发到应用服务器。 以 TCP 为例,当一个 TCP 连接的初始 SYN 报文到达时,调度器就选择一台服务器,将报文转发给它。 此后通过查发报文的 IP 和 TCP 报文头地址,保证此连接的后继报文被转发到该服务器。 L7 七层负载均衡工作在 OSI 模型的应用层,主要工作就是代理。七层负载均衡会与客户端建立一条完整的连接并将应用层的请求解析出来,再按照调度算法选择一个应用服务器,并与应用服务器建立另外一条连接将请求发送过去。 LVS 转发模式 LVS(IP 负载均衡技术)工作在 L4 四层以下,转发模式有: DR 模式 NAT 模式 TUNNEL 模式 FULL NAT 模式 ①DR 模式(直接路由) 改写请求报文的 MAC 地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户。 要求调度器与真实服务器都有一块网卡连在同一物理网段上,并且真实服务器需要配置 VIP。 ②NAT 模式 (网络地址转换) (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |