
网站架构
文章平均质量分 60
gonxi
这个作者很懒,什么都没留下…
展开
-
google的三大核心技术MapReduce/GFS/BigTable
<!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Desc转载 2009-09-12 13:24:00 · 2152 阅读 · 0 评论 -
NIO双线程处理服务器原型完整源代码
1、Serverpackage server;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.ServerS原创 2012-02-24 20:05:43 · 2696 阅读 · 0 评论 -
Flash服务端常见架构方案
目前有以下几种网页游戏服务器:利用.asc通信文件访问其他高级语言,比如java,vc,.net等访问数据库1)FMS(Flash Media Server)用AS2.0或者AS1.0来构建服务器端的,而客户端可以用AS3.0。在视频方面比较有优势,但是一般现在要结合其他语言开发比如NET类的。flash聊天室啊,在线视频会议啊啊, 网络转载 2011-12-21 12:58:43 · 3838 阅读 · 0 评论 -
从上百幅架构图中学大型网站建设经验(上)
转至 http://blog.youkuaiyun.com/v_JULY_v/article/details/6839360 引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设转载 2011-12-07 10:09:46 · 1542 阅读 · 0 评论 -
TCMalloc:线程缓存的Malloc
作者:Sanjay Ghemawat, Paul Menage原文翻译:ShiningRay动机TCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc都快。ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次malloc及free大约需要300纳秒。而TCMalloc的版本同样的操作大约只需要转载 2011-11-30 12:34:37 · 1129 阅读 · 0 评论 -
使用 google-perftools 剖析程序性能瓶颈
冯文龙google-perftools 简介google-perftools 是一款针对 C/C++ 程序的性能分析工具,它是一个遵守 BSD 协议的开源项目。使用该工具可以对 CPU 时间片、内存等系统资源的分配和使用进行分析,本文将重点介绍如何进行 CPU 时间片的剖析。 google-perftools 对一个程序的 CPU 性能剖析包括以下几个步骤。1. 编译目标程序,加入对转载 2011-11-30 11:58:33 · 1437 阅读 · 0 评论 -
Cassandra和HBase主要设计思路对比
xiaofeng 2011-04-13 CassandraHBase一致性Quorum NRW策略通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性单节点,无复制,强一致性可用性1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障。2,某节点宕机,转载 2011-11-29 13:31:58 · 816 阅读 · 0 评论 -
淘宝数据魔方技术架构解析
作者: baiyuzhong 淘宝网拥有国内最具商业价值的海量数据。截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。为此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和转载 2011-11-28 17:53:55 · 863 阅读 · 0 评论 -
[架构]F1Engine v0.1 alpha使用说明
F1Engine V0.1 alpha 2011 瞿正峰版权所有,保留所有权利中国 上海 一、概述 F1Engine V0.1 alpha版本是我用晚上的业余时间写的一个java文件操作组件,目前只是在原型的测试阶段。 主要的设计目标是:简原创 2011-08-04 00:05:25 · 1506 阅读 · 0 评论 -
NIO双线程处理服务器原型完整源代码(续)
增加了一个写线程,这次真的是完整了。修改了以下文件,其他没变。 1、Serverpackage server;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.channels.SelectionKey;import java.nio.channels.Selec原创 2012-02-24 21:11:10 · 2838 阅读 · 0 评论 -
自己写的JAVA多服务器通讯框架原型终于完成了!!!
用JAVA 写的多服务器通讯框架,目前实现AccountServer,GatewayServer,GlobalServer,RecordServer,SessionServer和Client的框架代码,可以实现简单的命令行发送文字,接下来是要优化性能和增加相应的功能。已经实现的功能:1、NIO的读写2、Socket粘包处理3、任务处理4、客户端连接5、指令定义6、连接验原创 2012-03-12 23:58:33 · 5184 阅读 · 1 评论 -
用MyEclipse10在5分钟之内开发一个基于JAX-WS的Web Service实例
一、打开MyEclipse,新建一个Web Service项目。二、输入项目名Demo点Finish新建项目。三、新建一个java类package server;public class Demo {public String sayHello(String name) { return name + ", hello!";}}四、点src原创 2012-04-20 23:00:08 · 9919 阅读 · 3 评论 -
Nginx+PHP+MySQL双机互备、全自动切换方案
[文章作者:张宴 本文版本:v1.0 最后修改:2008.11.19 转载请注明原文链接:http://blog.s135.com/post/379/] 在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,我设计了此套方案,编写了failover.sh转载 2012-04-26 09:03:27 · 4463 阅读 · 0 评论 -
用visual studio 2005开发web service实例
我的运行环境是windows server 2003,安装vs2005,SQL Server 2005由于win7和vs2005有兼容问题,而vs2010与SQL Server 2005有兼容问题,所以还是回到server 2003,vs2005上开发。下面说下制作web service的步骤:1、打开vs2005选择菜单:文件->新建->网站2、选择:ASP.NET We原创 2012-04-11 18:52:11 · 6381 阅读 · 0 评论 -
2012年项目进展情况和未来计划
一、网络 1、NIO读写 项目状态:已完成 2、EPOLL读写 项目状态:未开始 3、可靠UDP 项目状态:未开始 4、ICE读写 项目状态:已完成 5、Corba读写 项目状态:未开始 二、性能模块原创 2012-03-02 14:56:54 · 3390 阅读 · 0 评论 -
使用SQL Server的存储过程和触发器来实时同步ERP和淘宝网的数据
目前接手一个项目,是一个销售服装的电子商务网站, 内部使用商贸之星的CRM来管理订单和库存,外网有淘宝商城,为了实现商贸之星和淘宝商城之间的库存数据保持同步,需要自己开发这样一个工具.现场环境:1、淘宝商城2、商贸之星 对于淘宝商城,客户在淘宝上下订单,发生库存的变化,应该能及时通知内网的商贸之星,而内网的商贸之星内的库存变化,应该及时更新淘宝商城的库存数量。目前淘宝有很成原创 2012-04-09 17:17:54 · 5080 阅读 · 1 评论 -
JAVA多服务器通讯框架进展-添加Protobuf指令解析功能
用java写的多服务器通讯框架基本成型,为了给框架增加多语言的支持,以便可以支持与多种语言开发的客户端互相通讯,目前暂定Flash,java,C三种语言,综合考虑,选用google protocol buffer。以前在开发游戏服务器的项目中使用过protobuf,感觉和ice相比功能上有点弱,但因为是google家的,现在用的人比ice多。一、下载protobuf地址:http://原创 2012-04-04 23:35:47 · 5471 阅读 · 0 评论 -
JAVA多服务器通讯框架-聊天功能演示程序 V0.1 alpha 发布并提供下载
2012 瞿正峰版权所有,保留所有权利中国 杭州 一、概述 JAVA多服务器通讯框架是基于NIO开发的Socket通讯框架,实现了客户端和服务器,服务器与服务器之间的通讯功能,适合应用于大型聊天服务器,大型游戏服务器。 本演示程序实现了一个基本的命令行聊天功能,以演示基本的通过socket发送游戏指令或聊天消息的能力。二、使用方法 1、注册 命令格式: r原创 2012-03-15 22:31:20 · 3886 阅读 · 0 评论 -
用Eclipse导出jar包时注意点
时隔多年,最近又开始使用OSGI,计划实现一个基于OSGI的swt插件框架,为此在做declarative service的例子,按照网络上的说明配置好了,但在felix里测试了几天都没成功,昨天在eclipse的控制台里直接测试成功了,但在felix里却还是不行,从网络上下个可用的示例却都可以,最后怀疑是我发布的jar包的内容有不一样,经过仔细检查,原来是MANIFEST.MF和工程里的不一致,原创 2012-03-31 09:32:50 · 3278 阅读 · 0 评论 -
[架构]Cache v0.1 alpha 使用说明
Cache V0.1 alpha 2011 瞿正峰版权所有,保留所有权利中国 上海 一、概述 Cache V0.1 alpha版本是我用晚上的业余时间写的一个java缓存组件,目前只是在原型的测试阶段。 主要的设计目标是:简单方便 可以方便地加到应用中,可以满原创 2011-07-24 16:09:42 · 1430 阅读 · 0 评论 -
[框架]Cache v0.1 alpha 版权声明
博客http://blog.youkuaiyun.com/gonxi一、版权声明本软件归作者本人版权所有,作者保留一切权利。作者:瞿正峰 中国上海 2011.7二、适用限制 1、以下不得使用本软件: 阿里巴巴及旗下所有直接投资或间接投资的子公司的所有项目原创 2011-07-24 16:13:48 · 1338 阅读 · 0 评论 -
Conversion Between Unicode-UCS-4 And UTF-8 (Unicode-UCS-4 与 UTF-8 之间的转换)
<br />Note: part of this article is referenced from RFC2279 - UTF-8, a transformation format of ISO 10646.<br />I'm kinda practising my C programming skills, and I found some friends had written some codes, but the codes might not be readable. I learned th转载 2010-11-08 09:56:00 · 1254 阅读 · 0 评论 -
数据库水平切分的实现原理解析
<br /> 第1章 引言<br />随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;转载 2010-12-28 20:42:00 · 792 阅读 · 0 评论 -
教你省钱!淘宝总结节能服务器应用场景
<br /> 【IT168 专稿】8月29日,2010年系统架构师大会在北京永泰福朋.喜来登大酒店拉开帷幕。本次大会主题是:“企业IT应用最佳实践”,是由IT168联合旗下三大技术社区ChinaUnix、ITPUB、IXPUB主办的继2009年第一届系统架构师大会之后偏重技术经验分享和案例剖析的又一次技术盛宴。据悉,本次技术大会邀请了37位各行各业、国内最顶级的技术专家分享来自企业技术一线的系统架构最佳实践经验。<br /><br />淘宝网技术委员会主席,淘宝网核心工程师章文嵩博士<br /> 在8月转载 2010-12-21 22:34:00 · 903 阅读 · 0 评论 -
揭秘淘宝286亿海量图片存储与处理架构
<br />【IT168 专稿】8月27日下午,在IT168系统架构师大会存储与系统架构分论坛上,淘宝网技术委员会主席,淘宝网核心工程师章文嵩向我们详细介绍了淘宝网图片处理与存储系统的架构。章文嵩博士的演讲日程包括了淘宝的整个系统架构、淘宝图片存储系统架构,淘宝网独立开发的TFS集群文件系统,前端CDN系统以及淘宝网在节能服务器方面的应用和探索。<br /><br />LVS创始人,淘宝网技术委员会主席,淘宝网核心工程师章文嵩先生<br /> 本文侧重介绍淘宝网后台的图片存储系统架构、包括TFS集群文件系转载 2010-12-21 22:21:00 · 1258 阅读 · 0 评论 -
The C10K problem
<br /> <br />It's time for web servers to handle ten thousand clients simultaneously, don't you think? After all, the web is a big place now. <br />And computers are big, too. You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethern转载 2010-12-21 22:54:00 · 848 阅读 · 0 评论 -
淘宝商城286亿图片访问的CDN架构全解析
<br />【IT168 专稿】8月29日,2010年系统架构师大会在北京永泰福朋.喜来登大酒店拉开帷幕。本次大会主题是:“企业IT应用最佳实践”,是由IT168联合旗下三大技术社区ChinaUnix、ITPUB、IXPUB主办的继2009年第一届系统架构师大会之后偏重技术经验分享和案例剖析的又一次技术盛宴。据悉,本次技术大会邀请了37位各行各业、国内最顶级的技术专家分享来自企业技术一线的系统架构最佳实践经验。<br /><br />淘宝网技术委员会主席,淘宝网核心工程师章文嵩淘宝网技术委员会主席,淘宝网核转载 2010-12-21 22:31:00 · 1556 阅读 · 0 评论 -
宽字符处理函数函数与普通函数对照表
<br />想知道具体在什么头文件 man 一下就行. <br />如:man wcslen <br /> #include <wchar.h> <br /><br /> size_t wcslen(const wchar_t *s); <br /><br /><br />宽字符处理函数函数与普通函数对照表 <br /><br /> 字符分类: <br /><br /> 宽字符函数转载 2010-10-10 10:15:00 · 850 阅读 · 0 评论 -
C/C++多字节字符与宽字符的输出
使用C++标准库的iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表示作为流来处理,但要处理中文,却会碰到很多问题。本人原来没怎么用过这个iostream,这几天尝试用这个写点东西,一会儿不能输出中文,一会儿不支持中文文件名的,搞得头大。网上搜了搜,没有发现适用于所有情况的解决方案。不过后来自己经过多次测试,基本解决了这些问题,现在写成文字作为一个总结,也供碰到同样问题的朋友参考。关于C语言中的 printf和wprintf的中文输出,本文也进行了探讨。<br /><br /> 需要转载 2010-10-10 09:59:00 · 7245 阅读 · 0 评论 -
动态哈希(dynamic hashing)
随着存储设备越来越便宜,哈希表以空间换时间的策略也越来越吃香,而其它如二叉树、红黑树、B树,都因为查询速度不够或实现太复杂而在实战中渐渐不被使用。在日益增大的存储需求下,拥有固定slot(桶)数的静态哈希表已经无法适应需要,动态哈希表便应运而生了。<br /> 动态哈希表通常是在发生冲突后slot数量翻倍增长,而增长后毕竟哈希函数也变了,所以还要把旧slot里的元素重新放置。这种简单的动态哈希(dynamic hash)算法便是SGI版的STL中hash_map的实现。但如果每转载 2011-01-12 13:09:00 · 1794 阅读 · 0 评论 -
php与memcached服务器交互的分布式实现源码分析 [memcache版]
php, memcached, memcache, pecl<br /><br />转载至:http://blog.liubijian.com/php_memcache_code_analysis.html<br /><br />前段时间,因为一个项目的关系,研究了php通过调用memcache和memcached PECL扩展库的接口存储到分布式缓存服务器的机制,在此做我根据他们各自的源码进行分析,希望能对这方面感兴趣的人有些帮助。<br />本篇文章我会针对php和memcache扩展库的交互根据源码展转载 2011-01-12 10:58:00 · 1491 阅读 · 0 评论 -
淘宝架构资料收集
<br />淘宝 MVC 基于turbine的MVC框架 有页面缓存<br />编译工具 ANTX类似MAVEN的工具<br />服务层使用 SPRING<br />持久化层使用 IBATIS 经过修改变成了可以分表分库,类似HIBERNATE SHADES<br />分布式服务使用 HSF 基于HESSION<br />文件存储系统 TFS 基于HANOOP<br />中间件使用JBOSS<br /><br />淘宝1.O APACHE+PHP+MYSQL<br />淘宝2.0 APACHE+JBOSS+转载 2011-04-26 15:09:00 · 1630 阅读 · 0 评论 -
Ganglia 和 Nagios,第 1 部分: 用 Ganglia 监视企业集群
<br />随着数据中心的增长和管理人员的缩减,对计算资源使用有效监视工具的需求变得比以往更加迫切。术语监视 在应用到数据中心时可能会让人混淆,因为它的含义会根据具体的说话者和听众而有所不同。例如:在集群中运行应用程序的人员会思考:“我的作业什么时候运行?它什么时候会完成?以及与上一次相比,它是怎样执行的?” 网络运营中心(NOC)的操作员会思考:“什么时候会出现表示需要解决问题的红灯并安排服务电话?” 系统工程部的人员会思考:“我们的机器如何执行?所有服务是否运行正常?我们可以看到哪些趋势以及如何更好地利转载 2011-03-08 11:24:00 · 835 阅读 · 0 评论 -
大型动态应用系统框架
<br /> 动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。 <br /> 大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。<br /><br /> 大型动态应用系统又可分为几个子系统:<br /转载 2011-03-08 10:40:00 · 1106 阅读 · 0 评论 -
人人网使用的开源软件列表
<br />作者:人人网架构师 张洁 人人网UGC团队博客首发<br /> <br />MySQL<br />关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了<br />Tokyo Cabinet<br />一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示。在key-value并需要转载 2011-03-08 11:21:00 · 1029 阅读 · 1 评论 -
JsonCpp的简单使用方法
<br />JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON转载 2011-02-17 19:56:00 · 3906 阅读 · 0 评论 -
Ganglia 和 Nagios,第 2 部分: 使用 Nagios 监视企业集群
<br />第 1 部分回顾<br />数据中心正在不断增长,而管理职员却在缩减,因此公司迫切需要监视计算资源的工具。本系列的第 1 部分讨论了结合使用 Ganglia 和 Nagios 的好处,然后向您展示了如何使用自定义的监视脚本安装和扩展 Ganglia。<br />回顾 Ganglia 和 Nagios,第 1 部分:用 Ganglia 监视企业集群 中的多个监视 定义(取决于运行的环境): 如果在集群上运行应用程序,您会想:“我的作业何时运行?何时完成?相比上一次它的执行如何?” 如果是网络操作中转载 2011-03-08 11:33:00 · 1684 阅读 · 0 评论 -
什么是MRTG、RRDTool、Cacti、CactiEZ?
<br />什么是MRTG?<br /> MRTG是一套历史悠久的软件,监测网络流量很方便,但是如果需要监测其他的系统性能,比如CPU负载、系统负载、网络连接数等,就不是那么简单了。即使实现了这些功能,但管理起来非常麻烦。比如公司有一两千个被监测点,分布在不同的机房,为了管理方便需要将这些服务器和网络设备分类,这样的话就需要将这些被监测点放在不同的MRTG配置文件中,运行多个crontab,甚至还要自己写HTML页面对其进行管理。<br /> 优点<br /> 简单、易上手,基本安装完了之后只要修改一转载 2011-02-14 18:12:00 · 4553 阅读 · 0 评论 -
dream a dream
<br />以下是关于可伸缩分布式计算框架的一些想法:<br /> <br />1. 远程格式化硬盘,安装系统 <br />2. 装一个监控服务端即可实现所有的管理,包括软件的安装,配置,动态监控 <br />3. 服务器职能可动态根据业务改变 <br />4. 服务器简化硬件,可自动开启或关闭 <br />5. 服务器文件自动互备 <br />6. 软件自动分发,版本维护 <br />7. 软件在线更新 <br />8. 专用嵌入式主机,如缓存 <br />9. 数据库之间的动态复制和数据迁移 <原创 2011-02-25 10:29:00 · 709 阅读 · 0 评论 -
各种同步方法性能比较(synchronized,ReentrantLock,Atomic)
5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类。了解其性能的优劣程度,有助与我们在特定的情形下做出正确的选择。总体的结论先摆出来: synchronized: 在资源竞争不是很激烈的情况下,偶尔会有同步的情形下,synchronized是很合适的。原因在于,编译程序通常转载 2012-07-04 17:03:16 · 3723 阅读 · 0 评论