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

商业网站建设常识新浪微博 wordpress插件

商业网站建设常识,新浪微博 wordpress插件,全国企业名称注册查询,.net网站空间背 景 随着互联网技术的发展#xff0c;越来越多的企业和开发者开始寻求更高效、更稳定的通信解决方案。在这种背景下#xff0c;WebSocket协议应运而生。WebSocket是一种在单个TCP连接上进行全双工通信的协议#xff0c;它可以实现服务器和客户端之间的实时数据交换#…背 景 随着互联网技术的发展越来越多的企业和开发者开始寻求更高效、更稳定的通信解决方案。在这种背景下WebSocket协议应运而生。WebSocket是一种在单个TCP连接上进行全双工通信的协议它可以实现服务器和客户端之间的实时数据交换提高了通信效率降低了延迟。在金融、物联网等领域数据的实时是非常重要的传统的数据处理方式需要将数据打包成HTTP请求发送给服务器然后等待服务器返回结果。这种方式效率低下无法满足实时数据分析处理的需求。而WebSocket协议可以实现服务器和客户端之间的实时数据交换使得数据服务请求响应更加高效。 粉丝福利 免费领取C音视频学习资料包学习路线大纲、技术视频/代码内容包括音视频开发面试题FFmpeg webRTC rtmp hls rtsp ffplay 编解码推拉流srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓ Websocket的概念 WebSocket是一种在单个TCP连接上进行全双工通信的网络协议。经过一次TCP握手就可以直接创建持久性连接进而可实现服务端和客户端双向数据传输。Websocket建立一次连接后可以保持长时间的通信会话链路复用减少握手次数从而能够满足业务上需要实时性和即时更新的功能。 Websocket的应用场景 拿到一个问题评估考虑是否使用WebSocket的技术方法很简单总结起来主要为以下两点 1应用需要提供多个用户相互交流吗 2应用需要动态实时展示服务器端经常变动的数据吗 如果符合上面的场景就可以尝试考虑使用WebSocket来进行解决。当前Websocket的主要场景有以下几个。 在线聊天文档编辑协作在线游戏文件类传输 Websocket特点 1基于熟悉的 TCP 协议之上服务端可实现方式多样丰富 2能与 HTTP 协议良好的兼容。默认端口也是80和443握手采用 HTTP 协议通过协议提升交互实现连接建立 3数据报文格式轻量性能好通信交互高效。 4即支持文本也可以发送二进制流。 5协议标识符:ws同比与httphttps, ws加密后的协议标识是wss。 项目实施中面临的问题和挑战 1当前开发技术栈主要是开发restful接口服务整个开发组都是都习惯于restful服务的接口开发对Websocket 协议不熟落地到应用有很多未知风险及问题。 2对安全性考虑新的协议模式存在认知盲区。对于习惯的restful接口开发我们比较熟悉的而且一直在使用的就是OPENAPI统一接入规范OAUTH进行鉴权。采用WebSocket新的协议来开发接口实现业务需求怎么保证安全性缺乏先验经验。 3在现代多媒体应用中音视频处理是一个重要的组成部分音视频处理领域相对独立且较为小众并非每个开发者都会关注到这个知识点。开发人员在处理音视频这块知识储备不够经验不足。领域独立小众的特点并不是每个开发者都会去关注的知识点。 4弱网下如何保证消息及时发送成功送达用户在网络通畅的情况下没问题一到弱网服务传输就变慢卡顿。很多场景用户处于弱网环境下极易导致消息堵塞如何保证服务正常是一大难点。 技术实现 搭建基础框架首先我们后台服务基于内部开发脚手架SDK, 采用基于java 原生spring boot混合的方式实现了WebSocket服务基座提供音视频接收处理服务。整个后台服务同时支持HTTP接口类的服务和Websocket 长连接。HTTP接口服务主要服务于传统业务交易流程Websocket连接主要服务需要进行长连接传输的业务场景。 图1 后端wesocket服务框架 WebSockets协议交互过程的每个步骤的详细说明如下 1Client向Server发送Handshake Request握手请求Client发送一个HTTP请求其中包含特定的头部信息以表明希望升级到WebSocket协议。 2Server返回Handshake Response握手响应Server接收到握手请求后会返回一个HTTP响应其中包含与WebSocket相关的头部信息以表示握手成功并升级到WebSocket协议。这个响应通常称为”握手确认”。 3Data Transfer数据传输一旦握手成功双方之间建立了持久连接可以进行全双工的数据传输。Client和Server可以通过该连接发送和接收数据。 4WebSocket FramesWebSocket帧在WebSocket连接上进行数据传输时数据被分割成小块每个小块被封装在WebSocket帧中。WebSocket帧有不同的类型和标志用于指示消息的开始、结束、类型等信息。 5Connection连接持久连接保持打开状态直到任一端关闭连接或发生错误。双方可以随时发送和接收数据实现实时的数据交换。 图 2 Websocket协议及数据交互过程 后台启动服务后前端开始来进行建立连接建立请求到达后台后后台先进行校验合法性合法性校验成功后返回前端链接建立成功。此时前后端 WSS连接通道创建成功。然后前端就可以开始传送视频帧或者图片帧这一请求俗称推流。推流可以有不同的工具实现例如ffmpegOBS推流或者前端按照频率截取摄像机图片帧后端接收前端推的流后进行业务处理例如保存转码合成录制等服务。交易完成后前后端开始关闭长连接。在传输视频图片帧的时候还可以进行消息通信完成我们熟悉的http文本消息发送。 针对安全性接口安全设计鉴权方面参考了现有的OPENAPI,OAUTH鉴权机制同时针对Websocket连接的特点增加了其他安全性校验系统稳健性方面系统支持当个渠道及总体wss连接数限流避免单机连接数耗尽。同时我们也加强了对单机WSS总连接数的监控具体实现及实施过程想了解可以内部联系沟通讨论。 音视频处理模块这块我们深感知识缺乏好在我们保持一种遇到问题解决问题的心态一步一步摸索走出了一条在我们熟悉的java 语言下利用 ffmpegjavacv 方式来处理音视频的道路。例如我们可以用ffmpeg来进行视频中的音频提取使用javacv来进行图片到视频的转码录制服务。当前已经调研并实现了绝大数音视频相关的编辑处理服务并提供标准化接入接口方便接入及使用。此外在分辨率提升方面也积累了相关经验。 图 3内部实现的音视频处理服务 在系统架构的设计上我们采取了一种策略性的拆分方法将系统的各个功能模块进行了细致的拆分和分类。特别是对于那些计算密集IO密集型的模块我们将其独立出来形成了一个独立的子系统专门负责处理图片、视频帧以及音频等相关的计算任务。这个子系统就是我们的”媒体服务”模块。通过这样的拆分我们成功地将媒体服务模块与其他的业务交易系统分离开来这样不仅可以避免两个系统之间的相互干扰还可以更有效地进行系统的维护和升级。这种拆分方法为系统的稳定运行提供了有力的保障。 图4 内部服务子系统拆分 在当今高度数字化的世界确保信息在弱网环境下的及时发送和成功送达已经成为了一个重要的挑战。许多用户在日常生活中的许多场景中都可能遇到网络不稳定的情况如在家中的无线网络覆盖范围边缘、地铁隧道中或山区等。这些问题可能导致消息堵塞影响用户体验。为了解决这个问题我们可以采取一系列的策略和技术手段。在报文传输优化方面最开始我们采用的是request reponse 的方式后来在使用过程中我们发现如果每一帧都回复响应会导致客户端消息拥塞。当整个链路同时在进行音视频帧传输文本消息发送过程中表现更为明显。针对此问题我们进行了两个方面的优化首先减少每次交互的报文大小及字段对端缓存相关业务参数字段只进行最少次数的传输只传输必须要的字段。其次我们减少了确认帧报文的发送从每帧都回复确认帧改为后台服务每隔一定时间才返回对应帧响应设计并实现一套合并确认的算法机制减轻了整个通道消息量减少前端因对响应报文帧的处理而导致系统卡顿。以上两点优化一定程度上优化了用户在弱网下的服务体验。 在网络连接的管理策略中我们设计定义了一套探活机制该机制能够实时监测前后端服务的状态。一旦发现连接在一定时间内没有响应我们会立即对其进行剔除关闭连接以防止连接数的过度积累从而确保系统的稳定运行。此外我们还对系统单机连接总数做了专门监控。持久连接都会在创建后及时进行关闭。连接的创建关闭机制以及监控机制为系统的高效运行奠定了坚实的基础。 项目启发 1积累技术沉淀技术多做分享总结 一回生二回熟越深入了解就越熟悉就会越得心应手。产出相关文档相互学习借鉴减少未知知识壁垒障碍。在调研提升Websocket服务tps时我们进行对比不同Web容器tomcat,jetty,netty性能的分析得到了不同容器适合的场景 在websocket下如何保证安全性我们进行深入分析调研这些都为未来其他类似业务的开展提供数据及经验以参考Websocket 服务搭建及应用也体现了我们脚手架SDK 的灵活性能够在不同场景切换自如。 2稳定为首 如果涉及已有服务改造为了保证稳定切换时应该要考虑服务异常降级考虑支持多协议间降级切换。确保Websocket服务异常的时候能切换到备份服务如http服务或使用其他服务来承载该服务功能。 3敢做敢想慎行 做的时候就担心图片合成视频可能会是性能瓶颈就感觉到实施起来比较困难。面对未知时唯一做的大胆尝试小心求证。最后经过多次优化图片合成视频耗时降低到ms级别相比业务总体总耗时这点时间已经不是主要问题而且我们的服务做到图片视频分辨率可控调整按需提升。 未来规划 随着当前业务请求Websocket模式调用量上涨结合当前业务开展遇到的问题以及客户提出的述求当前和未来规划如下。 低带宽。当前Websocket通信模式客户端带宽占用比较高Websocket通信模式需要优化带宽调研新的数据包协议进一步优化以降低用户的带宽使用。高分辨率。某些场景下WS模式的清晰度还不够还需要调研进一步提升图片视频的清晰度以支持客户的对高分辨率的追求。丰富的多媒体化。单通道媒体文件优化当前只有图片通道后续考虑音频等单连接多数据通路或者多连接多数据通道同时支持多种媒体文件如图片帧音频帧的收发以便支持更多业务类型。低延时。后续考虑调研使用更高性能的GPU进行图片视频转换进一步提升视频图片处理效率。 粉丝福利 免费领取C音视频学习资料包学习路线大纲、技术视频/代码内容包括音视频开发面试题FFmpeg webRTC rtmp hls rtsp ffplay 编解码推拉流srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓
http://www.pierceye.com/news/357465/

