Architecture
文章平均质量分 60
Linvo
刚要成熟,又要老去。时光,好不经用。
展开
-
尝试用Gearman实现分布式处理(PHP)
本文需要你已对Gearman有个大致了解,如果不知该东东是何物,请参考之前一篇转帖日志《Gearman - 分布式远程过程处理框架》顺便再推荐两篇参考文章http://hi.baidu.com/thinkinginlamp/blog/item/ff49972b9e7378f3e6cd40aa.html(学学Gearman)http://www.ibm.com/develo原创 2010-02-09 15:02:00 · 6033 阅读 · 0 评论 -
最近在读的书
介于传统的关系型数据库和键值数据库之间的文档型数据库的代表——MongoDB,确实属于那种让人眼前一亮的东西 从UNIX哲学角度讲解系统设计,非常值得一读原创 2012-05-27 15:07:33 · 990 阅读 · 0 评论 -
浅谈过载保护
摘要: 每个系统,都有自己的最大处理能力。后台人员对此要很清楚,且要注意自我保护,不然就会被雪球压垮。 雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。作者bison,腾讯后台开发技术总监。转载 2012-05-11 10:16:43 · 1259 阅读 · 0 评论 -
知名网站的技术发展历程(1)
互联网已经发展多年,其中不凡脱颖而出的一些网站,这些网站多数都已存在了接近10年或10年以上,在这么多年的发展过程中,除了业务上面临的挑战外,在技术上也面临了很多的挑战。在这篇文章中,我挑选了一些Alexa排名较前的网站(http://www.alexa.com/topsites),看看它们在技术是如何应对业务发展过程中的挑战的(由于一个网站需要很多方面的技术支撑,这里不可能全部覆盖,这里更多转载 2012-06-01 21:44:29 · 1167 阅读 · 0 评论 -
Gearman 性能调优
Gearman是最早由LiveJournal内部开发并使用的一个通用并行任务调度框架,允许不同语言直接通过非常简单的方式进行互操作。前台提交工作任务(Task)和参数,由后台工作进程(Worker)完成实际工作。例如前台提交用户需要进行渲染的图片,由Gearman调度到后台提供渲染服务的工作进程,在完成工作后返回结果给前台进行展示。提交工作和完成工作的代码只需要通过预先协商好的参数转载 2012-07-06 11:38:12 · 3299 阅读 · 0 评论 -
知名网站的技术实现
在上一篇《知名网站的技术发展历程》中,介绍了一些知名网站在发展的过程中技术的演变,在这篇文章中则会根据这些网站的发展经验,来总结通常网站是如何来应对可伸缩性、可用性、高性能以及低成本这四方面的挑战的。在上一篇文章中,介绍了一些Alexa排名较前的网站的技术发展历程,在这篇文章中,将结合提及到的网站的技术发展历程,来总结下网站在可伸缩性、可用性、高性能以及低成本四点上通常采用的技术。对于一个转载 2012-06-27 15:38:21 · 1055 阅读 · 0 评论 -
RabbitMQ+HAProxy
原本打算直接用nginx反向代理,发现不好用,默认不支持长连接,见很多推荐HAProxy的,就试试吧~wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.21.tar.gztar -zxvf haproxy-1.4.21.tar.gz cd haproxy-1.4.21make TARGET=linux26 PREFIX=/原创 2012-07-30 12:13:44 · 5709 阅读 · 3 评论 -
RabbitMQ集群方案
RabbitMQ虽然是天生的分布式消息队列,但其本身并不支持负载均衡。Connecting to Clusters from ClientsA client can connect as normal to any node within a cluster. If that node should fail, and the rest of the cluster原创 2012-07-27 16:20:13 · 11214 阅读 · 5 评论 -
关于Gearman的两点发现
一、不能同时充当Worker和Client?!测试中发现,蓝色过程正常,绿色过程万分不稳定。不知是用法问题,还是什么。Worker&Client部分代码:$worker= new GearmanWorker();$worker->addServer("192.168.1.93", 4730);$worker->addFunction("get_id", "fun_get原创 2011-07-06 13:21:36 · 1117 阅读 · 0 评论 -
SACC 2012 第一天
今年的日程是三天,比以前多了一天,依旧是在海淀那边的喜来登。第一天有点干货的讲座还是大家熟悉的那几家公司,另外,这次58带来的也还不错。厄……今天确实没拍什么照片。睡了,明儿还要继续~原创 2012-09-13 23:39:48 · 1033 阅读 · 0 评论 -
SACC 2012 第三天
刚到家,把昨天最后一天的补上。稍微来晚了点(北京打车就是个杯具),第一场专题貌似换了,和日程安排不一样,换成了京东关于openstack的主题。爆破云……我之前以为是个新技术名词呢,原来……真的是顾名思义- -|||腾讯的数据平台专题应该是今天最受关注的了,据说ppt中有几张图是未经内部审批就亮相的,so……其中的一张(厄,看不清,回头看PPT吧):原创 2012-09-16 09:05:36 · 1452 阅读 · 0 评论 -
SACC 2012 第二天
不知是今天稍微来早了点,还是大家都来得晚了点,已经开始了但人还不多。360的分享还比较干下面是下午的分会场手机快没电了,不拍了~原创 2012-09-14 19:40:22 · 833 阅读 · 0 评论 -
Javascript到PHP加密通讯的简单实现
由于下周要向内部刊物交稿,因此才有了本文。其实内容主要来源于上一篇博文,只是重新组织了语言,并做了原理性的阐述,更容易理解:P----------------------------------------- 华丽的分割线 ----------------------------------------- 互联网上大多数网站,用户的数据都是以明文形式直接提交到后端CGI,服务器之间原创 2010-07-17 15:31:00 · 10470 阅读 · 7 评论 -
随机码容量计算
假设有这么个场景:给每个进入房间的人分配一个随机码(数字/字母),该随机码在一段时间内有效,那么在有效期内,为了让两个人分配同一个随机码的概率保持在指定值以下,那么随机码的长度最短需要多少个字符?我是这么计算的:设:并发数:P(如:100个/s)缓存时间:T(如:1800s)碰撞率:R(如:1‰)容量:C则:C = P * T / R以上面的测试用例代入计算原创 2013-04-09 11:41:30 · 3534 阅读 · 0 评论 -
借Gearman简要说明系统可用性问题
上篇提到PHP通过Gearman扩展调用worker时造成的PHP进程死锁问题(同步模式),今天简单总结下与该问题以及Gearman原理相关的一些东西。正好最近在学车,就用生活中驾考的实际例子来说明吧。考试的基本流程是:学员先申请,看当前是否有考试名额,报名成功则到驾考中心参加考试,上车前先在驾考中心的候考厅排队,当轮到自己的时候上车进行考试。与Gearman的原理相对应的如下原创 2012-04-11 17:59:48 · 1949 阅读 · 2 评论 -
HA与Replication
笔记一篇,直接入正题:高可用中数据复制是关键,一般分异步、强同步和半同步三种。异步复制就像是MySQL中最常用的主从同步,Master不管同步过程,只负责自己写入成功后立即返回,同时记录下binlog,用于Slaver进行同步。此时若Master宕掉,Slaver有丢失最后更新数据的可能性,直接切换到Slaver有可能带来数据不一致。对于异步复制这种情况,如果要保证原创 2012-03-05 13:02:26 · 1310 阅读 · 0 评论 -
Gearman - 分布式远程过程处理框架
正好快过年放假了,也没啥事,准备简单尝试一下转帖开始... ------------------------------------------ 华丽的分割线 ---------------------------------------------- 【介绍】Gearman 是 Brad Fitzpatrick 的一个作品,用 Perl 写的任务调度程序,提供转载 2010-02-08 13:04:00 · 2648 阅读 · 0 评论 -
Linux中两款并发测试工具ab&webbench
声明:1、目前我对“压力测试”和“负载测试”这两个概念的区别还不清楚,所以使用“并发测试”一词代替2、演示分别使用ab和webbench对phpinfo()的页面进行100并发持续5秒钟测试 首先来看一下最受欢迎的、随apache一起打包发布的ab,使用简单方便可以看出测试结果较为详细,除了几项主要数据外还包含很多项参考数据。 接下来看下使用起来更为简单易懂的web原创 2010-02-23 17:10:00 · 3359 阅读 · 0 评论 -
CoSign的SSO模型流程图
根据需要,最近在研究单点登录(Single Sign-On)。CoSign是密西根大学的一套开源Web SSO解决方案。 看不清请看原图:http://cosign.sourceforge.net/overview.shtml转载 2010-04-14 18:01:00 · 1984 阅读 · 0 评论 -
用电影院来形象解读CoSign的流程
Service:阿凡达巨幕场Browser:观众Weblogin:电影院前台假设:一张电影票可以多次观看各场次电影,且无时间限制 1、观众要看《阿凡达》巨幕版,来到巨幕场,工作人员说请出示入场卷(Service Cookie),否则先去前台买票(Login Cookie)2、观众到前台交钱,前台卖了张电影票,并产生一张《阿凡达》巨幕版的入场卷3、前台工作人员把新的入场卷原创 2010-04-15 11:04:00 · 2084 阅读 · 0 评论 -
memcached存储机制研究
声明:1、本文需要对memcache有一定了解2、测试用memcached版本1.4.53、错误之处恳请指正! 很早就听说用memcached缓存数据,在分配内存未用尽时偶尔也会出现踢出未过期数据的问题。对此一直不是很理解,由于项目遇到应用选择问题,所以专门对其进行了些测试和研究。 首先简单介绍几个名词,了解过memcache原理的应该都不陌生:chunk 数据存放原创 2010-05-20 22:55:00 · 2192 阅读 · 1 评论 -
Poppen.de的技术架构分享
Poppen.de是一个德国的 交友/ 聊天/ 视频 的SNS网站, 部分内容NSFW,网站采用了很多我们熟悉的技术,像Nginx ,MySQL,CouchDB,Erlang,Memcached的,RabbitMQ(消息服务器),采用了Graphite作为网站的系统监控,Red5作为视频服务,Tsung作为压力测试工具,选择的技术种类较多,还采用PHP和Erlang 2种程序语言作为不同功能的开发。关于 Poppen.de 的资料统计数据 * 2 000 000 用户数 * 20转载 2010-07-21 00:12:00 · 2387 阅读 · 0 评论 -
JS到PHP使用RSA算法进行加密通讯
我们平时做用户登录表单提交,用户名密码都是明文直接POST到后端,这样很容易被别人从监听到。注:包括使用MD5等哈希函数处理后的数据,这里也算做明文(现在MD5爆破网站已经很多了~)。对安全性要求较高的网站,比如银行和大型企业等都会使用HTTPS对其进行加密通讯。但是由于效率原因,使用HTTPS的代价是及其昂贵的,对于访问量稍大的网站就会造成严重的性能瓶颈。解决方法一般只能采用专门的SSL硬件加速设备如F5的BIGIP等。所以很多网站选择了模拟SSL的做法,使用RSA来对密码等安全信息进行公钥加密,服务端用原创 2010-06-12 16:34:00 · 17166 阅读 · 22 评论 -
一致性哈希
<br />网上关于“一致性哈希”这个东东的解释总感觉都不明了,本来不是很复杂的原理,非得拼死了往复杂里描述,都在学校写论文写惯了么- -|||<br />个人感觉这篇文章内容比较简明的解释了“一致性哈希”这个东东,所以就转来鸟~~~~(最终出处不晓得哪里,懒得考究~_~)<br />(本人只截取了部分内容。原文标题:Memcached的分布式)<br />——————————————————————————— 华丽丽的分割线 —————————————————————————————————<br />转载 2010-10-27 21:44:00 · 1164 阅读 · 0 评论 -
札记
<br /><br />CAP理论<br />C一致性、A可用性、P分区容忍性(分布式)<br />关系DB:CA<br />键值DB:AP<br />大型网站设计时一般会偏AP<br /> <br /> <br />不要删除数据<br />使用status字段代替isDeleted字段,更不要硬删除!<br /> <br /> <br />随机/顺序读/写<br />因为Jim Gray的名言,所以尽量把随机操作留给RAM,只给硬盘留下顺序操作,寻址太耗时了<br />I/O是经典瓶颈,而不是程序本身原创 2010-11-08 16:22:00 · 709 阅读 · 0 评论 -
Google MapReduce中文版
Google的一篇重量级论文,介绍了MapReduce这个称得上是时下分布式计算的标准模型。例如国内广泛用于百度、淘宝等一线互联网企业的Hadoop,就是Apache基金会对其的一种开源实现。————————————————华丽丽的分割线———————————转载 2011-07-10 21:57:14 · 2468 阅读 · 0 评论 -
海量数据处理:十道面试题与十个海量数据处理方法总结
作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JUL转载 2011-08-11 12:38:10 · 1033 阅读 · 0 评论 -
浅析 Antiy Password Mixer 加密原理
江海客(安天实验室首席技术架构师)的《由拖库攻击谈口令字段的加密策略》中简单列出了那些常见于程序员中的错误加密策略,以及一些推荐采用的比较安全的加密策略。同时他也顺带提到了由安天实验室开发的Antiy Password Mixer(算是一种通用的密码加密工具包吧),可供广大开发人员选择。目前只提供了Python版本,后续还会提供PHP和Ruby版本,如果需要C/C++等其他语言版本的就要付费咯原创 2011-12-30 14:07:21 · 1084 阅读 · 0 评论 -
关于PHP与Java AES加解密互通的Padding问题
首先,通常情况下Java内部支持三种填充:NoPadding,PKCS5Padding(默认),ISO10126Padding。如果选用NoPadding的话,对于数据长度不满16字节整数倍的情况下,Java是会报错的。PHP貌似是使用NoPadding填充,但实际上对于上述情况PHP内部是会以“\0”来填充,其实是一种Zero填充。表现在Java中,则是由Bouncy Castl原创 2012-02-29 14:11:34 · 5393 阅读 · 2 评论 -
从需求出发来看关系模型与非关系模型–时代的变革1
上次我们谈到,因为互联网应用的实际需求与传统数据库之间出现了不匹配的情况。 于是,破坏与重构就成为了新时代的主音。 对互联网应用而言,最急需的需求,就是处理大量用户输入的海量数据,进行一些逻辑处理后再将结果返回给用户。因此,对于在线数据处理来说,可水平扩展的容量指标,可无限增长的写入tps和读取qps,是互联网企业的最大,最急需的需求。 相比较而言,为了转载 2013-06-19 12:40:38 · 2672 阅读 · 0 评论