架构师之家

 找回密码
 立即注册
查看: 619|回复: 0

怎么才能成为一名优秀网站架构师

[复制链接]

51

主题

51

帖子

244

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
244
发表于 2019-6-22 12:55:41 | 显示全部楼层 |阅读模式
一个具有一定知名度的网站,面对的问题无非是:稳定的性能、海量访问、海量数据。

   优秀的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

楼主热帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Dzend Inc. ( 赣ICP备15003362号-1

GMT+8, 2019-9-23 15:05 , Processed in 0.048910 second(s), 7 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表