博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目追求更高的性能,更高的并发,更高的可用 (1)
阅读量:4508 次
发布时间:2019-06-08

本文共 3116 字,大约阅读时间需要 10 分钟。

  首先,先聊一会个人感悟,其实很多人认为,http、tcp,udp这些网络协议其实不重要。甚至说一点也不清楚这些东西是做什么用的。只是知道这些东西的存在。因为在一些功能开发的时候,这些东西你是看不见的。也许你会认为。这些东西是别人已经封装好的了。我们在开发的过程中只需要使用就可以了。其实这是一个很错误的想法。当你在一家公司可以轻轻松松实现任何功能的时候。你怎么才可以让你写的功能性能比别人好,更加节约服务器性能?你要怎么去优化你的功能?方法封装?类封装?方法复用?
 
 
  方法封装?类封装?方法复用? 的确可以让你的代码的可读性变得舒适一些。但是在总体性能上并不会让系统有太多性能的提升、那么如果我们想让我们的系统速度更快,性能更强,那么我们就需要从这些底层协议开始。
 
  一个项目追求的是什么? 记住 !
  
是高并发!高可用!高性能 ,一个项目只有做到这三点,才能保证项目可以在不同情景应付各种情况
 
  网上看了很多文章,但是感觉要么写的很深,要么写的很浅。我写这边文章主要是自己亲身体会的,把自己曾经的误区总结了一下给大家看下。 
  文章主要从一下三点入手:
  
1,网络协议;
  2,网络七层模型;
  3,如果追求高并发,高性能,高可用;
 
          
                        ---------------------------------------------什么是网络协议---------------------------------------
 
的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
 
   一个网络协议至少包括三要素:
    
  语法:用来规定信息格式;数据及控制信息的格式、编码及信号电平等。
      语义:用来说明通信双方应当怎么做;用于协调与差错处理的控制信息。
      定时:(时序)定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输。
 
  
    很多开发同学应该都是知道tcp/ip协议。tcp协议。udp协议,http协议,但是他们的作用是什么。他们之间的关系是什么,我相信很多同学不清楚。
 
    这里我先讲一下 :
 
   
 1. 什么是tcp/ip协议:
 
       
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。
       定义大家大体了解一下就可以了,不需要死记硬背。我们需要去了解这句话。他给大家总结一句。大家只需要这样想,tcp/ip就是国际为了规范网络请求的。每别的作用。当然这里还涉及到了 iso七层模型。这里会稍后为大家介绍
 
    
2.什么是tcp协议 udp协议 http协议、他们和tcp/ip协议之间的关系是什么
 
    刚刚我有说过,协议是规范网络请求的。那么tcp协议就是规范tcp链接的、udp协议就是规范udp链接的,http协议就是规范http链接的。 但是他们和tcp协议之间的关系是什么呢~~那么请大家继续向下看 ios七层网络模型
            
                        -------------------------------- ios七层网络模型----------------------------------
 
        1.网络七层有哪些,他的作用是什么 ,先给大家看一张图
                        
 
 
 
 
  这个就是网络七层模型,一个U型关系。他们是一层一层的向下走的。下面在为大家介绍一下每一层的作用。大家可千万不要小看这个。因为在将来。你们公司在开发的时候遇到了性能瓶颈,大家完全可以通过这些网络层入手。当然这需要一些技巧的。
 
  建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。它的最大优点是将服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。网络七层的划分也是为了使网络的不同功能模块(不同层次)分担起不同的职责,从而带来如下好处:   
 
   
 ● 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错;    
    ● 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行;    
    ● 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手术;   
    ● 便于研究和教学。
  
  1,接下来为大家简单介绍一下。这七层的每一层之间的作用
 
 
 物理层:
 
    主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 主要作用是将数据最终编码为用 0、1 标识的比特流,通过物理介质传输,这一层的数据叫做比特。
 
  数据链路层:
 
    主要将接收到的数据进行 MAC 地址(网卡地址)的封装与解封装。 常把这一层的数据叫做帧。这一层常工作的设备是交换机。
 
 
 网络层:
  
    主要将接收到的数据进行 IP 地址的封装与解封装。 常把这一层的数据叫做数据包。这一层设备是路由器。
 
  
传输层:
 
    定义了一些数据传输的协议和端口号。 要将接收的数据进行分段和传输,到达目的地址后在进行重组。 常把这一层的数据叫做段。
 
 
 会话层:
 
    通过传输层建立数据传输的通路。 主要在系统之间发起会话或者接收会话请求。
  
 
 表示层:
 
     确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
 
  
应用层:
 
    主要是为一些终端应用程序提供服务。直接面对着用户的。
 
 
    那么问题来了,这些ios的模型层和每一层协议之间的关系是什么呢;接下来我将为大家梳理一下他们 他们之间的关系
 
     这里仅仅先为大家介绍tcp/ip 以及upd、tcp协议同iso模型之间的关系
 
    刚刚有给大家介绍tcp/ip就是规范了网络请求,那么他是怎么规范的呢。我们将iso模型和tcp协议链接到一起。 tcp/ip协议就是规范了 网络七层中的四层。
 
    (1)应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议;
    (2)传输层:TCP 协议和 UDP 协议;
    (3)网络层:IP 协议,ARP、RARP 协议,ICMP 协议等;
    (4)网络接口层:是 TCP/IP 协议的基层,负责数据帧的发送和接收。
 
    从上面就可以看出来 在传输层中包括了tcp和upd协议。其实很简单理解就是说,tcp/ip协议是udp协议、tcp协议的总称。我们一般说网络协议的时候直接说了tcp/ip协议,而不是很具体说到了udp,tcp协议。
 
 
 
  
  网络协议就简单给大家说到这里。下一篇文章将会为大家介绍如何去构建一个高可用,高并发,高性能的网站。比如公司在做集群的时候,上一层有一个slb做中控,但是这个slb坏掉的时候怎么办呢?嘻嘻,请见下回分解
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/gongxiang/p/9478233.html

你可能感兴趣的文章
实验六和实验十四
查看>>
用Swift重写公司OC项目(Day1)--程序的AppIcon与LaunchImage如何设置
查看>>
C++ 小的使用技巧和注意点
查看>>
x项目第一周随笔
查看>>
智能资产构建去中心化的资产管理系统
查看>>
[JavaWeb基础] 003.JAVA访问Mysql数据库
查看>>
BZOJ 1045 糖果传递(思维)
查看>>
区块链北大课程总结(课程2-数据结构)
查看>>
图解Android View的scrollTo(),scrollBy(),getScrollX(), getScrollY()
查看>>
JSP的页面连接和提交方式(web基础学习笔记六)
查看>>
HTTP首部
查看>>
python 基础 列表生成式 生成器
查看>>
Linux unalias命令 取消别名
查看>>
LoadRunner
查看>>
Ubuntu 部署Python开发环境
查看>>
微信小程序——获取步数
查看>>
代理原有的Handler.Callback,感知Application onCreate的结束时间
查看>>
Delphi 皮肤控件AlphaControls的使用
查看>>
pycharm快捷键大全
查看>>
Smarty 简单使用
查看>>