一个月开发了一个基于Java webscoket在线聊天室项目

64 阅读2分钟

image.png

项目演示

http://8.140.184.12:8101/ admin/admin

项目基本信息

技术栈

Java + SpringCloud + Eurake + SpringBoot + JPA + MySQL + Redis + 普通队列MQ + 延迟队列 + ElacticSaerch + WebSocket + WebRTC + JavaSSE + LLM

项目简介

基于好友关系的网页版在线IM通信软件/客服系统。产品支持添加好友关系、一对一即时聊天、群聊、大模型Agent机器人、音视频通话、钱包、红包、文件传输、圈子 等对话及社交能力。

职责

  • 完成产品服务端技术架构设计,深入参与产品研发全链路研发各个环节,完成80%以上核心能力从0到1建设。
  • 完成了基于ABAC权限模型的用户角色、权限设计与权限管理实现。
  • 完成了基于WebSocket、WebRTC完成IM软件的 即时聊天、消息红点、音视频通话等实时对话能力建设。良好的技术设计,以此增强了聊天场景的扩展性:图文聊天消息、文件传输、红包消息卡片等消息体的支持。
  • 基于Redis不同类型在不同场景下的特性、社交关系的写扩散模型、高性能点赞评架构完成了朋友圈功能建设。
  • 独立完成红包算法的设计,完成了用户钱包、收发红包能力建设。期间对红包流量聚集、高并发场景下的事务一致性、数据安全、红包收发性能的问题进行重点设计与实现。
  • 完成大模型能力的接入,设计模式及prompt模版引擎能力的引入让我们可以快速低成本的扩展接入不同厂商的模型能力,并引入JavaSEE实现类似GPT对话的流式响应能力。
  • 完成基于延迟队列+普通队列+写扩散模型实现公众号推文能建设。
  • 完成了基于发布订阅模式完成消息数据实时同步ES,及聊天消息搜索能力建设。
  • 完成了基于SOA思想的微服务架构拆分,SpringCloud+Eurake注册中心+feigenClient微服务架构拆分。

image.png

webchat产品能力架构设计

file_0c77e168df2c44ceae3b6ac18e15fc02.png

webchat技术架构设计

file_8e8e8591e4a943be93f15972f8993e01.png

数据表实体关系图

file_0e8d6cf89ca04cc9b21f039a08da8204.png

更多功能演示

image.png

image.png

技术文章持续更新: juejin.cn/post/744233… juejin.cn/post/744233… juejin.cn/post/744233…