Java架构设计
文章平均质量分 87
Java架构设计
思静鱼
大道至简,行稳致远
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
接口重试设计
接口重试设计在和里是非常关键的,它能提高,但如果设计不当,会引发或。原创 2025-09-01 16:27:57 · 859 阅读 · 0 评论 -
异步接口设计方案
特别是在这种场景里。原创 2025-09-01 16:05:24 · 688 阅读 · 0 评论 -
常见的 架构设计原则
常见的可以分为和两个层面。原创 2025-09-01 15:21:33 · 712 阅读 · 0 评论 -
java系统重构
在常用的方法可以分为和。原创 2025-09-01 15:09:49 · 677 阅读 · 0 评论 -
架构设计 重要的要素
架构设计的本质,就是在这些重要的、且往往相互冲突的要素之间进行权衡(Trade-off)。追求极高的性能,可能会增加代码的复杂性,牺牲可维护性。追求极高的安全性,可能会引入额外的验证步骤,牺牲性能。追求极高的可靠性,需要增加冗余,牺牲成本。为了快速上线(业务约束),可能会采用更简单的方案,牺牲一部分可扩展性。一个优秀的架构师不会追求所有维度的完美,而是会:理解业务上下文:明确当前阶段什么要素最重要(例如,初创公司可能更关注上市速度和成本,而金融系统则把安全性和可靠性放在首位)。做出明智的权衡。原创 2025-08-29 16:15:28 · 639 阅读 · 0 评论 -
常见软件架构设计模式
中小型应用:分层架构 + MVC 足够。复杂前端 / 客户端大型互联网 / 高并发:微服务 + EDA + CQRS。业务复杂领域:DDD + 六边形架构。插件化 / 平台型:微内核架构。原创 2025-08-29 15:32:10 · 978 阅读 · 0 评论 -
MVP 和 MVC 分层架构
MVC→ 更偏向后端/Web 开发,适合请求-响应模式。MVP→ 更偏向客户端/移动端 UI,解耦更彻底,便于测试。原创 2025-08-29 15:27:41 · 498 阅读 · 0 评论 -
COLA 架构
COLA架构提供了一套行之有效的实践方案,将DDD、整洁架构、面向对象等优秀思想落到了实处。它通过分层、组件和规范,强制开发者写出结构清晰、可维护性高的代码,非常适合作为复杂业务系统中后端应用的基线架构。它不是万能的银弹,但对于希望提升代码质量和工程能力的团队来说,是一个非常值得学习和引入的架构范式。原创 2025-08-29 15:16:59 · 1720 阅读 · 0 评论 -
架构设计思想和方法论
👉架构设计思想= 一些核心原则(高内聚低耦合、可扩展、高可用、安全性、一致性)。👉架构设计方法论= 一些行之有效的方法(4+1 视图、DDD、演进式架构、ATAM、ADR)。在复杂性、性能、可维护性、成本之间找到平衡;结合业务现状选择合适的架构,而不是追求“最炫技术”。原创 2025-08-29 14:44:39 · 1088 阅读 · 0 评论 -
常见的软件架构设计模式
模式特点优点缺点应用场景分层架构分层解耦清晰、分工明确跨层调用性能差Web系统C/S客户端-服务端职责清晰服务器压力大Web/桌面主从架构主写从读提升性能一致性问题管道-过滤器数据流处理解耦、可扩展性能开销数据处理、编译器微内核核心 + 插件灵活扩展插件复杂IDE、浏览器事件驱动发布订阅高并发、解耦调试难MQ、监听器微服务服务拆分灵活扩展分布式复杂SOA面向服务复用性强治理复杂企业应用集成事件溯源状态由事件重放可追溯。原创 2025-08-29 14:31:57 · 937 阅读 · 0 评论 -
Java架构师核心职责
Java架构师是一个至关重要的高级技术领导角色,其职责远不止是“写代码”。他们是一个团队或项目的。可以将Java架构师比喻为Java架构师是一个的复合型角色。他们不仅是技术的专家,更是。他们的工作直接决定了软件系统的,是任何一家技术驱动型公司的核心资产。原创 2025-08-29 14:25:34 · 854 阅读 · 0 评论 -
数据同步选择推Push还是拉Pull
数据同步选择“推”(Push)还是“拉”(Pull”,要根据实际场景、系统架构和对实时性、资源消耗、安全性的需求来决定。原创 2025-05-09 14:09:18 · 716 阅读 · 0 评论 -
好的软件系统
好的软件系统不仅仅是能运行的代码,而是一个经过精心设计、能满足当前需求并适应未来变化的有机整体。以下是评估软件系统质量的全面框架:一、核心质量属性功能性(Functional Quality)正确性:精确实现需求规格完备性:覆盖所有用户场景合规性:符合行业标准和法规非功能性质量(Non-Functional Quality)可靠性故障率低(如99.99%可用性)自动恢复能力(健康检查、熔断机制)数据持久性保证性能// 良好的性能设计示例:缓存+异步处理。原创 2025-05-07 17:14:03 · 1127 阅读 · 0 评论 -
DDD领域驱动设计
DDD(领域驱动设计)是一种处理高度复杂领域的设计思想,是一种架构设计方法论,是一种设计模式。以高内聚低耦合为目的,把一个复杂的软件应用系统中各个部分进行一个很好的拆解和封装,对软件系统进行模块化的一种思想。DDD不仅可以用于微服务设计,还可以很好地应用于企业中台的设计,也适用于传统的单体应用。领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,由Eric Evans在他的著作《领域驱动设计:软件核心复杂性应对之道》中详细阐述。原创 2024-06-05 10:24:15 · 1407 阅读 · 1 评论 -
高并发系统设计
设计高并发系统需要考虑多个方面,包括架构设计、数据库设计、缓存设计、负载均衡、容错与容灾等。水平扩展(Horizontal Scaling): 高并发系统通常需要水平扩展以应对大量的并发请求。这可以通过在系统的各个层级(如应用服务器、数据库等)增加更多的节点或实例来实现。负载均衡(Load Balancing): 使用负载均衡器来分发流量到多个服务器或实例上,确保每个服务器都能够处理适当的负载。负载均衡器可以基于不同的策略(如轮询、最少连接等)进行流量分发。原创 2024-05-14 13:42:40 · 1948 阅读 · 0 评论 -
SpringCloud
Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Hystrix:断路器,熔断机制,发起请求是通过Hystrix的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩的问题,提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。原创 2024-05-06 16:37:57 · 1844 阅读 · 0 评论 -
微服务架构与SOA架构
微服务由SOA架构演变而来,继承了SOA架构的优点,同时对SOA架构缺点进行改善,数据传输采用JSON格式,相比于XML更轻量和快捷,粒度更细,更加便于敏捷开发。2.微服务架构:其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。原创 2024-04-28 16:22:15 · 2474 阅读 · 0 评论 -
RESTful简介和使用
REST:英文representational state transfer直译为表现层状态转移,或者表述性状态转移;Rest是web服务的一种架构风格,一种设计风格,是一种思想;同时Rest不是针对某一种编程语言的。一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。原创 2024-04-24 14:10:08 · 817 阅读 · 0 评论 -
面向对象设计的7大原则
★ 1、开闭原则: 是总纲,告诉我们要对扩展开放,对修改关闭;★ 2、里氏替换原则: 告诉我们不要破坏继承体系;★ 3、依赖倒置原则:告诉我们不要破坏继承体系;★ 4、单一职责原则: 告诉我们实现类/方法要职责单一;★ 5、接口隔离原则: 告诉我们在设计接口的时候要精简单一;★ 6、迪米特法则:告诉我们要降低耦合度;★ 7、合成复用原则:告诉我们要优先使用组合或者聚合关系复用,少用继承关系复用。原创 2023-10-27 18:06:14 · 193 阅读 · 1 评论 -
ER 图是什么
产品经理在梳理产业业务逻辑的过程中,非常重要的一项工作就是梳理各个业务对象之间的关系。如果涉及对象很对的时候,没有工具支持的话很难处理清楚。今天我们就来介绍一个梳理业务对象关系的工具 —— ER 图。来自百度百科的解释:ER图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。ER 图由下面三个要素组成:● 实体:通常是现实世界的业务对象,当然使用一些逻辑对象也可以。原创 2023-11-18 09:05:05 · 2254 阅读 · 0 评论
分享