一套互联网公司理想架构,快快收藏。。(1)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
.cn 域名,1个 12个月
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 一套互联网公司理想架构,快快收藏。。(1)

互联网理想架构

本文探讨了互联网公司的技术架构,涉及DNS、负载均衡、长连接、API网关、PUSH推送、微服务、分布式事务以及相关支撑的基础服务。主要是为了学习,希望可以给大家一个参考。


整体架构

image.pngAPP、PC以及第三方等调用方通过传统的域名解析服务LocalDNS获取负载均衡器的IP,APP可以通过HttpDNS的方式来实现更实时和灵活精准的域名解析服务。


通过负载均衡器到达统一接入层,统一接入层维护长连接 。


API网关作为微服务的入口,负责协议转换、请求路由、认证鉴权、流量控制、数据缓存等。


业务Server通过PUSH推送系统来实现对端的实时推送,如IM、通知等功能。


业务Server之间通过专有的RPC协议实现相互调用,并通过NAT网关调用外部第三方服务。


域名解析

传统DNS

DNS(Domain Name System)域名系统,一种分布式网络目录服务,用于域名与IP地址的相互转换,能够使人更方便的访问互联网,而不用去记住机器的IP地址。


DNS的解析过程如下:

image.png

  • 客户端递归查询LocalDNS(一般是ISP互联网服务提供商提供的边缘DNS服务器)获取IP
  • LocalDNS迭代查询获取IP,即不断的获取域名服务器的地址进行查询



HttpDNS

移动解析(HttpDNS)基于Http协议向DNS服务器发送域名解析请求,替代了基于DNS协议向运营商Local DNS发起解析请求的传统方式,可以避免Local DNS造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。


以腾讯云HttpDNS为参考,相较于传统LocalDNS的优势对比:

image.png


负载均衡

为了解决单台机器的性能问题以及单点问题,需要通过负载均衡将多台机器进行水平扩展,将请求流量分发到不同的服务器上面。


客户端的流量首先会到达负载均衡服务器,由负载均衡服务器通过一定的调度算法将流量分发到不同的应用服务器上面,同时负载均衡服务器也会对应用服务器做周期性的健康检查,当发现故障节点时便动态的将节点从应用服务器集群中剔除,以此来保证应用的高可用。


网络负载均衡主要有硬件与软件两种实现方式,主流负载均衡解决方案中,硬件厂商以F5为代表,软件主要为LVS、NGINX、HAProxy。


技术原理上分为L4四层负载均衡和L7七层负载均衡。


L4 vs L7

image.png

L4四层负载均衡工作于处于OSI模型的传输层,主要工作是转发。它在接收到客户端报文后,需要了解传输层的协议内容,根据预设的转发模式和调度算法将报文转发到应用服务器。以TCP为例,当一个TCP连接的初始SYN报文到达时,调度器就选择一台服务器,将报文转发给它。此后通过查发报文的IP和TCP报文头地址,保证此连接的后继报文被转发到该服务器。


L7七层负载均衡工作在OSI模型的应用层,主要工作就是代理。七层负载均衡会与客户端建立一条完整的连接并将应用层的请求解析出来,再按照调度算法选择一个应用服务器,并与应用服务器建立另外一条连接将请求发送过去。




相关文章
|
7月前
|
XML 数据库 数据格式
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
52 0
互联网大厂一致好评!神作《凤凰架构》仅开源3小时,竟遭受哄抢
给大家分享一本好书:周志明老师的 《凤凰架构:构建可靠的大型分布式系统》,现在网上还没有开源版本!阿嘴会在文末附电子版免费下载方式。
|
22天前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
1月前
|
架构师 开发工具 C++
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
|
23天前
|
存储 缓存 网络协议
互联网架构与通信机制:从边缘到核心的深度解析
互联网架构与通信机制:从边缘到核心的深度解析
20 0
|
1月前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
99 0
|
1月前
|
存储 缓存 监控
【分布式】大型互联网项目架构目标
【1月更文挑战第25天】【分布式】大型互联网项目架构目标
|
1月前
|
达摩院 Java Apache
惊动“达摩院”的分布式架构笔记:火于互联网,据说来自于清华
一个星期前,一本Java架构笔记突然在互联网上爆火。因为内容的深度和广度,甚至连阿里最牛的研发中心都被惊动了,而且作者一周后直接被阿里挖走后定级P8,据说作者来自于清华。
|
6月前
|
XML 监控 数据库
互联网架构演进:从传统单体到Service Mesh
互联网架构演进:从传统单体到Service Mesh
91 0
|
7月前
|
设计模式 SQL 安全
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
35 0

热门文章

最新文章