HuLa-Server  by HuLaSpark

High-performance IM system backend

Created 1 year ago
371 stars

Top 76.2% on SourcePulse

GitHubView on GitHub
Project Summary

HuLa-Server is a high-performance, microservices-based instant messaging server built with Spring Cloud, Spring Boot 3, Netty, MyBatis-Plus, and RocketMQ. It targets developers building scalable real-time communication systems, offering core features like one-on-one and group chats, message push, and user/group management, with an integrated "friend circle" feature.

How It Works

The system employs a modular microservices architecture, with services like gateway, authentication, IM, AI, and WebSocket clearly separated for reduced coupling and improved maintainability. It leverages Spring WebFlux and Netty for an asynchronous, reactive programming model, enabling high concurrency and low-latency message delivery. RocketMQ is used for decoupling services and ensuring transactional and ordered message delivery, while Redis handles session management and caching, and MySQL provides persistent storage.

Quick Start & Requirements

  • Installation: Not explicitly detailed in the README, but implies a Java/Spring Boot environment.
  • Prerequisites: Java (likely JDK 17+ for Spring Boot 3), Maven, MySQL, Redis, RocketMQ.
  • Resources: Requires significant setup for multiple distributed services.
  • Links: HuLa-Server GitHub, HuLa-Server Gitee

Highlighted Details

  • Microservices architecture with modular design (gateway, auth, IM, AI, etc.).
  • Reactive programming with WebFlux and Netty for high concurrency.
  • Integration with Spring AI for third-party AI services (DeepSeek, OpenAI, Tongyi Qianwen).
  • Supports multi-tenancy with MyBatis-Plus and Dynamic Datasource for sharding.

Maintenance & Community

The project lists several sponsors and contributors, indicating community engagement. A WeChat group is available for community discussion and support.

Licensing & Compatibility

The project states it follows an "open-source license agreement" but does not specify which one in the provided text. Further clarification on the license is needed for commercial use or closed-source integration.

Limitations & Caveats

The README mentions the project is "continuously under development." A comprehensive disclaimer absolves the developers of any liability, and the project's setup complexity for a full microservices architecture may be a barrier for some users. The specific open-source license is not clearly stated.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
26 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.