Netty入门与异步模型

本文介绍了使用Netty框架编写异步网络服务器的入门案例。文章通过创建BossGroup和WorkerGroup线程组,设置服务端通道实现为NIO,添加自定义业务处理Handler等步骤,实现了一个简单的Netty服务端。同时,文章还提及了关闭通道和连接池的操作。自定义的Netty服务端Handler处理通道读取、读取完成、异常等事件。
阅读更多

Netty核心原理

Netty是基于事件驱动的异步网络应用程序框架,用于快速开发高性能、高可靠性的网络IO程序。它解决了原生NIO的繁琐和复杂性,简化了网络应用的开发过程。Netty的核心优势包括零拷贝、可扩展的事件模型、支持多种协议、安全传输、高性能和灵活的线程模型等。该框架在互联网、大数据、分布式计算、游戏和通信等领域广泛应用。
阅读更多

架构设计基本原则之开闭原则(OCP)

开闭原则(OCP)是架构设计的基本原则之一,其核心思想是软件实体应该对扩展开放,对修改关闭。通过抽象约束封装变化,通过接口或抽象类定义稳定的抽象层,将可变因素封装在具体实现中。开闭原则的作用在于提高代码的可复用性和可维护性,使软件实体具备适应性、灵活性、稳定性和延续性。实例中以学校课程为例,通过接口和实现类的组织,应对了促销活动的变化,展示了开闭原则的实际应用。
阅读更多

分布式系统设计策略之心跳检测

分布式系统设计策略,涵盖问题解决、节点存活检测、高可用保障、容错处理、负载均衡等方面。心跳检测作为通用手段,通过周期性和累计失效机制进行节点状态判定,但需注意心跳不是绝对准确,应结合其他方法做决策。
阅读更多

分布式一致性协议之两阶段提交协议(2PC)

分布式一致性协议中的两阶段提交(2PC)协议是解决分布式事务的常见方式。该协议确保所有参与进程要么都提交事务,要么都取消事务,以实现ACID中的原子性。协议分为阶段一和阶段二,阶段一中协调者询问参与者是否可以执行事务,等待响应并记录undo信息。阶段二中协调者发送commit请求,参与者执行事务提交或回滚,反馈结果给协调者。然而,该协议存在同步阻塞、单点问题、数据不一致和保守等缺点。
阅读更多

分布式架构理论

分布式系统是将硬件或软件分布在不同网络计算机上,通过消息传递通信和协调的系统。节点分布广泛且对等,存在通信异常、网络分区等问题。系统具有并发性、缺乏全局时钟、故障容忍等特性。分布式系统面临通信风险、网络分区导致一致性挑战,节点故障常见。
阅读更多

自定义RPC框架之分布式架构网络通信理论

本文介绍了自定义 RPC 框架的理论和问题,以及传统 RMI 方式的实现。探讨了分布式架构中的远程通信问题,涵盖了 RMI、Hessian、SOAP、ESB、JMS 等通信技术。详述了 RPC 架构的基本原理,以及四个组件:客户端、客户端存根、服务端、服务端存根。
阅读更多

RPC架构设计及IO模型

本文介绍了Socket套接字在RPC架构中的应用,涵盖了Socket网络编程的基础概念和流程。Socket是两台主机间逻辑连接的端点,在TCP/IP协议中解决数据传输问题。文章详细解释了Socket的五种基本信息,以及服务端和客户端的创建和通信流程。示范代码展示了如何使用线程池处理客户端连接,实现数据的输入输出流操作。
阅读更多