Java+Netty、Vue+Element-UI实现的即时通信应用 leo-im

简介:
+关注继续查看

之前工作接触了几个开源的IM产品,再加上曾经用Netty实现过几个服务,于是就有了用Netty实现一个IM的想法,于是用业余时间写了一个IM,和喜欢Netty的程序员们分享。

Leo-IM

考虑到方便扩展,在服务端采用了Http+Socket结合的设计,客户端所有的请求都基于Http,如发送消息、修改个人信息等,所有的消息推送采用Socket方式即时推送到客户端,这样的设计可以在并发访问量大的情况下,将Http服务与Socket服务分开部署,减小各自的访问压力。

Http服务也基于Netty实现,在Netty之上做了扩展,参考Spring MVC注解实现了netty-rest-server(netty-rest-server),使用该框架,可实现注解注入REST controller,实现统一异常处理控制器和拦截器(如跨域拦截器、身份验证拦截器等)。

Http服务和Scoket服务之间的解耦和通讯可使用Java内置的队列或Redis发布/订阅实现,消息处理器接收到任务后,会将该任务交由线程池处理,处理后通过GroupChannel发送广播或发给指定的Channel。

在线体验与源码地址:

相关文章
|
4天前
|
缓存 监控 小程序
基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器
平台简介 基于RuoYi-Vue二开,集成了MybatisPlus、Avue、WxJava SDK MIT开源的微信二开利器,放心使用 专业的微信管理框架并加入小程序商城,是用来学习和实际项目的不二选择 前端采用Vue、Element UI、Avue。 后端采用Spring Boot、Spring Security、Redis & Jwt、Mybatis Plus、WxJava。
|
11天前
|
存储 Java 数据库
SpringBoot+Vue+Java 的高校招生管理系统
SpringBoot+Vue+Java 的高校招生管理系统
|
11天前
|
存储 Java 数据库
基于 SpringBoot+Vue+Java 的高校招生管理系统(数据库+源码和教程)
基于 SpringBoot+Vue+Java 的高校招生管理系统(数据库+源码和教程)
|
11天前
|
Java 关系型数据库 测试技术
基于 SpringBoot+Vue+Java 的财务管理系统(附源码,数据库,教程)
基于 SpringBoot+Vue+Java 的财务管理系统(附源码,数据库,教程)
|
11天前
|
JavaScript 前端开发 Java
基于 Java+ SpringBoot+Vue 的藏区特产销售系统的研究与实现(毕业设计,附源码,教程)
基于 Java+ SpringBoot+Vue 的藏区特产销售系统的研究与实现(毕业设计,附源码,教程)
|
11天前
|
Java 测试技术 数据安全/隐私保护
基于SpringBoot+Java+Vue的地方废物回收机构管理系统(源码和教程)
基于SpringBoot+Java+Vue的地方废物回收机构管理系统(源码和教程)
|
11天前
|
关系型数据库 MySQL 数据库
基于Java+SpringBoot+Vue的校园交友网站的设计与实现
基于Java+SpringBoot+Vue的校园交友网站的设计与实现
|
11天前
|
关系型数据库 MySQL Java
基于Java+Springboot+vue的幼儿园管理系统设计与实现(数据库,源码和教程)
基于Java+Springboot+vue的幼儿园管理系统设计与实现(数据库,源码和教程)
|
11天前
|
前端开发 Java 关系型数据库
基于Java+SpringBoot+vue的社区报修维修平台(含源码和数据库)
基于Java+SpringBoot+vue的社区报修维修平台(含源码和数据库)
|
11天前
|
Java 测试技术 数据库
基于 SpringBoot+Vue+Java 的智慧外贸系统(数据库,附源码,教程)
基于 SpringBoot+Vue+Java 的智慧外贸系统(数据库,附源码,教程)
相关产品
云迁移中心
推荐文章
更多