自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(329)
  • 问答 (5)
  • 收藏
  • 关注

转载 数据库高可用

数据库的工作原理数据库内部其实有缓冲区,在缓冲区中的数据是待处理的数据,数据库源源不断地从缓冲区中获取数据进行处理,但是如果并发压力高了,会造成数据缓冲区数据溢出,最终导致数据库宕机,不能正常响应。这种现象无法根治,只能想办法缓解。那么有什么好的策略呢?数据库要实现高可用需要解决如下的问题1数据库的信息如何实现同步2用户如何选择连接哪个数据库3数据库宕机后如何实现高可用(尽可...

2019-11-09 11:12:12 239

转载 Ubuntu开机自启动的两种方法总结

一.第一种方法1,新建个脚本文件new_service.sh #!/bin/bash # command content exit 0 2,设置权限sudo chmod 755 new_service.sh3,把脚本放置到启动目录下sudo mv new_service.sh /etc/init.d/4,将脚本添加到启动脚本...

2019-10-27 14:49:56 318

原创 Centos7中配置Redis集群为开机自启动

vim /etc/init.d/redisc将下方脚本写入redisc文件中#!/bin/sh# chkconfig: 2345 80 90## Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.IP=192.168.6.51...

2019-10-25 23:58:53 748

转载 高性能服务端优化之路

业务场景达达是全国领先的最后三公里物流配送平台。达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题。达达业务主要包含两部分:商家发单,配送员接单配送,如下图所示。达达的业务规模增长极大,在1年左右的时间从零增长到每天近百万单,给后端带来极大的访问压力。压力主要分为两类:读压力、写压力。读压力来源于配送员在APP中抢单,高频刷新...

2019-10-21 15:50:09 112

原创 srs之深入浅出看流媒体

CDN这几年爆炸式增长,带宽提速是根源,而HTTP始终还是那个屌样,因此目前CDN大多是资本性行业,不用多少知识就能干了;直到流媒体粗现,直播咋这么难搞呢?因为它是流媒体,让我带你深入浅出看流媒体前世今生,分分钟二逼变牛逼。流媒体分为点播和直播,点播已经堕落为HTTP文件了,直播永远不可能只用HTTP就OK,这是他们的业务差异导致的。流媒体本质上是:现实的图像,经过编码器压缩,持久化为点播文件...

2019-10-18 16:15:00 1443

转载 进击的WebRTC

有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年。去年,WebRTC 1.0 标准草案出炉,并将于今年正式发布。与此同时,越来越多的浏览器和厂商都开始对它进行广泛的支持,WebRTC 即将成为互联网的基础设施了。根据腾讯全球合作伙伴大会上发布的《2017 年微信数据报告》显示,截止到 2017 年 9 月,微信日成功通话次数 2.05 次,月人均通话...

2019-10-18 15:35:07 318

转载 MQ - 消息队列中点对点模型与发布/订阅模式的区别

背景知识JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1.Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异...

2019-10-17 14:50:29 442

转载 消息队列的使用场景及优缺点?

(1)为什么使用消息队列啊?其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用MQ可能会很麻烦,但是你现在用了MQ之后带给了你很多的好处先说一下消息队列的常见使用场景吧,其实场景有很多,但是比较核心的有3个:解耦、异步、削峰...

2019-10-15 17:02:29 1258

转载 初识流媒体与流媒体技术

流媒体  流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。  这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。  流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看...

2019-10-12 15:33:58 592

转载 流媒体与直播技术

一、基本概念1、流媒体流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。  这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。 流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像...

2019-10-12 15:21:44 1439

转载 如何实现视频直播的低延时?RTMP和WebRTC的优劣何在?

直播中的卡顿、延时会大大影响用户的体验,那么我们可以从哪些方面实现低延时?优化视频直播中的延时,可以通过下面几个环节:采集,编码,推流,转码,分发,拉流,解码和渲染。在一个实时的音视频系统架构里,每个环节都会有一定程度的优化空间。RTMP和WebRTC的优劣何在?目前国内主流的低延时框架是RTMP。RTMP是基于TCP的标准协议,CDN网络普遍支持,也能做到相对比较低的延迟。在推流...

2019-10-12 15:17:44 2556

转载 RTMP、WebRTC、UDP 三种互动直播方案的优劣比较

据《 2017 年中国直播行业研究报告》显示,直播行业用户人数达到了 4.2 亿,同比增速超过 50%,整体直播市场的总营收达到 304.5 亿元,比去年同期增长近 39%。直播作为一种新兴社交方式,已然成为一项互联网基础应用,也成为技术大牛们探索更高效轻量的技术方案的新阵地。由于用户对社交互动的强烈需求,“互动直播”已成为直播发展趋势。通过视频连麦,用户之间可以进行视频互动,达到更深层次...

2019-10-12 15:17:19 2969

原创 区块链技术开发在商业应用上的四大优势

区块链技术开发在商业应用上的四大优势1、安全可信区块链技术开发的节点合约内容记录在链上,内容得到多个节点公认,篡改、删除内容几乎不可能。这就保证了商业信息可靠,免除复杂的合作审核流程,促进商业合作快速对接!2、高效执行因为区块链技术开发采用源生代码,一旦现实中的情况触发了合约里的某个条件,那么相关条款将由系统自动执行,从而避免传统商业合作执行效率慢的问题。区块链技术开发用信任撮合机...

2019-10-12 14:20:14 603

转载 Java 进行 RSA 加解密时不得不考虑到的那些事儿

1. 加密的系统不要具备解密的功能,否则 RSA 可能不太合适公钥加密,私钥解密。加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密文数据。否则的话,你就要考虑你的场景是否有必要用 RSA 了。2. 可以通过修改生成密钥的长度来调整密文长度生成密文的长度等于密钥长度。密钥长度越大,生成密文的长度也就越大,加密的...

2019-10-12 11:51:05 875

转载 RTMP、HTTP-FLV、HLS,常见的三大直播协议

随着直播行业大火,游戏、乐秀、教育、发布会等直播类产品层出不穷,能够满足各方人员的需求。在直播中,总能在其中找到适合自己的产品内容。喜欢玩游戏的可以看游戏直播,想学点工作技能的,也可以观看大牛现场授课,甚至你能通过直播跟各大主播实时互动。看了这么多直播,你好像发现了一个小秘密,不同类型的直播延时有所不同,像与主播实时互动的一般延迟比较短,而相对的,在线教育这一类就比较长了。这就是我今天想给大家讲解...

2019-10-09 15:44:56 1155

转载 基于任务的异步编程-你需要了解的八种优化方式

很多编程工作都设计启动并回应异步任务。如分布式程序以及运行在多台计算机或虚拟机的程序。这些程序可能要跨越多个线程、进程、容器、虚拟机或物理机。然而异步编程并不等同于多线程编程。这个大家应该要了解。异步编程是开发者必须掌握的一个技能。今天主要和大家分享一下基于任务的异步编程的优化方式。异步方法处理方式1、使用异步方法执行异步操作异步方法可以更轻松地构建异步算法。这里我们来了解下其核...

2019-10-08 15:29:20 201

转载 Nginx虚拟目录alias和root目录

nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;2)root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;3)使用alias标签的目录块中不能使用rewr...

