前言:
本人所在公司在业内比较知名的公司,但是其电商平台真的不敢恭维,都称不上架构,跟传统的软件公司差不多springMVC+Mybatis+redis挂载在nginx+tomcat下,不能说它有问题,就是在高并发、低IO消耗,且移动端使用频繁场景情况下,觉得需要进行改造,所以采用如下的方式:
说明:
网关层:我们有部分是放在阿里云平台上,那么在运维层面其实能够需要的地方甚少,那为了安全和分流,我们在nginx上写了基于netty4的网关层,通过URL手段来分流到各个业务的机器。
应用层:基于netty的应用服务器,挂载了product、order、search等业务功能
数据路由层:根据配置,无缝连接数据路由
以上都是由团队成员一同完成工作,彻底地解放tomcat等局限性,性能提高不少。
因为以上部分并未开源出去,但是实际上能够基于netty完成的东西还是很多的,但是在业务功能完成层面跟一般都一样springMVC+Mybaits来完成。
应用服务层:Dubbo,有考虑向通过netty4+protobuf来完成,只是dubbo配置较为简单
这里推荐下已经开源了的vert-x3的开源框架,对于已经在使用JDK1.8的公司,推荐vert-x3,因为本人所在公司还在1.6-1.7,但是里面很多组件被采纳如:RXJava、EventBus等
最终结论:
大家觉得这套方案还有其它可以提高的地方吗?请及时提供意见,毕竟新架构还在磨合中,有待完善,但是个人感觉netty4真的用处很大。
相关推荐
基于Netty的RPC架构实战演练 让你深入java的服务器开发
在基于Netty编写的socket服务端中,首先需要定义一个`ChannelHandler`,这个处理器负责处理接收到的网络事件,如连接建立、数据读取、连接关闭等。`ChannelHandlerContext`则是`ChannelHandler`和`ChannelPipeline`...
【标题】:“基于Netty实现的Web框架” 在IT领域,构建高性能、高并发的网络应用是关键。Netty作为一个强大的异步事件驱动的网络应用框架,为Java开发者提供了高效且灵活的基础,使得构建Web框架变得更为便捷。本...
基于Netty构建的物联网高并发网关利用了Netty框架的强大功能,实现了高性能、低延迟的网络应用。下面将详细介绍Netty框架以及如何用其构建物联网高并发网关。 Netty是一个异步事件驱动的网络应用框架,适用于快速...
Java基于Netty的websocket微服务架构即时聊天即时通信APP源码,仿微信APP前端使用Vue3 + TypeScript,后端采用SpringCloud + SpringBoot + Spring Data JPA 。基于 Netty 使用 WebSocket 实现了正常的C/S通信模块。...
标题中的“基于Java开发的一款基于Netty的内网穿透工具”揭示了我们正在讨论的是一个使用Java编程语言,并且依赖于Netty框架的软件应用。Netty是一个高性能、异步事件驱动的网络应用程序框架,常用于开发服务器和...
"JAVA版基于netty的物联网高并发智能网关"项目正致力于解决这一问题,通过利用Java语言和Netty框架构建一个高性能、可扩展的网络通信系统。Netty是一个异步事件驱动的网络应用框架,适用于开发高效的服务器和客户端...
Netty中的NIO实现主要基于java.nio包,NIO服务端和客户端的创建与传统IO模型有很大的不同。NIO服务端会监听端口,接受新的连接,并处理数据的读写操作。NIO客户端通过Bootstrap类初始化,并通过它发起连接请求。 **...
Flush操作42 4.Netty架构50 4.1. 逻辑架构50 5. 附录51 5.1. 作者简介51 5.2. 使用声明51 1. 概述 1.1.JAVA 的IO演进 1.1.1. 传统BIO通信的弊端 在JDK 1.4推出JAVANIO1.0之前,基于JAVA 的所有Socket通信都采用 BIO...
- **RPC框架搭建**:基于Netty构建RPC框架,实现远程服务调用。 - **性能优化实践**:通过参数调整、代码优化等方式提高RPC框架的性能。 - **高级特性探索**:学习Netty中的高级特性,如自定义编解码器、HTTP/2支持...
**基于Netty的CS模式通信模块** 在计算机网络编程中,Client-Server(CS)模式是一种常见的架构设计,其中客户端发起请求,服务器响应这些请求。Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可...
Netty 的核心架构基于非阻塞 I/O(NIO,New IO)模型,这是 Java 平台提供的一种高效处理网络 I/O 的方式。非阻塞 I/O 允许单个线程处理多个连接,减少了线程创建和上下文切换的开销,提高了系统的并发能力。在 ...
该项目为基于Netty4的轻量级RESTful HTTP服务器设计源码,整合了Spring、MyBatis等流行框架,共包含34个文件,包括14个Java源文件、8个XML配置文件、3个项目偏好文件、1个classpath文件、1个Git忽略文件、1个项目...
Netty 5.0 架构基于NIO基础,构建了一套完整的I/O处理模型。其核心组件包括: 1. **ByteBuf**: Netty的内存管理组件,替代了Java的`ByteBuffer`,提供了更高效且易于使用的字节缓冲区。ByteBuf支持预读和写后读,...
《基于Netty实现的MQTT客户端在Java与Android环境中的应用》 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息协议,广泛应用于物联网(IoT)领域,尤其是资源受限的设备之间。在本文中...
Netty的核心设计原则是基于Java NIO(非阻塞I/O)构建,它提供了高度可定制的线程模型和缓冲区管理,使得网络编程变得更加简洁。Netty的架构主要由以下几个关键组件组成: 1. **ByteBuf**:Netty的缓冲区,替代了...
用户手册首先介绍了 Netty 的架构总览,强调了 Netty 在解决网络编程中通用问题时的高效性。Netty 采用了拦截链模式的事件模型和基于POJO的编程模型,使得开发者可以更加关注业务逻辑,而不用关心底层的通信细节。...
基于netty3.x实现,后期会升级至netty4.x,充分利用netty的高性能 数据层提供protostuff和hessian的实现,可以自定义扩展ISerializer接口 负载均衡算法采用LRU算法,可以自定义扩展ILoadBlance接口 客户端支持服务的...
"基于Netty框架的位置服务平台的设计与实现" 本资源主要介绍了基于Netty框架的位置服务平台的设计与实现,涵盖了相关技术、系统分析、系统设计和数据库设计等方面的内容。 相关技术 在开发基于Netty框架的位置...