自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简单生活

点点滴滴

  • 博客(153)
  • 资源 (15)
  • 收藏
  • 关注

原创 media-soup信令与代码流程分析

这篇文章是对mediasoup代码分析的一个总结,总结的相对简单,仅是对学习过程的一个记录,更详细的介绍请参考文末参考文章的介绍mediasoup总体的架构分为两个层次,nodejs层和C++层。nodejs负责信令处理和房间管理,信令部分主要是入会、离会、SDP协商、连接通道建立等,房间管理nodejs是用的protoo,不熟悉的朋友墙裂建议阅读下protoo,protoo已经为我们实现了room、peer的建立、管理等操作,还可以在peer上注册自定义事件,mediasoup很多信令(join、crea

2022-06-10 11:23:42 1557 2

原创 WebRTC带宽估计

整体架构上面这张图是一个比较老的架构图,但是也基本能说明整体架构,早期webrtc版本带宽估计是放到接收端处理,目前最新版本带宽估计放到了发送端,但是接收端计算得到的带宽并没有废弃,而是通过rtcp remb反馈给发送端。在发送端带宽估计由3个元素结合决定,基于丢包率估算的带宽(丢包率通过rtcp rr得到)、接收端的remb反馈的带宽、发送端带宽估计(方法类似于接收端的带宽估计,具体逻辑下面会介绍到),取三者带宽的最小值作为最终带宽估计值。接口说明rrhttps://tools..

2021-03-28 09:49:31 4867 4

原创 SDP

协议汇总webrtc依赖的服务有如下几种signaling信令服务器,交换房间和会议的媒体信息,以及会议期间的消息,媒体描述使用的是SDP协议 ICE服务器,STUN和TURN,ICE的信息叫Candidate,可以通过SDP交换,或者通过Trickle SFU和MCU服务器SDP协议:1998-RFC2327,2006-RFC4566,例子(https://webrtchacks.com/sdp-anatomy/?spm=ata.13261165.0.0.41035c8c9sVCVD)S

2020-12-12 20:55:39 762

原创 WebRTC-RTP/RTCP协议分析

RTP:RFC3550SRTP(安全):RFC3711主要字段说明P(padding):1 比特,若填充比特被设置,则此包包含一到多个附加在末端的填充比特,填充比特不算作负载的一部分。填充的最后一个字节指明可以忽略多少个填充字节。填充可能用于某些具有固定长度的加密算法,或者用于在底层数据单元中传输多个RTP包。由于Opus的包大小差不太多,但又不完全一样,所以会出现很多大小差不多却又不一样的小包,这对于服务器GSO发送这些包会带来很大的困难,所以通过增加几个字节的padding,可以

2020-12-10 20:30:54 2238 1

原创 分布式事务

短事务强一致性2阶段提交协议TCC协议3阶段提交协议开源实现阿里seata上面提到的3个一致性协议,比较适用于短事务以保证期强一致性,在使用过程中,容易影响性能和可用性微服务时代的事务处理原则假定网络或者服务是不可靠的 将全局事务建模成一组本地ACID事务 引入事务补偿机制处理失败场景 事务始终处在一个明确的状态(不管成功还是失败) 最终一致性 考虑隔离性 考虑幂等性 异步响应式,尽量避免直接同步调用协同saga依赖执行和回滚状态机...

2020-10-25 20:31:27 88

原创 数据库架构设计要点

数据库架构设计要点如何解决数据量大的问题主要的解决思路是垂直拆分和水平拆分,如何进行拆分也需要和业务紧密绑定在一起,至于细节后面再写文章单独讨论。水平拆分后,势必引入新的问题如何对数据进行路由,大体有2种思路算:一致性hash、取余 查:新增路由服务,每次访问数据库之前多一次查询操作高可用常用的高可用方案就是冗余,数据库也不例外读高可用优点:读写分离,提升性能缺点:数据一致性的问题读写高可用方案一优点:读写分离,提升性能缺点:写库也采用了冗余,但.

2020-10-10 20:30:19 362

原创 分布式点滴记录

秒杀系统 分布式事务 数据相关知识点 分布式锁

2020-01-01 14:37:24 151

原创 zookeeper的应用

zookeeper的应用上一篇文章《分布式系统---分布式一致性协议》http://blog.csdn.net/beginning1126/article/details/52901547中,主要阐述了paxos和zab协议,阐明zookeeper的工作原理。下面主要来聊聊zookeeper在实际生产环境中,能帮助我们做哪些事情。zookeeper特性目前很多大型的开源项目都在使用

2016-10-28 17:10:48 1015

原创 分布式系统---分布式一致性协议

两阶段提交协议三阶段提交协议Paxos算法zookeeper一致性协议:zab

2016-10-25 13:07:21 2249

原创 cgroup 详解

cgroup:对进程进行分组,在对分组整体进行资源的分配和控制概念task:一个进程hierarchy:层级cgroup形成树形结构,每个节点都是一个进程组,子节点是父节点进程组的子集,并继承父节点属性,根部节点为root group(为系统所有进程)进程创建子进程,默认该子进程与父进程同处于同一个进程组中,但是可以随意挪动子进程所处的cgroup一个进程不同处于同一个层级上的

2016-10-21 11:25:52 5880

原创 hadoop---hdfs

hdfshdfs概念block类似于unix文件系统,hdfs也有block的概念,默认是128MB,但是和unix文件系统不同的是,1个1MB的文件,不会占用一个block的全部大小,仍然只占用1MB空间。block的用途:一个大文件会被分割为多个block,这样一个大文件如果在单机存储不下,可以分割成小的block分若干台机器存储每个block大小相同,存储管理会简

2016-10-18 15:03:51 571

原创 hadoop---概述

记得几年前,研究过一段时间hadoop,当时研究的还很浅显,理解也不深入,准备接下来的一个月,结合这几年的工作经验,重新梳理一下hadoop目前能想到的hadoop知识点包括:环境搭建(略过)eclipse maven环境搭建(略过)hdfs,系统架构、常用命令、本地api接口、远程api接口、源码分析mapreducehbasezookeeper其它相关项目接下来会根据以

2016-10-18 11:41:06 359

原创 https 研究一

主要介绍了ssl、https、https性能调优、nginx https配置、https libcurl客户端的编写

2016-04-05 14:42:11 1791

原创 redis 集群方案

redis集群方案前端时间粗略的调研了一下redis集群方案,研究的不算深入,还有很多问题没有想明白,暂时把已经调研的清楚的记录下来。redis集群方案,主要有4种方案client、twemproxy、codis、redis3.0 cluster。需要考虑的点包括:集群性能、redis ha、扩容、迁移、client友好程度一、client端负载均衡方案可以将redis

2015-11-25 13:32:27 977

原创 libev / libuv / python tornado / nginx 性能比较

libev / libuv / python tornado / nginx  性能比较最近项目要找一款web 框架,性能是一个很大的指标,在选型的同时,做了一些性能比较,现将测试代码和比较结果和大家分享一下。说到web 框架,很多人会想到tomcat、jetty,基于java的最常用的两种web server,其性能无法与nginx相比较,在此略过测试环境:cpu:2.0G HZ

2015-10-27 19:06:36 9446

原创 Linux 生成 core 文件的方法

临时修改:ulimit -c unlimitedecho "/corefile/core.%t.%e.%p.%s" > /proc/sys/kernel/core_patternecho 1 /proc/sys/kernel/core_uses_pid这样临时修改的项目,如果切换shell,或者机器reboot,则设置失效,下面给出永久设置的方法永久修改:...

2015-10-13 11:45:59 1036

原创 openstack性能测试用例和测试结果

之前分享过kvm性能优化方案,http://blog.csdn.net/beginning1126/article/details/41983547这篇文章,今天将在实验室测试的测试用例和测试结果分析一并贡献出来,有这方面研究的同学可以参考一下。用例名称测试步骤期待结果实测结果备注并发测试用例1在单台host上分别起1台vm,8核cpu,在v

2015-05-28 13:29:28 7540

原创 nio client和netty server实例

花了一周时间,研究了java里面的nio和netty,其实nio很好理解,用过c语言的,都应该知道select和epoll,nio和select和epoll非常类似,使用方法和解决的问题也都是一样的。至于netty,不得不钦佩java语言的框架技术,虽说这个框架研究起来非常费劲,但是对于上层使用者,使用这个netty框架,会帮我们解决很多性能、稳定性问题。同时,使用框架,也会大大提高开发效率。

2015-05-09 16:01:55 12363

转载 eclipse快捷键大全

/* ---------------------------------------自理解----------------------------------------*/ctrl+shift+T //查找当前工程下的某个类   实时提示ctrl+shift+R//查找当前工程下的某个文件   实时提示ctrl+/添加注释/* --------------------------

2015-05-06 09:51:15 573

转载 uml类图关系

转自:http://blog.csdn.net/tianhai110/article/details/6339565在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generaliza

2015-04-23 11:41:36 528

转载 java线程池详解

转载至:http://www.cnblogs.com/dolphin0520/p/3932921.html在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可

2015-04-16 15:03:49 1260

原创 web服务器总体架构------分析1

web服务器总体架构互联网发展至今,虽说只有20多年的历史,但是不得不说,其发展速度之快、囊括技术之多简直令人发指,其所涉及的领域,从电子商务、社交、娱乐、搜索,渐渐向传统行业渗透,立志于解决传统领域的痛点,教育、医疗、能源、保险等等传统行业,以后渐渐都会看到互联网的影子。互联网大多是2C业务,其特点如下:高并发:qq最大在线数1.4亿,淘宝双11第一分钟独立访问用户数1000

2015-04-12 16:00:05 1042

原创 关于数据库的分库分表浅析

1 基本思想之什么是分库分表?从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。2 基本思想之为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资

2015-04-12 13:30:01 922

转载 java 反射机制

转载,原文地址:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.htmlJava反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射的概念是由Smith在1982年首

2015-03-20 16:28:08 454

转载 cookie 和session 的区别详解

这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的

2015-01-24 18:29:05 541

转载 HTTP深入浅出 http请求

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(

2015-01-21 19:03:17 612

转载 java final和static 区别

Java关键字final、static使用总结 一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final方法不能被子

2015-01-21 16:14:41 867

原创 kvm性能优化方案---cpu/内存/磁盘/网络

kvm性能优化kvm性能优化,主要集中在cpu、内存、磁盘、网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节。cpu在介绍cpu之前,必须要讲清楚numa的概念,建议先参考如下两篇文章CPU Topology玩转cpu-topology查看cpu信息脚本:#!/bin/bash# Simple p

2014-12-17 19:03:38 27249

转载 查看Linux cpu信息

在linux系统下可以通过cat /proc/cpuinfo来查看本机上cpu的相关信息,通过processor可以判断逻辑cpu的个数,physical id可以判断物理cpu的个数,通过cpu cores来判断每个cpu内的核数,通过siblings和cpu cores的对比可以判断是否支持超线程。    [oracle@sany1 ~]$ cat /proc/cpuinfo |grep

2014-12-12 18:10:05 1174

转载 python + rabbit mq

RabbitMQ作为一个工业级的消息队列服务器,在其客户端手册列表的Python段当中推荐了一篇blog,作为RabbitMQ+Python的入门手册再合适不过了。不过,正如其标题Rabbit and Warrens(兔子和养兔场)一样,这篇英文写的相当俏皮,以至于对于我等非英文读者来说不像一般的技术文档那么好懂,所以,翻译一下吧。翻译过了,希望其他人可以少用一些时间。翻译水平有限,不可能像原

2014-12-01 16:10:23 2732

转载 rabbit mq

原文地址:http://www.diggerplus.org/archives/3110引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(

2014-12-01 16:04:29 2105

原创 openstack 网络架构 nova-network + neutron

openstack网络架构(nova-network/neutron)openstack网络体系中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge、vlan、gre、vxlan、ovs、openflow、sdn、iptables等,当然这里不会做具体技术介绍,概述技术,主要将其与openstack的结合点做详细分析。nova-network网络架构在nova-net

2014-11-16 16:50:42 29184 2

原创 openstack 网络发展简史

openstack 网络发展简史研究openstack有2个月的时间,这段时间从网上获取N多宝贵资料,对我的学习有很大帮助,在加上我自己的研究,终于对openstack整个网络体系有了个浅显的认识,写几篇文章,一个是对以往资料的总结,二来也希望的我的总结能为更多学习openstack的朋友们提供帮助。废话到这,进入正题。nova-network:openstack最开始网络组件叫nov

2014-11-16 13:39:53 2705

转载 iptables详解

一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。

2014-10-28 14:20:13 689

原创 java学习手记(1)

这个文章仅作为作者学习java的简单学习笔记,供学习记录用。编译用javac,执行用javapublic class hello { public static void main(String args[]) { int a = 0; System.out.println("hello world" + a); }}将类声明为public,则文件名需要和这个类的类名保持一致

2014-10-17 17:31:07 753

转载 QEMU和KVM的关系

QEMU和KVM的关系:现在所说的虚拟化,一般都是指在CPU硬件支持基础之上的虚拟化技术。KVM也同hyper-V、Xen一样依赖此项技术。没有CPU硬件虚拟化的支持,KVM是无法工作的。准 确来说,KVM是Linux的一个模块。可以用modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情:

2014-09-20 22:18:27 894

转载 第2层和第3层寻址

第2层和第3层寻址在同一个LAN上的计算机使用媒体访问控制(MAC)地址相互标识。MAC地址是第2层地址且不可路由,而IP地址是第3层地址并且可以路由。发送IP数据包的第一步是确定远程主机是否在同一个LAN中或在一个远程网络:■ 如果目的地是在同一个LAN上,那么目标MAC地址必定是目标主机的MAC地址。■ 如果目的地是在一个远程LAN上,那么目标MAC地址必须是默认网关的MAC地

2014-09-18 18:21:20 3430

转载 vlan详解

目录--------------------------------------------------------------------------------1.为什么需要VLAN2.实现VLAN的机制3.VLAN的访问链接(Access Link)4.VLAN的汇聚链接(Trunk Link)5.VLAN的汇聚方式——IEEE802.1Q与I

2014-09-18 14:31:48 2165

转载 微博CacheService架构浅析

微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服务请求,这些请求的背后,需要消耗着巨大的计算、内存、网络、I/O等资源。而且因为微博的产品特性,节假日、热门事件等可能带来突发数倍甚至十几倍的访问峰值,这些都对于支撑微博的底层基础架构提出了比较严苛的要求,需要满足:每秒数十万的用户请求数据更新的实时性服务请求的低响应时间99.99%以上的服务可用性为了满足业务的发展需要,微博平

2014-09-17 15:25:07 648

转载 memcache简介

分布式缓存出于如下考虑,首先是缓存本身的水平线性扩展问题,其次是缓存大并发下的本身的性能问题,再次避免缓存的单点故障问题(多副本和副本一致性)。分布式缓存的核心技术包括首先是内存本身的管理问题,包括了内存的分配,管理和回收机制。其次是分布式管理和分布式算法,其次是缓存键值管理和路由。原文:http://wenku.baidu.com/view/8686d46c7e21af45b307a8c

2014-09-17 15:08:59 683

Manning.Get.Programming.with.JavaScript.2016.8

Manning.Get.Programming.with.JavaScript.2016.8 Manning.Get.Programming.with.JavaScript.2016.8 Manning.Get.Programming.with.JavaScript.2016.8

2017-09-18

Nginx模块开发与架构解析

Nginx模块开发与架构解析

2016-04-11

python核心编程第二版源码

python核心编程第二版源码,python入门的经典书籍。

2014-01-24

UNIX环境高级编程_第二版中文

Linux开发教父级别的教材,一句话经典,不要资源分,贡献出来给学习linux编程的朋友

2013-09-26

PHP和MySQL WEB开发(4th)

《PHP和MySQL.Web开发》(澳)Luke Welling 和Laura Thomason合著,被誉为Php开发圣经

2013-01-06

unix网络编程 中文 卷1+卷2

unix网络编程 中文 卷1+卷2,经典当中的经典,一起给出,方便大家学习

2012-12-17

TCPIP详解(2,3卷)

TCPIP详解(2,3卷),和之前上传的第1卷正好凑集

2012-12-17

Linux命令大全

Linux命令大全,很方便的一本书,更重要的事中文

2012-12-17

C++ Object Model

C++ Object Model,C++对象模型,想深入了解C++的同学必备书籍

2012-12-17

TCPIP详解卷一

TCPIP详解卷一,TCP/IP经典教材

2012-11-20

mysql必知必会电子书+数据库脚本

mysql必知必会电子书+数据库脚本,入门级的,还需要多说吗,非得20字

2012-11-19

空空如也

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

TA关注的人

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