一个合格的网站架构师应该注意的几点
2011-09-14 22:14
169 查看
面对的问题无非是:稳定的性能、海量访问、海量数据
需要掌握以下几点:
一 开发语言架构:应该至少熟悉一种web开发语言,包括java、web、python、ror等,然后采用比较稳健的、成熟的开发语言架构
二 单点登陆
1) 自建session server,类似discuz的passport的方案
2)目前常用的是cas sso解决方案
三 web服务器集群:
1)负载均衡:软件比如keepalived,ultramokey.硬件如四层交换机;
2)web服务器集群方案:常用lvs
3) web服务器选型:apache、Nginx、lighttpd
4)其他服务器-如java 应用服务器的集群部署;
四 利用缓存:
1) 页面静态化规则,页面缓存;缓存软件:squid,oscache,等
2) 常用数据缓存解决方案,缓存数据命中率
3) 如果采用ORM,考虑采用二级缓存
五 ajax: 避免页面全局刷新,提高用户体验;合理使用,避免泛滥。
六 数据库
1) 集群数据库
a) 如果数据库采用mysql,那么一般是master-slave,对master进行写入或更新数据,对slave进行数据的查询。如果使用hibernate那么,使用native sql太动态绑定不同的数据库表。复杂一些可以研究一下Hibernate Shards,这是google捐献给hibernate的项目的。
b) oracle数据库集群,可以采用磁盘阵列方式,oracle部署在几个服务器上,表和数据文件放在磁盘阵列上
2) 做好备份策略
3) 分清不同数据的生命周期。根据不同的生命周期,做好数据的归档/转存的工作
4) 商业数据存储首选大型商业数据库,其他数据可以用mysql等开源数据库。
七 搜索引擎:
1) 常用的技术选型是lucene ,另外有ferret,Sphinx。
2) 分布式存储和分布式查询
3) 中文分词
需要掌握以下几点:
一 开发语言架构:应该至少熟悉一种web开发语言,包括java、web、python、ror等,然后采用比较稳健的、成熟的开发语言架构
二 单点登陆
1) 自建session server,类似discuz的passport的方案
2)目前常用的是cas sso解决方案
三 web服务器集群:
1)负载均衡:软件比如keepalived,ultramokey.硬件如四层交换机;
2)web服务器集群方案:常用lvs
3) web服务器选型:apache、Nginx、lighttpd
4)其他服务器-如java 应用服务器的集群部署;
四 利用缓存:
1) 页面静态化规则,页面缓存;缓存软件:squid,oscache,等
2) 常用数据缓存解决方案,缓存数据命中率
3) 如果采用ORM,考虑采用二级缓存
五 ajax: 避免页面全局刷新,提高用户体验;合理使用,避免泛滥。
六 数据库
1) 集群数据库
a) 如果数据库采用mysql,那么一般是master-slave,对master进行写入或更新数据,对slave进行数据的查询。如果使用hibernate那么,使用native sql太动态绑定不同的数据库表。复杂一些可以研究一下Hibernate Shards,这是google捐献给hibernate的项目的。
b) oracle数据库集群,可以采用磁盘阵列方式,oracle部署在几个服务器上,表和数据文件放在磁盘阵列上
2) 做好备份策略
3) 分清不同数据的生命周期。根据不同的生命周期,做好数据的归档/转存的工作
4) 商业数据存储首选大型商业数据库,其他数据可以用mysql等开源数据库。
七 搜索引擎:
1) 常用的技术选型是lucene ,另外有ferret,Sphinx。
2) 分布式存储和分布式查询
3) 中文分词
相关文章推荐
- 一个合格的网站策划应该知道的!
- 一个合格的程序员应该读过哪些书
- 一个合格的程序员应该读过哪些书
- 一个合格的程序员应该读过哪些书(转)
- 一个合格的程序员应该读过哪些书
- 一个合格的程序员应该读过哪些书
- thcomm调用应该注意的一个问题
- 二手车试驾是重点应该注意哪几点?
- 一个合格的程序员应该读过哪些书(留给自己看的)
- 作一个真正合格的程序员应该具有的素质
- 作为一个合格的Web开发工程师应该掌握的技术
- 一个合格的程序员应该读过哪些书
- 一个合格的程序员应该读过哪些书
- 关于cocos2dx创建CCLayer应该注意的几点
- 考CCNA应该注意的几点
- 一个合格的程序员应该读过哪些书
- 部署PHP项目应该注意的几点事项分享
- 设计缓存系统时应该注意的几点问题
- 一个合格的程序员应该读过哪些书
- 一个合格的程序员应该读过哪些书