如何成为一个出色的网站架构师

一个具有一定知名度的网站,面对的问题无非是:稳定的性能、海量访问、海量数据。

    优秀的website architecture应该良好的解决上述问题,那么Terry认为应该熟悉或了解 下面的技术:

  • 开发语言架构:应该至少熟悉一种web开发语言,包括java、web、python、ror等,然后采用比较稳健的、成熟的开发语言架构
  • 单点登陆
    • 自建session server,类似discuz的passport的方案
    • 目前常用的是cas sso解决方案
  • web服务器集群:
    • 负载均衡:软件比如keepalived,ultramokey.硬件如四层交换机;
    • web服务器集群方案:常用lvs
    • web服务器选型:apache、Nginx、lighttpd
    • 其他服务器-如java 应用服务器的集群部署;
  • 利用缓存:
    • 页面静态化规则,页面缓存;缓存软件:squid,oscache,等
    • 常用数据缓存解决方案,缓存数据命中率
    • 如果采用ORM,考虑采用二级缓存
  • ajax:避免页面全局刷新,提高用户体验;合理使用,避免泛滥。
  • 数据库
    • 集群数据库
      • 如果数据库采用mysql,那么一般是master-slave,对master进行写入或更新数据,对slave进行 数据的查询。如果使用hibernate那么,使用native sql太动态绑定不同的数据库表。复杂一些可以研究一下Hibernate Shards,这是google捐献给hibernate的项目的。
      • oracle数据库集群,可以采用磁盘阵列方式,oracle部署在几个服务器上,表和数据文件放在磁盘阵列上
    • 做好备份策略
    • 分清不同数据的生命周期。根据不同的生命周期,做好数据的归档/转存 的工作
    • 商业数据存储首选大型商业数据库,其他数据可以用mysql等开源数据库。
  • 搜索引擎:
    • 常用的技术选型是lucene ,另外有ferret,Sphinx。
    • 分布式存储和分布式查询
    • 中文分词
  • 网络蜘蛛:
    • 知道如何抓取别人网站的网页
    • 懂得如何屏蔽未知或部分蜘蛛访问你的网站
  • seo
  • 关注互联网业内的情况
    • facebook的f8是啥回事
    • google的产品和api,了解Google Maps API OpenSocial API Google Apps 等等
    • 找到sns,blog,wiki等web2.0的技术表现形式
    • guice、google toolkit、Android
    • 关注新冒出来一些网站的情况
    • 研究和分析知名网站的架构
    • 跟踪一些知名技术专家的文章或blog
    • 适当的参加一些技术或互联网聚会和话题讨论
  • 了解比较新的一些技术概念,如soa、esb、云计算、MapReduce、BigTable、Google
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值