
架构
Xiao_Qiang_
java,python
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
主要几种通信协议的性能比较收藏
总体性能比较: Socket(BIO/NIO)RMIHTTPInvoker=HessianRESTBurlapEJBWeb Service 如果协议设计的比较好,Socket性能毫无疑问是最高,同时灵活性和复杂度也最高,如果采用高效的网络框架如:Mina、Netty等可以降低开发复杂度,一般在对性能有非常苛刻的条件下总体性能比较: Socket(BIO/NIO)>RMI>HTTPInvok转载 2011-11-23 09:18:34 · 1476 阅读 · 0 评论 -
元数据归来
元数据归来莫华枫云存储服务是云计算的重要组成部分。技术上,云存储属于大型分布式在线存储范畴。云存储是一大类特殊的共享存储。作为提供存储资源的服务,云存储需要保证用户存放的数据可靠,不丢失。同时,云存储必须确保实时在线,任何宕机都会给用户造成损失。因而,云存储的基本要求是高可靠和高可用。此外,云存储是海量数据的存储,规模巨大。而且,出于成本和现金流量的考虑,云存储的集群规模必须随着用转载 2012-06-13 08:54:02 · 777 阅读 · 0 评论 -
[转] Apache Thrift入门
作者:H.E来源:http://www.javabloger.com/article/apache-thrift-architecture.html Apache Thrift入门1-架构&介绍 Thrift 是什么? Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebo转载 2012-06-14 16:37:29 · 895 阅读 · 0 评论 -
淘宝开放平台技术历程
淘宝开放平台技术历程Author:放翁Date:2012/10/13 注:文中所有的技术点都可以在http://blog.youkuaiyun.com/cenwenchu79 找到详细的文章,同时本文主要介绍开放平台技术发展历程,产品和业务内容不涵盖在此,因此受众群体主要是技术人员。 2006年底,阿里巴巴提出了workat alibaba的战略,20来号人就被转载 2012-10-16 13:07:53 · 872 阅读 · 0 评论 -
我所熟悉的网站负载均衡技术
DNS轮循 DNS轮循是指将相同的域名解释到不同的IP,随机使用其中某台主机的技术。但其具有明显的缺点:一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求转载 2012-11-21 11:50:11 · 587 阅读 · 0 评论 -
语言的效率差异3
Posted on 2012 年 05 月 28 日2在总结前,我们首先搞明白三个问题的差异“效率的决定因素”,“语言效率差异”和“日常使用中造成运行效率差异的因素”。代码的效率最根本因素绝对不是语言的效率,我一直这么确信。代码效率的决定因素必然是算法的正确选择和实现的优秀程度。这里面包括了正确评估问题,选择合适的数据结构,使用合适的算法等。例如对给定数据的高速查询,用红黑树去转载 2012-12-04 17:35:41 · 740 阅读 · 0 评论 -
AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理; 先简单从百度找来介绍: 1 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法,2是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方转载 2013-01-10 09:39:56 · 2578 阅读 · 1 评论 -
实战Nginx与PHP(FastCGI)的安装、配置与优化
一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序转载 2013-03-12 14:24:31 · 868 阅读 · 0 评论 -
CentOS 6.0 系统 LAMP(Apache+MySQL+PHP)安装步骤
先来解释一下,什么是 LAMP。正如标题所言,LAMP 实际上就是 Linux、Apache、MySQL、PHP 四个名称的缩写,当然最后一个 “P” 还有其他说法是 Perl 或者 Python。不用多说了,本文讲解的就是 Linux、Apache、MySQL、PHP 这四个东西,所以就这样解释了。 自己很早就在做网站,最初玩的是 ASP,后来主要研究 .Net,也用 .Net 搞过类似的转载 2013-03-13 14:25:17 · 923 阅读 · 0 评论 -
HIVE文件存储格式的测试比较
根据自身涉及到的数据分布和使用需求,对HIVE上的三类文件格式做了如下测试,指导HIVE的文件格式选型。测试存在环境、数据分布、测试偏重点的不同,本测试只供参考,不作为大家选型决策的绝对指导。HIVE的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把转载 2013-03-15 11:00:44 · 1131 阅读 · 0 评论 -
搜索性能调优
近期发布单量增长过快,当发现问题时,线上的发布单总量已经超过1200万,搜索整体性能下降,前台S站点响应速度变慢,由于前段的Varnish反向代理缓存,大部分情况下用户响应还是比较快的,但在未命中缓存的情况下,前端响应非常缓慢,单条请求至少在40秒以上,S站点的各项性能指标已经临近极限。 对此,我们采取了一系列的改造调优措施,整体优化过程分为好几个阶段,分别针对前个调整后出现的情况通过原创 2013-04-26 17:48:29 · 1463 阅读 · 0 评论 -
The C10K problem
编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问题。随着互联网的迅速发展,越来越多的网络服务开始面临C10K问题,作为大型 网站的开发人员有必要对C10K问题有一定的了解转载 2013-05-22 14:27:55 · 1387 阅读 · 0 评论 -
storm简介
http://www.searchtb.com/2012/09/introduction-to-storm.htmlstorm简介悟时场景伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、转载 2013-05-09 13:19:50 · 836 阅读 · 0 评论 -
Dapper,大规模分布式系统的跟踪系统
概述当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。Dapper--Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统转载 2013-09-23 09:31:06 · 3241 阅读 · 0 评论 -
consul VS zookeeper、etcd、doozerd
zookeeper、doozerd、etcd都有着相似的架构,这三者的服务节点都需要一个仲裁节点来操作,它们是强一致的,并提供各种操作原语。应用程序可以通过客户端lib库来构建分布式的系统。在一个单datacenter中,consul的server节点工作在一种简单的方式下,consul server需要一个仲裁操作,并提供强一致性。consul原生的支持多datacenter,就像多gossip转载 2015-01-28 10:47:10 · 3583 阅读 · 0 评论 -
EEP ---------------- Embedded Event Processing
Embedded Event Processing .......原创 2015-03-05 16:29:33 · 1191 阅读 · 0 评论 -
Twitter搜索现在快3倍啦
在2010年春季,为了服务不断增长的流量、提升最终用户的响应时延和服务的可用性、有能力快速开发新的搜索功能,搜索团队开始重写我们的搜索引擎。作为不努力的一部分,我们发布了新的实时搜索引擎,将后端从Mysql迁到了lucene的实时版。上周我们发布新的前端,替换了RubyonRails版:我们称之为Blender的Java服务器。我们很高兴地宣布这些改变使我们的搜索时延下降了3倍,同时也使得我们有能转载 2012-06-13 10:16:45 · 850 阅读 · 0 评论 -
程序员必知8大排序3大查找
每天都在叫嚣自己会什么技术,什么框架,可否意识到你每天都在被这些新名词、新技术所迷惑,.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。 要编写出优秀的代码同样要扎实的基础,如果排转载 2012-05-10 10:24:10 · 786 阅读 · 0 评论 -
Akka in 2 weeks
11:07下午 八月 23, 2011 in category Java by ingramchen简而言之 Akka,是一个 inter-server computation framework。它的官网列出一堆有的没的 "功能" (但能做什麽应用没说),一付好像要改变整个开发生态一样。但 Akka 只适合拿来做 server 间的运算,因为它没有用户的 client (mobi转载 2012-04-10 11:46:00 · 4448 阅读 · 2 评论 -
Tomcat、Netty、Jetty很有趣的简单压测报告
今早对Tomcat7.0.5、Netty3.2.3、Jetty-hightide-7.2.2做了一个简单的压测,测试方案我想肯定是不太严谨的,但是对于快速评估还是有点价值的,测试结果出乎意外。 压测工具: ApacheBench(简称ab), Version 2.3 测试服务器有两台:被压测服务器 和 运行ab的服务器 两台服务器的配置都是:64位Linux,双转载 2011-11-23 09:20:23 · 30608 阅读 · 3 评论 -
ZooKeeper系列之一:ZooKeeper简介
ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。ZooKeeper意欲设计一个易于编程的环境,它的文件系统使用我们所熟悉的目录树结构。ZooKeeper使用Java所编写,但是支持Java和C两种编程语言。 众所周知,协调服务非常容易出错,但是却很难恢复正常,例如,协调服务很容易处于竞态转载 2011-12-01 13:43:54 · 988 阅读 · 0 评论 -
建立在HBase上的分布式搜索
http://www.javabloger.com/article/lily-hbase-solr-lucene-zookeeper.html19 一月, 2011 (03:16) | HBase, lucene, zookeeper, 云计算, 分布式, 架构设计| 繁体English DeliciOus 【分享到新浪微博】作者:转载 2011-12-01 15:15:41 · 2354 阅读 · 0 评论 -
谈谈Hadoop和分布式Lucene
来源: 作者:马士华[字体:大 中 小] Lucene是大家用的最多的开源搜索引擎。本文不探讨Lucene如何实时更新(http://issues.apache.org/jira/browse/LUCENE-1313),和如何修改Lucene评分机制,添加如PageRank评分因子,本文只讨论分布式的Lucene。 说到Lucene一般都会提到Nutc转载 2011-12-01 17:06:37 · 1581 阅读 · 0 评论 -
分布式系统协调zookeeper
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper是Google的Chubby一个开源的实现.是高有效和可靠的协同工作系统.Zookeeper能够用来leader选举,配置转载 2011-12-02 11:27:35 · 1137 阅读 · 0 评论 -
几种常见的基于Lucene的开源搜索解决方案对比
Sphinx: 功能很强大,遗憾的是Sphinx并不提供Java 编程API,需要绕道. Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储转载 2011-12-05 08:50:26 · 1732 阅读 · 0 评论 -
使用hadoop MapReduce进行排序
http://blog.youkuaiyun.com/scutshuxue/article/details/5915697在hadoop中的例子TeraSort,就是一个利用mapredue进行排序的例子。本文参考并简化了这个例子: 排序的基本思想是利用了mapreduce的自动排序功能,在hadoop中,从map到reduce阶段,map出来的结构会按照各个key按照hash转载 2011-12-13 17:19:04 · 671 阅读 · 0 评论 -
Thrift vs. Protocol Buffers
http://stuartsierra.com/2008/07/10/thrift-vs-protocol-buffersGoogle recently released its Protocol Buffers as open source. About a year ago, Facebook released a similar product calledThr转载 2011-12-22 14:52:36 · 678 阅读 · 0 评论 -
zookeeper学习
忙活了两天的zookeeper ,有了一点点的了解,只是了解;怕自己忘了一些学习的结论,写下来。一、具体zookeeper 是啥就不介绍了,反正好多地方都有介绍的,我只是从功能性上去了解的,也写了些测试的代码。总的来说就是zookeeper 是一个管理的平台,他的配置要求列出所有的机器列表,这里开始就比较担心如果当中我要加一台机器呢,那每个机器上的zookeeper配置机器列表更新原创 2011-12-02 12:31:43 · 754 阅读 · 0 评论 -
ZooKeeper FAQ
http://rdc.taobao.com/team/jm/ 这段时间来,也在和公司里的一些同学交流使用zk的心得,整理了一些常见的zookeeper问题。这个页面的目标是解答一些zk常见的使用问题,同时也让大家明确zk不能干什么。页面会一直更新。客户端1. 客户端对ServerList的轮询机制是什么 随机,客户端在初始化( new ZooKeeper(St转载 2012-01-12 13:50:13 · 696 阅读 · 0 评论 -
分布式key-value存储系统的比较列表
http://blog.youkuaiyun.com/startfromheart/article/details/4583169也许你正在考虑使用 专门的 key-value 或 document 存储,而不是传统的关系数据库。 原因可能包括以下几个方面:你对云计算(Cloud-computing)极端痴迷; 为自己找一个使用Elang的理由; 你听说CouchDB很酷; 你转载 2012-01-19 09:15:19 · 879 阅读 · 0 评论 -
HubbleDotNet 分布式检索算法介绍 (一)
http://www.cnblogs.com/eaglet/archive/2011/05/18/2049540.html作者:eaglet转载请注明出处全文索引的分布式检索粗想想似乎很简单,感觉就是把多个接入点搜索出来的数据做个合并排序就可以,但如果想要做好,满足商业应用要求,这里面涉及到很多算法优化的问题,比如多路排序的优化,动态路由,翻页的优化,通讯的优化,分转载 2012-01-20 08:44:31 · 737 阅读 · 0 评论 -
Hbase分析报告
http://blog.youkuaiyun.com/zhangzhaokun/article/details/5186839Hbase分析报告本文基于环境hadoop-0.16.4 和 hbase-0.1.3 编写 Hbase是一个分散式开源资料库,基于Hadoop分散式文件系统,模仿并提供了基于Google文件系统的Bigtable资料库的所有功能。 Hba转载 2012-01-29 14:58:56 · 970 阅读 · 0 评论 -
Twitter的搜索服务快了3倍
坊间传闻, 在2010年的春季, Twitter的搜索服务团队在越来越大的流量压力下, 同时也为了搜索功能的增强, 放弃了原来MySQL+Ruby的方案,采用了Lucene+Blender的解决方案. 最近得到的结果是喜人的, 目前Twitter的搜索服务速度提高了3倍, 同时也为未来的继续增强打下了良好的技术基础,原文在这里:http://engineering.twitter.com/2011转载 2012-02-09 10:39:13 · 746 阅读 · 0 评论 -
Mongodb亿级数据量的性能测试
进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目:(所有插入都是单线程进行,所有读取都是多线程进行)1) 普通插入性能 (插入的数据每条大约在1KB左右)2) 批量插入性能 (使用的是官方C#客户端的InsertBatch),这个测的是批量插入性能能有多少提高3) 安全插入功能 (确保插入成功,使用的是SafeMode.True开关),这个测的是安全插入性能会差多转载 2012-02-16 09:40:38 · 827 阅读 · 0 评论 -
maven 使用记录
mvn dependency:copy-dependencies -DoutputDirectory=lib1)创建工程mvn archetype:create -DgroupId=net.jianxi.tutorials -DartifactId=helloworld转载 2013-04-18 15:17:43 · 1068 阅读 · 0 评论