您现在的位置:首页
--> 系统架构
嗯,我不是来写这次有道难题的解题报告的。事实上,我没有参加这次有道难题的资格。因为我是比赛的POJ测试平台的管理员,我的职责是负责POJ平台在这次万人比赛中的稳定运行。为了全力搭OJ平台准备这次比赛,我两周没有发twitter,也没有写博客。今天终于成功完成了三场资格赛,如释重负,来简单介绍一下在服务器架构建设中的经验。程序方面,前端程序由我负责,全部用php编写,基于Zend Framework,数据库使用mysql,使用memcach...
最近小组在做rss的一些调整,从中也发现了一些技术层面和非技术层面的问题:技术层面:目前的问题:1:我们是通过前端缓存squid来提供rss服务的,rss服务抓取商一般是通过no-cache和页面url加随机数进行访问的.而这也正是squid权限控制的一个"弊端",导致90%的请求都直接访问squid的后端,也就是说squid没有起到缓存的作用.2:Rss地址过多(历史原因造成的),导致cache命中率过多.3:由于rss服务特性和web服务特性的不一样,也因...
分布式系统的hash策略,决定了数据的分布。传统的方式采用mod n的算法,非常简单,但是一旦节点发生变化,所有的数据都需要重组,代价非常大。一致性哈希(Consistent hash)很好的解决了这个问题,当节点发生变化时,只会影响到部分数据,而且永远可以找到一个提供服务的节点。对于数据库Sharding的架构,Consistent hash并不十分适合,我们采用了一种新的hash策略,我将其称之为“Virtual Partition Hash”策略。为了解决节点数...
websocket通信协议实现的是基于浏览器的原生socket,在客户端用JS即可轻松完成,前些天都在学习websocket 协议(但实际上websocket 协议甚为简约),并且粗略的思考过websocket的对于下一代web应用会产生怎样的影响,我想最大的巨变应该是就是实时性上吧!另外诸如上传大文件之类的优于http的应用。但问题也随之而来,服务端怎么办?前些天我弄了个websocket 聊天室的demo,现在还得在服务器上专门开个进程来跑呢,也许到时候不再...
前几年开始大量流行博客,连要饭的都更博,博客火得就剩一个字――火!有人要搞博客,自然玩程序的就要跟进,搞出各种博客系统来,什么wordpress、zblog等等。界面大同小异,...
总有人说新浪博客慢,其实我也一直在纠结什么是慢,为什么大家说慢,这周一直在考虑这个问题,简单总结一下。用户是从直观感受上来判断慢的,主要有以下几个:1:某些组件老是在加载中,比如积分,好友组件,而且长期加载不上2:白屏现象:主要是主页面响应过慢或者是css没有下载下来(我一般是依据这个来判断快慢的)。3:客户端渲染慢:理论上和用户电脑配置有部分关系,主要还在于客户端的渲染程度,以前博客经常出现"假死"情况,...
说起改版,往往是领导拍板,而不是数据说话,这是目前比较流行的现状。转自 http://www.caiwenhui.com/tuijian/read/10177 第8次 改版每天都有2.68亿人使用谷歌来搜索信息。每当用户输入搜索请求后,谷歌的软件便会给出最相关的链接。虽然后台运算非常复杂,但整 个查询过程却非常简单,也难怪用户会忽略很多流程。那么究竟是哪些人会去关注其中的各个元素呢? 虽然在地图、图书、电子邮件和社交网络 等领域都进行了尝试,但谷歌...
在使用Twitter几年的时间里面,经常思考微博如何更好的实现,恰好最近几个月也参与了相关工作,大部分都是工程实践,总结实践会促生更具实际价值的理论。因此在QCon Beijing 21010年在参考了不少网友的意见后选择了《构建可扩展微博架构》的题目。由于在决定选题时知道来自Twitter总部有30万followers的@nk也会讲一个类似的题目,心中当时有点忐忑,最大的顾虑就是我要讲的他全部覆盖了,而且讲得更深入,我就没必要班门弄斧了。...
根据CAP理论,一致性(C),可用性(A),分区容错性(P),三者不可兼得,必须有所取舍。而传统数据库保 证了强一致性(ACID模型)和高可用性,所以要想实现一个分布式数据库集群非常困难,这也解释了为什么数据库的扩展能力十分有限。而近年来不断发展壮大 的NoSQL运动,就是通过牺牲强一致性,采用BASE模型,用最终一致性的思想来设计分布式系统,从而使得系统可以达到很高的可用性和扩展性。但是,对于CAP理论也有一些不同的声音,数...
对于大型网站来说,提到的每个方法可能都会被同时使用到,Michael这里介绍得比较浅显,具体实现过程中很多细节还需要大家慢慢熟悉和体会,有时一个很小的squid参数或者apache参数设置,对于系统性能的影响就会很大,希望大家一起讨论,达到抛砖引玉之效。
如何最大限度的提升中国的网站速度,今天发信给我信任的朋友们,老冒回复如下:我朝Internet南北不畅通的解决方案(老旧方案)(需要翻墙。可以在Google Reader里面订阅http://robertmao.com/feeds/latest/访问)。很多要点老冒几乎都提到了,我在此列出我的一些问题和思考,共有用样需求的各位讨论。1. MySQL跨越广域网的复制(Replication of MySQL)是否稳定可靠除了老冒写到的基于页面或者部分页面的缓存方案(Squid as cache),...
这不是一篇关于Oracle和MySQL技术比较的文章,而是我对Oracle和MySQL甚至 NoSQL产品选择上的一些想法。我们过去和现在使用了大量的Oracle数据库,几乎我们所有的数据都存放在Oracle数据库里面,我们有高端的小型机,大型存储和全国最牛的DBA团队。这些都让我们引以为傲。随着业务不断增长,数据量和计算量越来越庞大,我们发现小型机都无法满足我们的需求,除了Oracle我们别无选择,我们被“绑架”了,被IBM,EMC,ORACLE绑架了...
• 淘宝的一些架构
今天和运维同事讨论了下Q1的计划,我比较坚持80/20的原则,改造的最终目标应该是和用户直接有关的,边边角角的应该暂时放弃,说到“以后”这个词,都快麻木了,觉得缺少冲劲了,不过应该是冲动转换为成熟了。明天目标是将具体时间点列出来。顺带看了几个ppt,主要是关于淘宝的.1:基于java构建的淘宝.1)汗颜的是淘宝的v1阶段是我们面前的阶段。主要几个问题和我们比较类似:不利于团队开发/不利于长期持续发展/无技术积累2...
在公司近几年,遇到过的重大BUG都是因为数据库使用不当而导致的,所以说数据库的使用演变左右了整个技术架构,未来想做好一个优秀的程序员,学习数据库是必不可少的。涉及的东西希望不要透露公司机密。第一阶段:刚进公司的时候,数据库已经很前瞻性的使用了sharding.采用了分库,分表的拆分方法。根据产品功能类别进行了数据库的拆分,根据用户的编号进行了分表拆分.从设计上来说,当初的设计也是能够满足日后数据膨胀需求的.几个明显...
• 云计算概览
最近有不少朋友问到云计算,大家都对此充满好奇。这里放出我整理的一部分资料,希望能给大家树立一个基本的印象。和之前的PPT有部分内容重叠,不同的是详细了下各个部分的情况。云计算的特征从特征上讲,云计算具有以下八大特性: 共享的,标准的服务
今天裕波发了一链接给我是周爱民老师在淘宝做的一个分享的视频:“前端,架构,框架与库” (http://v.youku.com/v_playlist/f4262628o1p0.html)又看了淘宝玉伯的感想(http://lifesinger.org/blog/2010/03/thinking-of-architecture/)。看的我也想说两句。无论是大公司还是小公司,创业公司还是成熟公司的前端开发都需要一个“架构师”的角色。理由很简单就是我在这些公司都呆过。但大家对“前端架构师”的理解,我怎么听都觉...
Windows 游戏软件在发布时,通常会把所有数据文件打包。这通常出于两个目的:一是保护数据文件不被最终用户直接查看,二是 Windows 的文件系统一度相对低效。尤其是在处理非常多小文件的时候,无论是安装、分发还是运行时处理都有性能问题。而游戏软件通常会有大量的资源文件,对数据文件打包的需求更为强烈。一般游戏引擎都会支持至少一种资源打包的形式。打包数据文件的概念和实现,我最早是对 Allegro 的源码阅读学习来的,算起...
• 什么是网页标准?
译序:现在HTML5如日中天,各大浏览器都声称支持或者将支持HTML的特性,好像HTML5能够让互联网更美好,能让网站开发人员解放一样。或许大家被压抑太久,或许大家太乐观,或许标准真的已经...
对于绝大多数发展中等的web 2.0网站来说,LAMP结构已经不能满足现在的需要了,新的架构组合是GLAMMP,G=Gearman(分布式远程过程处理),M=Memcached(高性能的分布式的内存对象缓存系统)。简单的说Gearman是PHP实现异步处理利器,当然不仅仅是PHP实现异步处理的手段。 Gearman简介 Gearman是 Brad Fitzpatrick 的一个作品,用 Perl 写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括 C/Perl/Python/Ruby 等,在 clien...
很多公司都会遇到应用集成的一些问题,其中一项就是RPC的问题.企业内部应用集成(请求应答模式)的通信一般有方式,一种是RPC方式,另外一个是非RPC方式.先说说非RPC方式的实现:比如说A-Y这25个应用依赖于Z这个应用,那么Z应用将丢一个开发文档给A-Y个应用的开发人员,告诉他们说,照着文档开发吧,A-Y个应用的开发人员打开文档,看到一个URL,...
近3天十大热文
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [69] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [63] android 开发入门
- [62] Go Reflect 性能
- [61] find命令的一点注意事项
- [59] 流程管理与用户研究
- [58] 图书馆的世界纪录
- [57] Oracle MTS模式下 进程地址与会话信
- [56] 【社会化设计】自我(self)部分――欢迎区
赞助商广告