Netty(六)源码解析 之简述NIO、用NIO实现Socket通信 和 群聊

由于 Netty 的底层是 NIO,所以在读 Netty 源码之前,首先了解一下 NIO 网络编程 相关知识。 直接看官方的注释,因为注释是最权威的。 1. NIO 简介 NIO,New IO(官方),Non-blocking IO(非官方),是 JDK1.4 中引入的一种新的 IO 标准,是一种同步非阻塞 IO。NIO 是以 块…

hello hello 发布于 2023-11-27

Netty(四)高级应用 之 手写Tomcat

手写 Tomcat 确切地说,这里要手写的是一个 Web 容器,一个类似于 Tomcat 的容器,用于处理 HTTP请求。该 Web 容器没有实现 JavaEE 的 Servlet 规范,不是一个 Servlet 容器。但其是类比着Tomcat 来写的,这里定义了自己的请求、响应及 Servlet,分别命名为了…

hello hello 发布于 2023-11-27

Netty(五) 高级应用 之 手写 RPC 框架

1. 手写 RPC 框架 1.1 RPC 简介 RPC,Remote Procedure Call,远程过程调用,是一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。在 OSI 网络通信模型中,RPC 跨越了传输层(第四层,传输协议 TCP/ UDP ,即通过 ip+port 进行通信)和应用层(第七层,传输协议有…

hello hello 发布于 2023-11-27

Spring Data Redis Stream 的使用

一、背景 Stream 类型是 redis5 之后新增的类型,在这篇文章中,我们实现使用 Spring boot data redis 来消费 Redis Stream 中的数据。实现独立消费和消费组消费。 二、整合步骤 1、引入jar包 <dependencies> <dependency>…

hello hello 发布于 2023-11-27

Spring Boot + Dubbo + Seata 分布式事务实战

前言 Seata 是 阿里巴巴开源的分布式事务中间件,以高效并且对业务0侵入的方式,解决微服务场景下面临的分布式事务问题。 事实上,官方在 GitHub 已经给出了多种环境下的 Seata 应用示例项目,地址: https://github.com/seata/seata-samples 。 为什么笔者要重新写一遍呢,主要原因有两点:…

hello hello 发布于 2023-11-27

Spring Boot 3.2 开箱即用的虚拟线程和GraalVM

来源:https://medium.com/@egorponomarev/spring-boot-3-2-with-virtual-threads-and-graalvm-out-of-the-box-1911d3ebf0b6 Spring Boot 3.2 已经正式发布 ,让我们用 Java 21、GraalVM 和虚拟线程来尝试一下。 Spring…

hello hello 发布于 2023-11-27

Netty入门 (一)概述(核心概念、执行流程)

Netty 入门 1. Netty 概述 1.1 Netty 简介 Netty 官网上可以看到最权威的介绍: Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能服务器和客户端。 Netty 是一个 NIO 客户机-服务器框架,它支持快速、简单地开发网络应用程序,如服务器和客户机。它大大简化了网络编程,如 TCP 和 UDP…

hello hello 发布于 2023-11-24

Netty入门 (二)TCP 的拆包与粘包

TCP 的拆包与粘包 1. 拆包粘包简介 Netty 在基于 TCP 协议的网络通信中,存在拆包与粘包情况。拆包与粘包同时发生在数据的发送方与接收方两方。 发送方通过网络每发送一批二进制数据包,那么 这次所发送的数据包就称为一帧,即Frame 。在进行基于 TCP的网络传输时,TCP…

hello hello 发布于 2023-11-24

Netty(三)高级应用 之 WebSocket 长连接、网络聊天

Netty 高级应用 本章会通过代码实例的方式将 Netty 常见应用场景中的知识点进行讲解。 1. WebSocket 长连接 1.1 WebSocket 简介 WebSocket 是 HTML5 中的协议,是构建在 HTTP 协议之上的一个网络通信协议,其以长连接的方式实现了客户端与服务端的 全双工通信 。 HTTP/1.1 版本协议中具有 keep-…

hello hello 发布于 2023-11-24

使用Quarkus和Knative构建Serverless微服务

引言 随着云计算和微服务架构的兴起,Serverless成为了一个备受关注的话题。Serverless允许开发者专注于业务逻辑,而不需要关心基础设施的管理和维护。在本文中,我们将深入探讨如何使用Quarkus和Knative来构建Serverless微服务,并通过具体的代码示例来说明这一过程。 Quarkus和Knative简介 Quarkus…

hello hello 发布于 2023-11-24
上一页 下一页