当前位置: 首页 > news >正文

农业网站建设策划书17我们一起做网站

农业网站建设策划书,17我们一起做网站,男女做那个什么的视频网站,医药公司网站备案1、时代背景 5G应用#xff0c;多终端应用#xff0c;物联网应用#xff0c;小程序#xff0c;工业互联#xff0c;大数据应用等等大前端时代的到来#xff0c;程序员不能只关注crud#xff0c;因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说j…1、时代背景 5G应用多终端应用物联网应用小程序工业互联大数据应用等等大前端时代的到来程序员不能只关注crud因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说java高级工程师现在才能找到一份好工作。 NettyT-ioRedis、zookeeper、高性能http组件Nginx、java并发编程组件JUC包工作两年以后必须熟练掌握。 2、netty框架 Netty是Jboss提供的一个Java开源网络编程框架基于NIO的客户端、服务端编程框架既能快速开发高并发、高可用、高可靠的网络服务器也能开发客户端程序。 KafkaRocketMQes搜索引擎大数据处理Hadoop框架还有RPC框架Dubbo都是用了Netty框架。 Netty火热的原因提供了异步的、事件驱动的网络应用程序框架和工具。Netty的所有IO操作都是异步非阻塞的。和JDK提供的NIO相比Netty提供了更加丰富的api。 1api简单开发门槛低 2功能强大支持很多主流协议和自定义协议 3性能高和其他主流的NIO框架比Netty性能更高 4成熟生态好社区活跃并且修复了JDK当中Nio中所有已发现的bug 5面试加分巨加分几乎所有的中间件的高性能通信与传输都和Netty有关。 3高并发im项目 学习价值高并发的im系统具有相当大的挑战性对于传统的web开发者Springboot来说相当于进入了一个全新的天地。一个企业级的web的qps可能在1000以内大厂在上万而且基本上按照常用的调优思路多线程加缓存解耦优化sql就可以搞定秒杀场景除外而且大部分都是在干crud没啥意思。一个分布式的。高并发的IM系统的面临的QPS峰值可能在十万百万千万甚至上亿级别。如何规划项目架构如何规划服务器资源如果规划版本迭代如果设置操作系统参数来能够容纳更多的socket连接都非常考验程序员的基础知识。 4IO读写的基本原理 一个原则操作系统将内存划分为两部分一个是内核空间一个是用户空间。在linux操作系统中内核模块运行在内核空间相应的进程处在内核态用户程序运行在用户态对应的进程处于用户态。 内核态的进程可以访问内核空间也可以访问硬件设备磁盘网卡等调用系统的一切资源用户态的进程没有这样的权限也不能直接调用内核代码定义的函数。并且每个用户态的进程都有一个单独的用户空间他要想拿到内存或磁盘中的数据只有将进程切换到内核态然后向内核发出指令完成调用系统资源之类的操作。 用户态的进程进行系统调用后也不是直接就从硬件里把这些数据读出来了。从硬件里读数据是由操作系统来干的。 缓冲区的概念两个缓冲区内核缓冲区应用程序缓冲区。缓冲区的目的就是为了减少硬件之间频繁的物理交换。操作系统会对内核缓冲区进行监控等待缓冲区达到一定大小后再进行实际的物理设备的交换实际的io处理 io操作其实就是两个缓冲区之间的复制。 5io模型 服务端高并发IO编程往往要求的性能都非常高一般情况下需要选用高性能的IO模型。 四种io模型 同步阻塞io默认情况下在Java应用程序进程中所有对socket连接进行的IO操作都是同步阻塞IO。 简单的说就是在内核缓冲区获取数据的这个时间用户态进程得阻塞着什么也干不了。 在即时通讯项目里不会采用这种模型因为一般情况下是一个socket连接对应一个独立的线程如果用这种模型在高并发项目中需要很多的线程来维护大量的socet连接内存线程之间的切换开销会很大性能很低。 优点应用程序开发简单在阻塞等待数据的区间用户线程挂起基本不会占用太多的cpu资源。 同步非阻塞io 1在内核数据没有准备好的阶段用户线程发起IO请求时立即返回。所以为了读取最终的数据用户进程或者线程需要不断地发起IO系统调用 2内核数据到达后用户进程或者线程发起系统调用用户进程或者线程阻塞。内核开始复制数据它会将数据从内核缓冲区复制到用户缓冲区然后内核返回结果 3用户进程或者线程读到数据后才会解除阻塞状态重新运行起来。也就是说用户空间需要经过多次尝试才能保证最终真正读到数据而后继续执行。 同步非阻塞IO的优点是每次发起的IO系统调用在内核等待数据过程中可以立即返回用户线程不会阻塞实时性较好。 同步非阻塞IO的缺点是不断地轮询内核并且还会不断的进行用户态和系统态之间的切换这将占用大量的CPU时间效率低下。总体来说在高并发应用场景中同步非阻塞IO是性能很低的也是基本不可用的一般Web服务器都不使用这种IO模型。在Java的实际开发中不会涉及这种IO模型但是此模型还是有价值的其作用在于其他IO模型中可以使用非阻塞IO模型作为基础以实现其高性能。 IO多路复用 1选择器注册。首先将需要read操作的目标文件描述符socket连接提前注册到Linux的select/epoll选择器中在Java中所对应的选择器类是Selector类。然后开启整个IO多路复用模型的轮询流程。 2就绪状态的轮询。通过选择器的查询方法查询所有提前注册过的目标文件描述符socket连接的IO就绪状态。通过查询的系统调用内核会返回一个就绪的socket列表。当任何一个注册过的socket中的数据准备好或者就绪了就说明内核缓冲区有数据了内核将该socket加入就绪的列表中并且返回就绪事件。 3用户线程获得了就绪状态的列表后根据其中的socket连接发起read系统调用用户线程阻塞。内核开始复制数据将数据从内核缓冲区复制到用户缓冲区。 4复制完成后内核返回结果用户线程才会解除阻塞的状态用户线程读取到了数据继续执行。 IO多路复用模型的优点是一个选择器查询线程可以同时处理成千上万的网络连接所以用户程序不必创建大量的线程也不必维护这些线程从而大大减少了系统的开销。与一个线程维护一个连接的阻塞IO模式相比这一点是IO多路复用模型的最大优势。 异步io 增加了一个回调操作但是因为出现的晚jdk对于他的支持并不完善所以用的不多。 异步io模型是性能最高的一个模型。 目前高并发网络应用程序都是采用的io多路复用。 6即时通讯程序可能遇到的问题 1操作系统的限制 linux操作系统对文件的句柄数有限制是1024也就是说一个线程最多处理1024个socket连接这是远远不够的 2socket虽然是长链接但是他能一直保持连接吗 理论上是但是实际上不是所以我们在架构设计的时候就要考虑这种情况。 比如说服务器防火墙会关闭不活跃的连接最常见比如说由于网络丢包或者网络波动等等都可能造成socket的不正常关闭。 理论上讲关闭socket连接会有一个按钮比如说下线这个是正常关闭socket连接但是也百分之99的人不会点下线而是直接关闭整个app这个时候socket就是不正常关闭了不正常关闭会造成什么问题呢 socket不正常关闭会造成网络连接假死。 网络连接假死 如果底层的socket已经断开但是服务端并没有正常关闭服务端认为这条TCP连接仍然是存在的则该连接处于“假死”状态。连接假死的会造成什么问题 服务端长时间运行后会面临大量假死连接得不到正常释放的情况。由于每个连接都会耗费CPU和内存资源因此大量假死的连接会逐渐耗光服务器的资源使得服务器越来越慢IO处理效率越来越低最终导致服务器崩溃。 怎么解决呢客户端定时发送心跳检测、服务端定时进行空闲检测。 3分布式IM系统会有哪些问题 4IM系统部署建议使用传统的jar包部署 5用户将客户端进程关闭还怎么实现消息推送 方法1流氓做法几年前的方案 ios系统假后台因为有自己的推送中心所以socket服务器直接像苹果推送平台推消息就行了但是安卓没有国内给禁了前几年基本上都是采用的流氓的做法后台偷偷唤醒app进程或者别的app启动时唤醒其他app的进程。 方法2采用推送平台比如说极光推送对接统一推送联盟 chatService架构 注意正常的socket服务的序列化协议应该采用ProtobufProtobuf是最高效的二进制序列化协议但是学习阶段先用json。json是最紧凑的文本协议。
http://www.w-s-a.com/news/28580/

相关文章:

  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作
  • 做网站要准备的需求asp 网站后台
  • 滨州网站开发公司中立建设集团有限公司网站
  • 泰安建设厅网站做网站为什么要建站点
  • 有什么好的手机推荐网站创建网站需要哪些工作
  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书
  • 大连哪里有手机自适应网站建设公司网站介绍模板 html
  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角