2019-09-20 16:19:12 124

原创 Windows下用FFmpeg+nginx+rtmp/HLS搭建直播/点播环境 实现推流、拉流

1.环境开发环境:windows开发工具:FFmpeg、nginx、nginx-rmtp-module简介:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问ng...

2019-09-18 15:33:35 3801

转载 分布式定时任务调度框架

1. 目标把定时任务通过集群的方式进行管理调度,并采用分布式部署,保证系统的高可用,提高了容错。那么如何保证定时任务只在集群的某一个节点上执行,或者一个任务如何拆分为多个独立的任务项,由分布式的机器去分别执行, 众多的定时任务如何统一管理,现在有很多成熟的分布式定时任务框架,都能很好的实现上述的功能。2. 调度框架2.1 Quartz 介绍 Quartz集群中每个节点都是一个单...

2019-09-18 09:21:18 1061 1

转载 数据库连接池的几个参数-以tomcat-jdbc举例

在某次大范围网络变更中,有些应用出现了数据库连接在网络恢复后不能自动恢复的情况,只有重启解决。这一般是数据库连接池配置不合理引起的,那么我们就拿tomcat-jdbc为例看看数据库连接池配置的一些注意事项。对于数据库连接这种比较重的资源,我们在使用中一般都会进行池化,也就是我们会将创建好的数据库连接放到池子里,当我们需要使用的时候从池子里取,而不是创建新的(当然,是不是创建新的也要看连接池的配...

2019-09-17 14:51:40 877

转载 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)

