项目介绍:面向家庭的垂直领域社交应用,包含家庭聊天、抢红包、族谱记录、位置共享、家庭动态等功能。
官网
www.sweethome.asia
GitHub 已开源
github.com/LinBlink/SweetHome_backend
技术栈Spring Boot 3.5 / Spring Cloud
Gateway / Nacos / Dubbo / MySQL / Redis / Kafka / MyBatis-Plus / JWT
独立设计并实现家庭协作类后端系统,按认证 / 用户 / 家庭 / 聊天 / 定位 /
动态 / 红包等业务拆分服务;网关统一完成 JWT 鉴权与路由转发,服务间通过
Dubbo RPC 通信。
-
红包并发与幂等:红包创建时预拆金额并写入
Redis;抢红包使用 Lua 原子完成“重复校验 + LPOP 获取份额 +
结果记录”,避免数据库热点行争抢,并通过数据库唯一索引约束重复落库。
-
消息可靠性:抢红包结果通过 Redis Stream
异步落库,利用 pending / XCLAIM
处理消费者异常后的重新投递;用户信息更新采用 Outbox +
Kafka,将业务数据与事件记录放在同一本地事务中,再由 relay
进行至少一次投递。
-
多级缓存:针对聊天场景热点用户信息使用
Caffeine(L1)+
Redis(L2),通过空值缓存降低缓存穿透风险;写路径采用
Cache-Aside,并通过消息广播通知多实例失效本地缓存。
-
实时聊天:基于 WebSocket 提供实时消息能力,使用
Redis Pub/Sub 完成跨实例广播;仅广播消息
ID,由接收实例按用户视角查询并组装消息内容,便于多实例部署与扩展。
-
业务算法与限流:将家庭关系抽象为图结构,使用 BFS
计算成员关系路径并进行称谓归约;定位上报接口使用 Redis + Lua
实现令牌桶限流,越界事件通过 Kafka 异步处理告警。
项目介绍:面向未解之谜、UFO事件爱好者的社区应用,记录和收集生活中的异常事件。
官网
jysws.cn
技术栈Java 17 / Sentinel / Spring Boot
3.2.4 / Spring Cloud Gateway / Nacos / OpenFeign / MyBatis-Plus /
PostgreSQL / Redis / JWT / Cloudflare R2
个人独立设计开发的微服务系统,拆分网关、鉴权、用户、档案 4
个业务服务及 common / api 共享模块,使用 Nacos
完成服务发现与配置管理。
-
热门排行榜:基于 Redis ZSET 按天记录热度,通过
ZUNIONSTORE 合并生成 7
日滚动榜并缓存结果;以数据库为数据源支持冷启动重建,Redis
异常时回退数据库排序。
-
统一鉴权与服务调用:在 Gateway
实现全局鉴权过滤器,校验 JWT 后将用户 ID
传递给下游服务,并由拦截器写入 ThreadLocal;服务间通过 OpenFeign +
Nacos 调用,接口统一收敛到 api 模块。
-
微信小程序登录:对接微信 code2session 获取
openid,完成用户静默注册与 JWT 签发,跑通“小程序授权 -> 身份换取
-> 本地会话”流程。
-
数据建模与文件存储:使用 PostgreSQL JSONB
保存角色关系图、时间线、证据链等结构化数据,并通过
JacksonTypeHandler 完成对象映射;接入 Cloudflare R2(S3
兼容协议)实现图片上传,校验文件大小与 MIME 类型后生成唯一对象 key。
-
流控与熔断降级:基于 Sentinel
对网关及核心服务实施流量控制,并针对服务间调用配置慢调用/异常比例熔断与降级策略;规则通过
Nacos 持久化。