架构设计小记

简介: 架构设计小记

1.全面解耦原则:对业务进行抽象建模,业务数据与业务逻辑解耦,软硬件解耦,平台和产品解耦,系统各部件解耦。模块、组件高内聚,低耦合。

2.服务化/组件化原则:以服务、数据为中心,构建服务化、组件化架构,具备灵活,按需组合的能力。

3.接口隔离及服务自治原则:通过接口隐藏服务/组件实现细节,服务/组件只能通过接口进行交互,接口契约化,标准化,跨版本兼容;服务/组件可独立发展、独立发布、独立升级,服务自治,可视、可管、可控、可测、可维,故障自愈。

高效开发原则:创建支持迭代、增量、持续交付的架构,支持部件独立开发、自动化编译构建、测试、集成验证、并易于高效修改和持续优化;支持开发组织小型化,扁平化,支持小团队独立高效并行开发。


甲方提出需求→乙方预估工作量和费用→甲方确认工作量和费用→乙方进行开发→甲方验收开发结果。


一个架构的好坏,决定了后面的业务发展迭代, 前期做的时候,最好是能对自己将要做的产品做个评估, 数据增长周期的长短都要考量。这样设计出来的架构才有可能达到后期的业务拓展。


现在的很多架构都是基于一些开源框架, 做架构的时候,最好看下该开源框架的社区活跃度, 尽量不要使用哪些已过时的框架。 社区活跃度说明了该框架还是经得起考验的。


大型项目最好做个详细的规划, 技术选型上都要考虑周全,  技术驱动业务, 业务反哺技术。

业务和技术都是相辅相成的。


目录
相关文章
|
人工智能 供应链 Linux
《国产服务器操作系统发展报告(2023)》重磅发布
根据近期信通院面向用户群体的调研显示,国产服务器操作系统逐渐成为各行业替换首选,其中,龙蜥操作系统位列用户意愿迁移系统的首位。
|
前端开发 JavaScript 数据管理
前端框架对比:React、Vue与Angular
【7月更文挑战第2天】React、Vue和Angular是前端三大框架,各有特色。React以组件化和虚拟DOM著称,适合大型SPA;Vue轻量且易用,适用于快速开发;Angular是全面解决方案,适合复杂应用,但学习成本高。选择取决于项目需求和团队技能。
|
Linux 数据处理
Linux中的mknod命令:深入解析与实用指南
**mknod命令详解:Linux下创建设备文件与FIFO** Linux中的mknod用于创建设备文件(块设备、字符设备)和命名管道。需root权限,语法:`mknod NAME TYPE MAJOR MINOR`。例如,创建块设备`/dev/sda`(b 8 0)和字符设备`/dev/null`(c 1 3)。命名管道示例:`mknod /tmp/myfifo p`。注意:现代系统多用udev管理设备文件,手动使用需谨慎。
|
10月前
|
人工智能 搜索推荐
AI视频技术的发展是否会影响原创内容的价值
AI视频技术的发展显著降低了视频制作的门槛与成本,自动完成剪辑、特效添加等繁琐工作,大大缩短创作时间。它提供个性化创意建议,帮助创作者突破传统思维,拓展创意边界。此外,AI技术使更多非专业人士也能参与视频创作,注入新活力与多样性,丰富了原创内容。总体而言,AI视频技术不仅提升了创作效率,还促进了视频内容的创新与多样化。
|
11月前
|
Java 数据库连接 数据库
Spring Batch 中的 Tasklet 是什么?
Spring Batch 中的 Tasklet 是什么?
541 2
|
数据可视化 前端开发 数据处理
smardaten无代码这么牛逼?逻辑编排不用代码!
smardaten 的 MES 系统案例展示了其在数据对接、应用模块开发等方面的强大能力,尤其是无代码实现前后端逻辑交互。通过数据处理组件、逻辑控制和服务编排,smardaten 能够轻松实现复杂业务逻辑的自动化,如计划编排和工单派工。其高度灵活性和可扩展性使其成为应对多种复杂项目需求的理想选择。平台支持可视化编码调试、增强协作效率、逻辑复用及丰富的组件事件,适用于快速响应和灵活调整的业务场景。
332 15
smardaten无代码这么牛逼?逻辑编排不用代码!
|
存储 JavaScript 前端开发
Generator 函数的使用场景有哪些?
【10月更文挑战第30天】Generator函数在JavaScript中提供了一种强大而灵活的编程模式,能够在异步编程、数据处理、状态管理等多个领域发挥重要作用,帮助开发者更高效地解决各种复杂的编程问题,提高代码的可读性和可维护性。
|
存储 Java
【数据结构】优先级队列(堆)从实现到应用详解
本文介绍了优先级队列的概念及其底层数据结构——堆。优先级队列根据元素的优先级而非插入顺序进行出队操作。JDK1.8中的`PriorityQueue`使用堆实现,堆分为大根堆和小根堆。大根堆中每个节点的值都不小于其子节点的值,小根堆则相反。文章详细讲解了如何通过数组模拟实现堆,并提供了创建、插入、删除以及获取堆顶元素的具体步骤。此外,还介绍了堆排序及解决Top K问题的应用,并展示了Java中`PriorityQueue`的基本用法和注意事项。
301 5
【数据结构】优先级队列(堆)从实现到应用详解
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
简介 在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。 1. Perf 基础 1.1 Perf 简介 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找。利用perf剖析程序性能时,需要指定当前测试的性能时间。性能事件是指在处理器或操作系统中发生的,可能影响到程序性能的硬件事件或软件事件 1.2 Perf的安装 ubuntu 18.04: sudo apt install linux-tools-common linux-tools-4.15.0-106-gen
389 2
|
存储 安全 测试技术
移动应用的安全测试与加固技术深度解析
【8月更文挑战第2天】随着移动互联网的发展,移动应用成为生活必需,但安全威胁也随之加剧。本文深入探讨移动应用的安全测试与加固技术,包括权限访问、数据加密、安全协议、组件安全测试及渗透测试等内容,同时覆盖源代码、运行时环境、数据传输存储及业务逻辑加固等方面,为开发者提供全面指导,以保护用户数据和企业资产安全。
663 12