自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伍意的博客

技术成就梦想,活到老学到老!

  • 博客(175)
  • 收藏
  • 关注

转载 CentOS上配置rsyslog客户端用以远程记录日志

rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(

2017-09-12 18:54:34 2097

转载 Zookeeper C API学习总结

http://blog.csdn.net/yangzhen92/article/details/53248294Zookeeper C API客户端使用C语言开发,zookeeper提供了两个库,zookeeper_st(单线程库)以及zookeeper_mt(多线程库)。zookeeper_st提供了异步API和集成在应用程序用来实现事件循环的回调函数,该库是为了

2017-08-19 23:13:13 1000

转载 Zookeeper应用场景

场景一有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了。        通过我们的讨论和以往的经验判断在这场景中可以实现并行计算,但我们

2017-08-17 18:58:02 692

转载 网络摄像机-ISP基础一

什么是ISP,他的工作原理是怎样的?  ISP是Image Signal Processor的缩写,全称是影像处理器。在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为整个相机拍照、录像的第一步处理流程,对图像质量起着非常重要的作用。ISP的功能比较杂,基本上跟图像效果有关的它都有份。它内部包含多个图像算法处理模

2017-08-08 08:59:44 4649

转载 解析UML用例图中include与extend的区别

from http://www.cnblogs.com/wangyaning/p/3740899.htmlUML用例图有很多值得学习的地方,这里向大家简单介绍一下UML用例图中include与extend的区别,希望本文的介绍对你有所帮助。本文和大家重点讨论一下UML用例图中include与extend的区别,include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来

2017-07-05 13:01:35 1394 1

转载 一致性HASH-Consistent hashing(原理及实现)

from https://www.codeproject.com/Articles/56138/Consistent-hashingWhat is libconhashlibconhash is a consistent hashing library which can be compiled both on Windows and Linux platforms, with

2017-07-04 10:20:06 682 1

原创 MongoDB 如何选择查询结果指定字段 去掉_id字段

1.编程实现   bson_t *query;   bson_t opts;   bson_t child;   query = bson_new ();   BSON_APPEND_UTF8 (query, "hello", "world");   BSON_APPEND_DOCUMENT_BEGIN (&opts, "projection", &child);

2017-06-29 19:04:33 26615

转载 Linux进程分配内存的两种方式--brk() 和mmap()

如何查看进程发生缺页中断的次数?         用ps -o majflt,minflt -C program命令查看。          majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。          这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程

2017-06-29 17:31:53 2097

转载 MongoDB基本的操作及C接口使用-MongoDB C Driver

官网 http://mongoc.org/libmongoc/current/tutorial.html下载 wget https://github.com/mongodb/mongo-c-driver/releases/download/1.6.3/mongo-c-driver-1.6.3.tar.gz$ tar xzf mongo-c-driver-1.6.3.tar.

2017-06-29 16:51:59 11947

转载 TCMalloc : Thread-Caching Malloc高性能的内存分配器(C/C++)

TCMalloc : Thread-Caching MallocSanjay Ghemawat, Paul Menage MotivationTCMalloc is faster than the glibc 2.3 malloc (available as a separate library called ptmalloc2) and other mallocs that

2017-06-29 12:58:50 1675

转载 Visual C++ for Linux Development

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam.VisualCforLinuxDevelopment  vs2015 需要安装这个VS2

2017-06-24 00:16:07 4375

转载 C++11 - the new ISO C++ standard and GCC

http://www.stroustrup.com/C++11FAQ.html,Morgan Stanley |Columbia University | Texas A&M University | Churchill College, Cambridgehome |C++ | FAQ | technical FAQ |C++11 FAQ |pub

2017-06-23 23:54:41 1582

原创 WEBRTC核心技术穿透

PortInterface代表本地通信端口,,有UDP ,TCP端口,如UDPPort,StunPort,TCPPort,TurnPort都必须拥有网络SOCKET(AsyncPacketSocket),负责与PEER及STUN和TURN通信,与STUN和 TURN完成候选地址的搜集,与PEER完成连接建立(Connection)及建立后的通信.

2017-06-23 12:53:01 2517 1

转载 Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析

例一:同事随手写个压力测试程序,其实现逻辑为:每秒钟先连续发N个132字节的包,然后连续收N个由后台服务回显回来的132字节包。其代码简化如下:char sndBuf[132];char rcvBuf[132];while (1) { for (int i = 0; i < N; i++){ send(fd, sndBuf, sizeof(sndBu

2017-06-19 11:42:22 3628

转载 关于抓包出现TCP DUP ACK问题

最近在跟一个CDN服务器端做对接,从CDN服务器下载内容(http),发现抓包出现非常多的Tcp Dup Ac​k异常提示。通过查阅质料得知Tcp Dup Ack xxx#y 代表了数据段丢失TCP状态,xxx代表数据丢失的位置,#后代表第几次丢失文。然后我我又再看了下报文,的确是2次数据发送到我这边,我才回复一次ack,但是这个ack回复是正确的。    对比对接其他地方的CDN的抓

2017-06-19 10:22:16 100613 4

原创 WEBRTC 候选地址收集

#include "webrtc/base/thread.h"#include "webrtc/base/asyncinvoker.h"#include "webrtc/p2p/base/basicpacketsocketfactory.h"#include "webrtc/p2p/client/basicportallocator.h"#include "webrtc/p2p/c

2017-06-18 13:00:50 1907

原创 WEBRTC 发送端拥塞控制

音视频传输核心主要是通过发送端来控制服务质量,但服务质量的决策可根据发送端丢包率算法和接收端数据包延迟算法来计算实际的目标码率,进而反馈给源端,即编码端和RTP发送端,如下类图:数据流图函数主要调用次顺:拥塞算法得到的码率如何作用于编码模块和发送模块CongestionController::Process->BitrateControllerImpl::P

2017-06-18 11:12:47 2251

转载 WEBRTC 实时视频传输中的RTCP协议码率控制报文

流媒体传输中常用的RTCP包主要有SR/RR/SDES/BYE/APP/XR,主要由RFC 3611和RFC 3550定义。而WEBRTC视频中常用的RTCP包比语音要多很多,语音的RTCP主要用于状态传递,统计数据。而视频中的RTCP更多赋予了控制功能,比如关键帧请求,码率控制等等。本文不介绍语音中的RTCP,只介绍视频中的RTCP包。这些报文遵守RFC458

2017-06-16 21:34:51 2705

转载 WebRTC中RTP/RTCP协议实现分析

一 前言RTP/RTCP协议是流媒体通信的基石。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输、流量控制和拥塞控制等服务质量保证。在WebRTC项目中,RTP/RTCP模块作为传输模块的一部分,负责对发送端采集到的媒体数据进行进行封包,然后交给上层网络模块发送;在接收端RTP/RTCP模块收到上层模块的数据包后,进行解包操作,最后把负载发送到解码模

2017-06-16 11:13:07 696

原创 云计算非功能性-可靠性可用性优化指标

高性能 垂直优化-从小处着手    1.字节对齐  2.算法优化  3.缓存优化  4.池技术  5.无锁编程  6.多线程/多进程  7.并行编程 水平优化-从大处着手  1.分布式-将不同业务功能分离   分布式不仅是高性能也是高可靠的基础  2.负载均衡集群  3.云计算   高可靠/高可靠 1.分布式  分布式是可

2017-06-09 13:02:53 1661

转载 TCP协议常见技术细节及原理

一、TCP协议简介一般问到TCP协议的时候 最常见的是TCP连接建立和断开的过程,也就是三次握手和四次挥手,两张图足矣。1.1 三次握手1.2 四次挥手二、常见面试题2.1 TCP连接阶段2.1.1 发送序号和确认序号问题例: TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为1000,确认序列号为2000

2017-06-06 23:36:43 5867 1

转载 消息中间件RabbitMQ 初探

转 http://www.cnblogs.com/me-sa/archive/2012/10/17/rabbitmq_for_the_first_sight.html 最近在项目中实践RabbitMQ,比较幸运现在除了官方网站,还有一本非常棒的书可以读:RabbitMQ in Action;这本书目前还没有中文版或者影印版,但是从网上很容易找到PDF版本和epub mobi的版本.Rabb

2017-06-06 08:11:52 875

转载 云计算-服务器集群技术的分类

集群技术主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)高可用集群1.高可用的概念高可用集群的英文全称是High Availability,简称HA cluster。高可用的含义是限度地可以使用。从集群的名字上可以看出,此类集群实现的功能是保障用户的应用程序持久、不间断地提供服务。当应用程序出现故障,或者系统硬件、网络出现故障时,应用可以自动、快速地从一

2017-06-04 23:00:15 3517 1

转载 Redis与Memcached的区别-都属于分布式缓冲架构产品

传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。  2.Mem

2017-06-04 22:47:56 1115

转载 MongoDB高可用集群配置的方案-对称集群(一致对外)与非对称集群(只有我对外,其它待命)

高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。高可用集群的解决方案计算机系统的高可用在不同的层面上有不同的表现:(1)网络高可用由于网络存储的快速发展,网络冗余技术被不断提升,提高IT系统的高可用性的关键应用就是网络高可用性,网络高可用性与网络

2017-06-04 22:17:29 2089 1

转载 消息中间件 AMQP协议 核心概念及原理

http://www.rabbitmq.com/tutorials/amqp-concepts.htmlThis guide provides an overview of the the AMQP 0-9-1 protocol, one of the protocols supported by RabbitMQ.High-level Overview of AM

2017-06-03 21:05:40 2294 1

转载 云计算-负载均衡集群应用

什么是负载均衡负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS) 的流量分发控制服务。通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。负载均衡服务通过设置虚拟服务地址,将位于同一地域的 ECS 服务器资源虚拟成一个高性能、高可用的应用服务池。

2017-06-03 16:25:10 3737

转载 8 种 NoSQL 数据库系统对比

https://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章。虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举

2017-06-03 13:28:11 1420

转载 千万级并发连接的秘密

Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 millio

2017-06-03 11:19:31 1418 1

原创 消息中间件RabbitMQ-实战一

1.安装erlang环境http://www.erlang.org/downloadsapt-get install erlangyum install erlang2.安装rabbitmqapt-get install rabbitmq-serverhttp://www.rabbitmq.com/download.html3.创建用户(自己编译rabbitmq-s

2017-06-02 13:08:17 1348

转载 消息中间件 RabbitMQ 三种分布式架构区别 Clustering Federation Shovel

Distributed RabbitMQ brokershttps://www.rabbitmq.com/distributed.htmlAMQP and the other messaging protocols supported by RabbitMQ via plug-ins (e.g. STOMP), are (of course) inherently di

2017-05-31 23:56:14 2350

转载 消息中间件 rabbitmq 级联-Federation

Federation PluginIntroductionThe high-level goal of the federation plugin is to transmit messages between brokers without requiring clustering. This is useful for various reasons:Loose cou

2017-05-31 23:53:22 2920

转载 消息中间件 rabbitmq 级联-Shovel

Shovel pluginSometimes it is necessary to reliably and continually move messages from a queue (a source) in one broker to an exchange in another broker (a destination). The Shovel plugin allows yo

2017-05-31 23:22:52 1825

转载 消息中间件 Apache Qpid 简介

转 https://www.ibm.com/developerworks/cn/opensource/os-cn-qpid1/https://www.ibm.com/developerworks/cn/opensource/os-cn-qpid2/Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信

2017-05-31 15:17:34 1041

原创 Erlang语言精髓之一

1.=操作符(模式匹配)当看到一个表达式像X = 123时,它的意思看似“将整数123赋予变量X”,但这种解读是不正确的。=不是一个赋值操作符,它实际上是一个模式匹配操作符。与其他函数式编程语言一样,Erlang的变量只能绑定一次。绑定变量的意思是给变量一个值,Erlang的变量是一次性赋值变量(single-assignment variable)。顾名思义,它们只能被赋值一次。如果

2017-05-28 23:12:27 3496 1

转载 Actor模型

有关并行(Parallelism),不得不提的肯定是Erlang,通用的面向并发的函数编程语言,这种编程语言的选择,也是可以规避我们在程序设计上面减少很多精力放在锁上面,这样的设计方式,导致Erlang的性能特别好。Erlang主要的设计框架的精华是 Actor模型。Actor模型先科普一下Reactor pattern,高手勿喷。我们在用的比较多的,C, C++, J

2017-05-24 13:42:04 568

原创 socket select 超时问题 导致CPU高

以下代码问题在哪里,会不会select每次1秒超时呢? void IPCServer::DoWork(){ fd_set read_set; struct timeval tv_select; tv_select.tv_sec = 1; tv_select.tv_usec = 0; int max_fd = m_nListenSocket; int r = 0; struct

2017-05-24 10:30:24 3740

转载 函数式编程初探

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多

2017-05-24 07:20:59 313

转载 函数式编程扫盲篇

http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html1. 概论在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型

2017-05-24 07:13:55 356

原创 Thread物联网标准

Intelligent devices around the home make our lives easier and more enjoyable. Connecting these devices and enabling them to communicate and share information is essential for the smart home of tom

2017-05-18 17:15:10 2334

空空如也

空空如也

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

TA关注的人

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