架构设计要点总结

1 篇文章 0 订阅

根据以往经验总结一下架构设计的要点,记录下来,以后定期修整并添加新的感悟:

1. 了解需求,对现有需求,未来可能的需求均要了解,需求变化很正常,从架构层面做到开闭原则,以便可持续发展,如何做到,比如osgi这种插件化思想,小内核,新功能新插件,还比如一些设计模式:适配器模式

2. 分而治之,比如:按照高内聚低耦合的思路对系统进行垂直拆分,便于对子系统进行精细化的制定设计,并且屏蔽系统演变一定层度上只发生在子系统避免波及整个系统,这种拆分的思想还在别的很多地方出现:分库分表

3. 服务化,系统被拆解了,要实现业务逻辑或者数据的共享,需考虑服务化,通过服务的方式把数据暴露出来,以及把一些逻辑封装成服务,尽量避免jar包的依赖,http,restfull,websevers,rpc框架,需考虑服务容错,降级,性能,监控等

4. 有一些设计思路,比如自上而下和自下而上分析法,团队无经验也没太多参考时对全局没有概念可采用自下而上的分析法,先解决已知的问题,再迭代跟进,如果一开始就对产品相关知识很清楚则可采用自上而下的分析方法

5. 具体在设计系统时,有一个很重要的环节就是技术选型,这里面有一些思路,比如:充分测试,选择有能力catch住的技术,有大公司支撑的技术,选择不好未来可能是一堆坑,

还有参考行业no1.,no2同类产品的架构

6. 在很关键的性能方面的设计,可考虑:

  异步化,比如:多线程,事件机 制:redis,nodejs,ngnix;

  使用cache:双cache

  采用通知机制而不是轮寻机制

  提前准备

7. 要重视数据库的设计,元数据的改动一般都很麻烦,尽量符合数据库设计范试,并且尽量不要设计过宽的宽表,最好每个表都有新增时间,最新更新时间,重要数据还需有历史明细表

8. 关键文档很重要

9. 系统内部可以复杂,但是给用户使用一定要简单

10. 对一个系统的好坏可以从如下几个方面进行评估:易用性,稳定性,高性能,可扩展性,安全性,可维护性

11. 类设计:模板模式,单例模式,工厂模式,代理模式,适配器模式等

12. 采用aop面向切面的思想

13. 多个维度的看待问题,懂得取舍,别过度设计

14. 集群无状态,线性扩展

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值