// the find
jcool98/Echo
🦄 论坛:基于 SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ... 并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。
Echo is a Chinese-language forum application built as a Spring Boot learning project, covering the standard enterprise Java stack: MySQL + MyBatis for persistence, Redis for sessions and caching, Kafka for async event handling, Elasticsearch for full-text search, and Spring Security for auth. It's aimed at Java students who want to see how these pieces fit together in a non-trivial web app, not at anyone who needs to run a real forum.
The architecture diagrams and flow charts in the README are genuinely good — most tutorial projects just dump code, but these walk through exactly which data ends up in Redis vs MySQL and why. The two-tier caching approach (Redis for user sessions, Caffeine for hot post lists) is a sensible real-world pattern and is explained clearly. The UV/DAU stats module using HyperLogLog and Bitmap respectively is a nice touch that most forum clones skip entirely. The sensitive-word filter using a prefix tree (trie) instead of naive string matching shows the author thought about the obvious scaling problem.
The stack is pinned to versions that were already aging in 2021 — Spring Boot 2.1.5, Elasticsearch 6.4.3, Java 8 — and hasn't been updated since; getting this running today requires hunting down compatible versions of half the dependencies. The login system deliberately bypasses Spring Security's authentication mechanism and reimplements session management manually in Redis, which is an interesting teaching choice but produces code that a real team would never ship. There are no tests anywhere in the repo — not a single unit or integration test file — which undercuts its value as a reference implementation. The repo is also Chinese-only with no English documentation, so its audience is essentially limited to Chinese-speaking Java learners.