`
无尘道长
  • 浏览: 157639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

架构设计要点总结

阅读更多

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

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. 集群无状态,线性扩展

 

分享到:
评论

相关推荐

    软考高级系统架构设计师-精要速记.docx

    软考 高级系统架构设计师 精要速记 总结

    《软件架构设计》读书笔记

    《软件架构设计》没找到电子版。这个笔记只记录了框架要点,仍感觉到对实践的准确总结。 望拥原版者不吝赐予。

    基于ARM Cortex-M3核的SoC架构设计及性能分析

    首先从Cortex-M3的结构特点尤其是总线结构特点出发,分析了基于该核的SoC架构设计的要点。然后通过EEMBC的CoreMark程序,对实际流片的一款Cortex-M3核芯片进行了性能测试,并与STM32F103 MCU的测试结果进行了对比,...

    可伸缩服务架构:框架与中间件 第一部分

    侧重于讲解高可用架构设计的核心要点:可伸缩和可扩展,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的框架,并给出在各个领域解决特定...

    可伸缩服务架构:框架与中间件 第二部分

    侧重于讲解高可用架构设计的核心要点:可伸缩和可扩展,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的框架,并给出在各个领域解决特定...

    《可伸缩服务架构框架与中间件》源码.zip

    本书以高可用服务架构为主题,侧重于讲解高可用架构设计的核心要点: 可伸缩和可扩展,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的...

    基于Java实现农产品交易平台的设计与实现-kaic.doc

    4.1 平台设计要点 4.2 平台架构设计 4.3 平台总体设计 4.4 数据库设计 4.4.1 实体-联系图 4.4.2 数据表设计 5 系统实现 5.1 登录注册 5.2 个人信息 5.3 购物车 5.4 商品查看 5.5 商品订单 6 系统测试 6.1 测试环境 ...

    xxx公司活动目录设计方案.doc

    设计原则和范围 5 3.1 活动目录设计原则 6 3.2 设计要点总结 6 第4部分. 活动目录设计内容 7 4.1 服务器硬件配置 7 4.2 3.2 森林和域结构设计 7 4.2.1 3.2.1 设计要点 7 4.2.2 森林设计说明 8 4.2.3 域设计说明 9 ...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    02-DBA参与项目数据库设计及培训开发人员高效设计MYSQL库语句.avi 03-老男孩核心思想-项目周期的制定思想.avi 04-linux进程占用cpu高的解决方案案例.avi 05-数据库账户权限控制多种思路及技巧.avi 06-数据库客户端...

    肿瘤化疗信息系统设计与应用.pdf

    文档描述医疗信息化在肿瘤方面的应用,描述了系统架构、功能结构以及具体的应用场景。高度概括总结了肿瘤化疗信息化的设计要点。

    很实用的100个js代码

    很实用的js代码技巧,自己经验总结的,拿回去用得着、、

    核酸采样点一站查毕业论文 go+微信小程序

    第六章是总结与展望,对本设计的整体做了一个总结,提出设计实现过程中仍存在的不足之处,并提出后续改进的一些想法。 (1)对实现目标进行需求分析并进行功能的设计,选择需要使用的关键技术。 (2)为方便快捷...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

    Android代码-AndroidModular

    最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。 [TOC] 模块化场景 为什么需要模块化? 当一个App用户量增多,业务量...

    ASP.NET4高级程序设计(第4版) 3/3

     《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...

    淘宝软件基础设施构建实践 pdf

    接着,回顾淘宝图片存储与CDN系统的发展历史,如何从商用系统一步一步走到完全自主的系统,描述自主系统的主要架构与设计思想、性能指标和现有的部署规模,并总结一些经验来指导系统研发;然后,描述淘宝在软件基础...

    淘宝软件基础设施构建PPT

    接着,回顾淘宝图片存储与CDN系统的发展历史,如何从商用系统一步一步走到完全自主的系统,描述自主系统的主要架构与设计思想、性能指标和现有的部署规模,并总结一些经验来指导系统研发;然后,描述淘宝在软件基础...

    以太网交换机单板硬件开发及测试研究

    设计与硬件测试技术中的关键要点,参与新产品从开发到产业化的全流 程,为以太网交换机单板开发以及测试研究提供了较好的思路" 本论文经过对硬件设计的研究分析,将硬件设计分为四个阶段,首 先要熟悉硬件系统架构,其次...

Global site tag (gtag.js) - Google Analytics