- 论坛徽章:
- 0
|
本帖最后由 yahoon 于 2011-12-16 17:14 编辑
架构设计之前,首先是了解业务.
业务类型,当前的规模,投入与产出,未来的发展,可能的瓶颈在哪? 以后的扩展性如何?
很多时候就是做取舍,抓住主要矛盾,对业务最重要的点上投入最多的资源(包括硬件软件,人员,资金等)
甚至每隔2-3年需要重构! 技术的发展日新月异,不要想一个架构能够一直抗下去. 架构师要追技术发展, 业务发展到一定规模时, 当前架构无法满足要求时就该重构!
一般来说,架构要结合产品,并且要做压力测试!
你某个点(例如单纯的web或者db)满足高可用高性能了,并不代表整个系统就是高性能的.
级联效应,蝴蝶效应,在产品上线前中考虑到了没?
讨论了这么久发现那些技术和架构基本也就那么多(网上一搜一堆,基本上满足了"高可用高性能". 只要机器够用,大家都配得出来.但是很多人现在面临的实际问题是公司投入只有这么多,如何设计架构? 这种情况下可能某个部位的单点失效基本上是无法避免的,我们必须有取舍,有测试,关注核心功能. 我之前在做web网站时,常常会问开发人员,少了这个功能,或者这个部件出问题,用户会有什么样的影响? 我们的业务会有什么样的影响? 哪些是次优先级的.
千万级亿万级的网站有多少? 这样的网站轮到你设计的又有多少? 我们重要的是一种理念: 少花钱,尽量多办事,办成事,有了问题也是可控范围内. 有了这个理念, 你的业务不断增长,架构自然是不断扩展的.
选择当下及未来一段时间(你可预见的时间内)满足你和公司的架构吧! 至于技术细节,baidu or google. |
|