背景对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池。 NOTE: 本文所有测试均是MySQL库测试结论 1:性能方面hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益于最大限度的避免锁竞争。 2:druid功能最为全面,sql拦截...

2019-09-17 10:19:13 101

原创 window中bat脚本启动jar服务

@echo off@echo 启动basicsset today=%date:~0,4%-%date:~5,2%-%date:~8,2%javaw -Dfile.encoding=utf-8 -jar nelda-basics-1.0.jar >basicslog%today%.out@echo 启动网关basics完毕call exit@echo off@ec...

2019-09-17 09:39:48 460

原创 HLS/RTSP/RTMP 三个流媒体协议的区别

HLS/RTSP/RTMP 三个流媒体协议的区别HLS( HTTP Live Streaming)苹果公司提出的流媒体协议,直接把流媒体切片成一段段,信息保存到 m3u 列表文件中,可以将不同速率的版本切成相应的片。播放器可以直接使用 HTTP 协议请求流数据,可以在不同速率的版本间自由切换,实现无缝播放,省去使用其他协议的烦恼。缺点是延迟大小受切片大小影响,不适合直播,适合视频点播。RT...

2019-09-05 20:36:42 448

原创 JAVA8 十大新特性详解

1. 简介毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用。这个教程包含Java开发者经常面对的几类问题:语言 编译器 库 工具 运行时(JVM)2. Java语言的新特性Java 8是Java的一个...

2019-08-26 13:38:56 144

转载 kafka系统设计开篇

MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的态度往往是重要不紧急。使用消息队列有以下好处:业务解耦、流量削峰、灵活扩展。接下来介绍消息中间件Kafka。Kafka是什么?Kafka是一个分布式的消息引擎。具有以下特征 能够发布和订阅消息流(类似于消息队列) 以容错的、持久的方式存储消息流 多分区概念,提高了并行能力 K...

2019-08-23 13:46:52 122

原创 分布式系统解析之分布式系统常用优化思路

分布式系统优化的思路方向一: 尽可能减少跨机间的网络传输量,尽量优化传输耗时.原因是1G带宽下传输1M耗时20微妙, 而锁操作一次25ns,两者有1000倍的差距,在分布式环境下,网络传输会成为性能瓶颈. 在处理分布式事务时更明显.优化方法有:方法一:通过同步复制, 将跨机操作转为本机操作,即将跨机的数据拷贝到 机器本地去处理.把跨机器的join操作,通过将小表复制到大表所在机器,将...

2019-08-23 11:38:28 1470

转载 sql优化工具使用之explain

关于sql优化,这个话题太大,我怕我说不好,因此本文仅以sql优化工具为题,如果对sql优化有兴趣,我建议去阅读下高性能Mysql这本书,我最近也在读,此文也算是我在阅读此书过程中的一些收获总结。对于大部分开发人员来说,平常接触的无非就是增删改查这些基本操作,创建存储过程,视图等等都是DBA该干的活,但是想要把这些基本操作写的近乎完美也是一件难事。而explain显示了MySQL如何使用索引来...

2019-08-23 11:29:15 226

原创 btree索引和hash索引的区别

btree索引和hash索引的区别Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任...

2019-08-22 14:42:49 111

转载 sql-哪些情况需要创建索引

