(一)开始架构设计

一、如何设计

   1.提出设计

       要想设计好一个架构,首先要考虑全面且不能漏下重要需求。可以借助于UML或者产品DEMO图梳理思路,让整个产品在自己头脑内部形成一个清晰完整的形象,等到这时候你就可以着手设计方案了。

       设计方案最好设计3~5个,这个范围的数量可以考虑周全而不用耗费过多的精力时间。方案之间的差别不能只是参数或配置的区别,如果只是修改参数就可以完成另一个方案,那么根据这些参数已经可以选择出一个较优方案,不会是同时入选。

       方案设计不要局限于经常使用或熟悉的技术,这个要平时多积累,多接触潮流技术并关注技术热点,也许其中一个会是方案最好的选择。

   2.设计评估

    在列出了每个方案的关键属性点之后,在研发部门范围内,集思广益,探讨项目的优劣,抉出最终方案。如果所有方案均不可行,那么需要看看是遗漏了哪个关键技术点还是关键属性,重新制定设计方案并进行新一轮的设计评估。

        

二、设计要点

1.设计数据库的时候,要确认以下几点:

          ①表格设计是否有ER图展示

          ②采取分表需要解决下列问题:

                 1)join操作

                 2)count操作

                3)order by操作

         ③采取分库需要解决下列问题:

                1)join操作

                2)事务问题

                3)成本问题   

         ④是否读写分离

         ⑤是否建立主备数据库并支持主备倒换

         ⑥数据复制的实现过程是否有漏洞

         ⑦采用关系数据库会有下列缺陷:

               1)无法存储数据结构(可用Redis代替)

               2)schema扩展不便(可用MongDB代替)

              3)大数据IO高,列数据都会放入缓存(可用HBase代替)

              4)全文搜索弱(用ElasticSearcn)

2.设计服务器:是否需要采用集群,建议在确定系统没有优化空间后再考虑。

3.设计方案最好不要过于复杂:这样实施的时候难度不会太大,也不容易出错,建议方案分步骤、分阶段、分系统设计执行。

4.不要过度设计,一个产品若没有用户积累,却设想流量暴增100倍之后的情况,不仅增加了项目的复杂度,还消耗了大量的资源,在维护的时候将苦不堪言。      

        篇后语:老实说,我目前还未达到架构师的水准,这是在学习《从0开始学架构》后的第一篇总结性博客,之后陆续还会再系统性的分享几篇,尽量保证覆盖全面的架构知识。大部分是干货,希望大家能有所获。而有不足的地方,也请留下宝贵的建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值