
java架构
文章平均质量分 92
Solomon_肖哥弹架构
Solomon(肖爱良) - 前百度环境音乐CTO&架构师、微服务专家 - 中国机械出版社签约作家,《深入理解Dubbo工业级架构设计》图书的作者 - 分享高并发、高可用、高性能的分布式(微服务、存储、事务、限流)架构设计原理
展开
-
一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
在现代软件架构中,不同类型的类扮演着不同的角色,共同构成了一个清晰、模块化和可维护的系统。以下是对实体类(Entity)、数据传输对象(DTO)、领域对象(Domain Object)、持久化对象(Persistent Object)、业务对象(Business Object)、应用对象(Application Object)、数据访问对象(Data Access Object, DAO)、服务层(Service Layer)和控制器层(Controller Layer)的总体介绍:原创 2024-07-09 11:59:27 · 1411 阅读 · 0 评论 -
12张图描述大厂秒杀项目的工作细节,必须收藏,面试必备
秒杀架构是一种特别优化以应对极高并发流量和瞬间大量请求的系统设计。它通常包括:高容量设计,前端优化,服务扩展性,负载均衡,异步处理,数据库优化,服务解耦,弹性伸缩,限流策略,监控告警,安全防护,降级容原创 2024-07-08 18:51:04 · 1107 阅读 · 0 评论 -
Dubbo 协议详解
SPICodec工作在一种协议上,encode是将通信对象编码到ByteBufferWrapper中,decode是将从网络上读取的ChannelBuffer解码为Object,也就是通信对象。原创 2024-07-01 12:19:56 · 1566 阅读 · 0 评论 -
Dubbo 如何自定义协议为业务通信带来扩展
RPC 协议扩展,封装远程调用细节。当用户调用refer()所返回的Invoker对象的invoke()方法时,协议需相应执行同 URL 远端export()传入的Invoker对象的invoke()方法。其中,refer()返回的Invoker由协议实现,协议通常需要在此Invoker中发送远程请求,export()传入的Invoker由框架实现并传入,协议不需要关心。协议不关心业务接口的透明代理,以Invoker为中心,由外层将Invoker转换为业务接口。原创 2024-07-01 12:18:05 · 693 阅读 · 0 评论 -
Dubbo 如何连接异构微服务体系
同构微服务体系企业内部的微服务都是基于相同服务框架开发研发的产品,比如全部采用 Dubbo微服务支撑产品。异构微服务体系公司微服务可能使用多个不同的服务框架所建设,多个不同技术栈微服务体系的共存在大型组织还是非常普遍,例如:Dubbo,Sofa-rpc, Brpc等造成异构形式的原因很多,可能是遗留系统带来的,也可能是公司正在做技术栈迁移,或者就是不同业务部门为了满足各自特殊需求而做的独立选型2.2 异构微服务共存。原创 2024-07-01 12:15:44 · 692 阅读 · 0 评论 -
Dubbo 服务引用的过程和实现细节
在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用。服务直连的方式仅适合在调试或测试服务的场景下使用,不适合在线上环境使用。因此,本文我将重点分析通过注册中心引用服务的过程。从注册中心中获取服务配置只是服务引用过程中的一环,除此之外,服务消费者还需要经历 Invoker 创建、代理类创建等步骤。本篇文章对服务引用的过程进行了较为详尽的分析,还有一些逻辑暂时没有分析到,比如 Directory、Cluster。原创 2024-07-01 12:13:57 · 715 阅读 · 0 评论 -
“亿级流量下的挑战“:构建高并发电商平台的实战之路
关注本人的公众号Solomon肖哥弹架构获取更多精彩内容在当今互联网高速发展的时代,电商平台常常面临着亿级流量的考验。特别是在大型促销活动如“双11”、“618”期间,系统如何在瞬时涌入的巨大流量下保持稳定、高效地运行,是每个程序员和技术团队梦寐以求的挑战。本文将深入探讨构建高并发电商平台的难点与解决方案,带领读者一步步提升技术水平。假设我们正在为一家知名的电商平台设计一个能够承受亿级流量的订单系统。该系统需要处理用户浏览、下单、支付、库存扣减等关键操作,同时保证数据的一致性和系统的高可用性。数据一致性保证原创 2024-07-01 12:09:03 · 959 阅读 · 0 评论 -
揭秘分布式ID生成:百度与美团点评的架构设计与规则解析
分布式ID生成是构建大规模分布式系统的基础。百度的UID-Generator和美团点评的Leaf都展示了如何通过巧妙的设计来满足这一需求。它们不仅提供了全局唯一、趋势有序的ID,还保证了系统的高可用性和高并发处理能力。原创 2024-07-01 12:06:37 · 1145 阅读 · 0 评论 -
EpicBookStore系统: 探索DDD与COLA领域模型魔法世界
EpicBookStore是一个在线书店,它不仅销售书籍,还提供了一个社区,让读者和作者可以交流和分享。该项目将展示如何使用DDD和COLA原则来构建一个可扩展、可维护且易于测试的业务系统。模块化设计:清晰的分层和限界上下文,确保了代码的模块化。高内聚低耦合:每个组件都有明确的责任,减少了组件间的依赖。易于测试:通过依赖注入和接口抽象,可以轻松地编写单元测试。可扩展性:随着业务的发展,可以轻松地添加新功能或进行重构。原创 2024-06-29 15:17:11 · 729 阅读 · 0 评论 -
DDD书店系统设计案例,小白也能掌握DDD,值得收藏
领域驱动设计(Domain-Driven Design,简称DDD)是一种软件设计方法,它强调以业务领域为中心进行软件开发,通过结合业务专家的知识和软件开发者的专业技术,创建出能够准确反映业务需求的软件系统。DDD通常应用于复杂的业务领域,这些领域具有以下特点:实体(Entities) :值对象(Value Objects) :聚合(Aggregates) :领域服务(Domain Services) :领域事件(Domain Events) :仓储(Repositories) :应用层(Applicati原创 2024-06-29 14:25:31 · 1026 阅读 · 0 评论