1.主键自动建立唯一索引;2.频繁作为查询条件的字段应该创建索引;3.查询中与其他表有关联的字段,例如外键关系;4.频繁更新的字段不适合创建索引,因为每次更新不单单是更新记录,还会更新索引,保存索引文件;5.where条件里用不到的字段,不创建索引;6.高并发的情况下一般选择复合索引;7.查询中排序的字段创建索引将大大提高排序的速度(索引就是...

2019-08-22 14:35:03 957

转载 ES报错 [FORBIDDEN/12/index read-only / allow delete (api)] - read only elasticsearch indices

es单元测试时报:[FORBIDDEN/12/index read-only / allow delete (api)] - read only elasticsearch indicesElasticSearch进入“只读”模式,节点无法更改官方论坛找到的答案如下:我先是在Kibana执行结果还是不行继续找答案stackoverflow的答案地址:https://...

2019-08-22 14:24:47 427

转载 SQL常见优化Sql查询性能的方法

看到一篇非常全面的SQL优化文章,在开发的工作中往往不考虑性能上的缺失(在一开始的时候数据量不大也看不出速度上的区别)。但写的越多越应该规范一下写法。数据库的优化问题一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速...

2019-08-22 14:02:56 345

原创 高级开发工程师面试必备十项技能

每一位程序员都有一个成长的过程。再成长了几年之后,相信每位程序员都有一颗成为一个高级工程师的梦想。那么在我们面试的时候,高级开发工程师必须要会哪些技能呢?笔者以个人亲身的工作经历,和大家分析以下高级开发工程师的必备技能。必备技能一:内存回收。内存回收机制是一个基础的理论知识。在常用的高级语言中,JAVA和.NET 都有垃圾自动回收机制。而C/C++内存回收需要手动写代码进行回收。无论你用...

2019-08-22 13:51:53 1504 1

原创 Nacos的数据持久化

数据持久化在之前的教程中,我们对于Nacos服务端自身并没有做过什么特殊的配置,一切均以默认的单机模式运行,完成了上述所有功能的学习。但是,Nacos的单机运行模式仅适用于学习与测试环境,对于有高可用要求的生产环境显然是不合适的。那么,我们是否可以直接启动多个单机模式的Nacos,然后客户端指定多个Nacos节点就可以实现高可用吗?答案是否定的。在搭建Nacos集群之前,我们需要先修改Na...

2019-08-22 08:56:19 4546

原创 java处理Hex编码解码

public class HexUtils { public static void main(String[] args) throws Exception{ String mmm = "安全帽检测NEW"; String eeew = "192.168.1.13-0"; String bbbb = "895B68513D5EC0...

2019-08-16 13:52:09 15794

转载 游戏服务器特征

一、游戏服务器特征游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。功能约束,是架构设计决定性因素。基于游戏业务的功能特征,对服务器端系统来说...

2019-08-16 11:48:24 728

转载 java 字符串的编码与C#的区别

1, 字符串 转换为字节数组 时的区别。 JAVA: 当我们使用方法 getBytes() 转换为byte数组时 如:使用UTF-8 时: String str="我是中国人";byte[] result=str.getBytes("utf-8");输出结果为:[-26, -120, -111, -26, -104, -81, -28, -72, -83, -27, ...

2019-08-16 11:39:34 945

原创 分布式定时任务

分布式定时任务1,什么是分布式定时任务;2,为什么要采用分布式定时任务;3,怎么样设计实现一个分布式定时任务;4,当前比较流行的分布式定时任务框架;1,什么是分布式定时任务: 首先,我们要了解计划任务这个概念,计划任务是指由计划的定时运行或者周期性运行的程序。我们最常见的就是Linux的‘crontab’和Windows的‘计划任务’。 那么什么是分布式定时任务,个人总结为...

2019-08-02 16:46:10 9587

转载 nginx timeout 配置 全局timeout 局部timeout web timeout

nginx timeout 配置 全局timeout 局部timeout web timeoutnginx比较强大,可以针对单个域名请求做出单个连接超时的配置.比如些动态解释和静态解释可以根据业务的需求配置proxy_connect_timeout:后端服务器连接的超时时间_发起握手等候响应超时时间proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已...

2019-08-02 15:22:00 564

转载 (websocket)协议中Ping Pong,Socket通讯ping pong(长连接),心跳包

-- Socket读写数据:流Socket,数据包Socket。? 1.流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。 2.数据报套接字(SO...

2019-07-19 10:25:32 13527

转载 RabbitMQ如何解决各种情况下丢数据的问题

RabbitMQ如何解决各种情况下丢数据的问题1.生产者丢数据生产者的消息没有投递到MQ中怎么办?从生产者弄丢数据这个角度来看,RabbitMQ提供transaction和confirm模式来确保生产者不丢消息。transaction机制就是说,发送消息前,开启事物(channel.txSelect()),然后发送消息,如果发送过程中出现什么异常,事物就会回滚(channel.tx...

2019-07-09 17:23:43 1200

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除