2020-07-06 06:09
⁄ 工业·编程
⁄ 共 843字
Leveldb和Rocksdb都属于嵌入式数据库,内部没有设计成C/S网络结构,必须和服务部署在同一台服务器。Levledb是Google的两位Fellow (Jeaf Dean和Sanjay Ghemawat)设计和开发的嵌入式K-V系统,读写性能非常彪悍,官方网站报道其写性能40万/s,读性能达到6万/s,写操作要远快于读操作。Rocksdb是Facebook公司在Leveldb基础之上开发的一个嵌入式K-V系统,在很多方面对Leveldb做了优化和增强,更像是一个完整的产品,比如:
1)Leve...
HBase, leveldb, Rocksdb, 数据库, 比较阅读全文
2020-03-29 17:47
⁄ 工业·编程
⁄ 共 1984字
一、MySQL
MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
与其他数据库...
数据库, 比较阅读全文
2020-02-08 09:28
⁄ 工业·编程
⁄ 共 2503字
二者现在都能支持http/tcp/udp的负载均衡,nginx的采用类似编程语言的配置,用文档结构表示配置关系,看起来比较清晰,haproxy的配置有点像网络设备,定义和引用,有时候搞清一个逻辑需要上下来回翻看。
nginx是master-workers多进程,每个进程单线程,多核CPU能充分利用;haproxy是多线程,单进程就能实现超高性能,虽然haproxy也能多进程,但是网上资料多认为开了多进程也不能提升性能,不建议多进程跑。
即使做反向代理nginx...
HAProxy, Nginx, 比较阅读全文
2020-02-07 09:19
⁄ 工业·编程
⁄ 共 2871字
一、Nginx优点:
1、工作在网络7层之上,可针对http应用做一些分流的策略,如针对域名、目录结构,它的正规规则比HAProxy更为强大和灵活,所以,目前为止广泛流行。
2、Nginx对网络稳定性的依赖非常小,理论上能ping通就能进行负载功能。
3、Nginx安装与配置比较简单,测试也比较方便,基本能把错误日志打印出来。
4、可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS小。
5、Nginx可以通过端...
HAProxy, LVS, Nginx, 比较阅读全文
2020-01-22 17:03
⁄ 工业·编程
⁄ 共 2021字
ZeroMQ是一个开源的高性能消息传递库。它是跨平台的,支持多种语言,并且重量轻,速度快。ZeroMQ是消息传递的服务提供商。使用这些提供程序,需要消息传递API来发送和接收消息,并且需要将这些提供程序与应用程序服务器集成在一起。Apache Kafka 是一个消息传递系统,使您可以发布和订阅基于主题和分区的消息流。这样,它类似于ActiveMQ,RabbitMQ等产品。但是,即使有这些相似之处,Kafka与传统的消息传递系统也存在一系列根本...
kafka, ZeroMQ, 比较阅读全文
2020-01-21 16:37
⁄ 工业·编程
⁄ 共 1408字
ZeroMQ和RabbitMQ均提供了消息服务, 可以满足某些使用场景下的消息处理,下面对这两种框架做一个宏观的对比.
1、ZeroMQ是以C++语言实现的,可以编译成so库, 其提供了以C语言风格访问的API(见其头文件zmq.h),主流程序设计语言如C++,Java, python, PHP等都提供了语言绑定的接口.
2、RabbitMQ是Erlang语言实现的,在部署RabbitMQ的时候,需要安装其匹配版本的Erlang环境.RabbitMQ提供了主流程序设计语言的客户端库来访问RabbitMQ服务器...
RabbitMQ, ZeroMQ, 比较阅读全文
2020-01-19 12:38
⁄ 工业·编程
⁄ 共 2155字
先给从来没有听说过Erlang的同学做个简短的介绍。 Erlang是一门函数语言,通过异步消息传递(asynchronous message passing)来处理并发,使用语义拷贝(copysemantics)传递消息。即使Erlang分布在多个虚拟机上,运行在多台机器上,对程序员来 说也是透明的。
在某种意义上Erlang和java是相似的,他们都通过虚拟机来获得可移植性,都采用独立于操作系统的字节码技术,都使用垃圾回收机...
Erlang, java, 比较阅读全文
2020-01-14 13:29
⁄ 工业·编程
⁄ 共 1129字
一年前我开始学习go语言的时候,如获至宝,既有python的编码效率,又带来性能的15倍提升。尤其是在异步编程方面,可以使用channel同步线程,不必加锁可以充分利用cpu多核计算,真是没有弱点。
后来慢慢了解到,这种无锁异步编程的思想,源自一门叫做erlang的语言,Erlang更加了不起。除了异步编程之外,这门语言天生支持分布式,单机上开发的软件,可以不加修改地运行在集群上,另外还支持软件版本的热升级,自带的OTP框架支持...
Erlang, Go, 比较阅读全文
2019-09-14 11:52
⁄ 工业·编程
⁄ 共 1775字
Python成为胶水语言有一个发展过程,并不是一步实现的。Python设计初期就面向科研人员,降低编程难度,提高编程效率。在现代也有其他按照这个思路发展的语言,比如R和Matlab。也有一些思路有些许相似的玩法,比如面向特定领域的语言,像Lua、JavaScript。在与C库的互操作性方面也是个重要的问题。
任何编程语言发展初期都会遇到标准库如何构建的问题。而每种语言的发展思路却有所不同。
C和C++的思路类似,就是提供一个较小的标...
Python, 比较, 演变, 脚本阅读全文
2019-08-29 15:53
⁄ 工业·编程
⁄ 共 6076字
本文对几种开源的流媒体服务器做对比。
1 概念
1.1 RTP
实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。
RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),...
开源, 比较, 流媒体阅读全文