相关文章:

  • 增城做网站站长之家域名查询大全
  • 个人网站建设报价做游戏出租的网站好
  • 珠海网站建设公司哪家好织梦网站怎么做下载地址
  • 西安商城网站建设公司宁夏住宅建设发展公司网站
  • 网站建设实现用户登录济南网站建设找老兵
  • 做网站还挣钱吗成都网站设计策划免费
  • 阿里云服务器怎么放网站百度开户渠道商哪里找
  • 网赢天下深圳网站建设建设一个小说网站
  • 北湖区网站建设哪家好什么做网站的公司好
  • 做司法亲子鉴定网站专业设计服务网站
  • 网站建设排序题wordpress菜单左对齐
  • 太原网站建设方案维护北京网站建设东轩seo
  • 网站弹屏广告怎么做的自适应网站建设特点
  • 有一个网站专门做民宿做数据可视化图的网站
  • 手机产品 网站建设网站建设费怎么记账
  • 网站页面设计好了后台如何添加构建平台还是搭建平台
  • 公司展示类网站模板中国校园网站做的比较好的学校
  • 锡山建设局网站白云做网站的公
  • 上海网站制作软件wordpress 访问控制
  • 西部数码助手网站后台管理优秀的包装设计案例
  • 建站教学做门户网站怎么赚钱
  • 怎么自己编程做网站成都住建平台
  • 林州二建集团建设有限公司网站免费做链接的app有哪些
  • 建设企业网站企业网上银行登录官网宁波网站建设公司名单推荐
  • 网站直播用php怎么做的书城网站开发的参考文献
  • 广州免费自助建站平台韩国出线了吗
  • asp.net网站开发实训爆款采集推广引流软件
  • 怎么把自己做的网站挂到外网上中文 网站模板
  • 篮球运动装备网站模板昆明网站seo多少钱
  • 建筑网站起名wordpress评论折叠