go从0到1项目实战体系七十八:网关的作用

本文讨论了网关在网络架构中的核心作用,包括流量管理、高可用性处理、协议代理、负载均衡、服务发现和横向扩展。还涉及了OSI七层模型、TCP/IP模型以及TCP数据包的构成和应用数据处理。
摘要由CSDN通过智能技术生成

1. 为什么要网关?

. 网络架构中,网关是一个核心:
    a. 作为接入层,承载了流量转发、负载均衡、服务限流、熔断降级等功能.
       (1). 限流:请求QPS限制
       (2). 熔断:错误率达阈值则服务熔断
       (3). 降级:确保核心业务可用
       (4). 权限认证:请求拦截

②. 处理高可用、高并发:
    a. 中台服务,如es或redis要覆盖多个业务线.需要做各种的流量统计、权限校验.. 大多数网关是与nginx相关.. 借助go本身的高并发的优势,适合开发自定义网关.

2. 网关的功能:

. 支持多种协议代理:
    tcp、http、websocket、grpc

②. 支持多种负载均衡策略:
    轮询、权重轮询、hash一致性

③. 支持下游服务发现:
    a. 主动探测
    b. 自动服务发现

④. 支持横向扩容:
    加机器就能解决高并发

1. OSI七层网络协议:

. OSI参考模型:
    a. 是为了使网络应用更加普及,用来建议所有的公司使用这个规范来控制网络,可以达到互接的效果.
    b. OSI是理论下的模型

②. TCP/IP参考模型:
    a. OSI定义7层框架,TCP借鉴了OSI参考模型,建立了TCP/IP的参考模型.
    b. TCP/IP是被更广泛使用的互联网标准

③. OSITCP/IP:
    a. OSI是先有OSI模型,再有协议 => 先有标准,后有实战
    b. TCP/IP刚好相反,先有协议,再有模型(参考了OSI模型提出的).. 协议:
    a. TCP协议的子协议对应提http、http2.
    b. UDP协议的子协议对应的是FTPDNS.

2. TCP数据包:

. 以太网标头:
    a. 主要标注对方mac地址信息.. IP标头:
    a. 对方IP信息

③. TCP标头:
    a. TCP传输的类型和数据包的长度

④. 应用层数据包:

(1). 数据包:

. 上层的协议数据都是由下层的数据包包含和构成的.. TCP:
    a. 是网络抓包工具常用的分析层级,如分析三次握手、四次握手.
    b. 如post一个1480的字节的包,可能这个数据包可能会需要多少数据包去传输.. 应用数据:
    a. 在消费时,都是从应用程序的缓冲区去读取数据.
    b. 需要划分清楚数据包的边界.
       (1). 如在TCP段里面分两批数据去发送的.
       (2). 必须要划分好应用数据的起点头部是哪?结尾是什么?
       (3). 这就涉及到数据拆包.
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值