基于Spring Cloud实现的基于Web的为微服务聊天系统。
本项目基于 FreudFan/chat 项目开发。在原有基础上架构升级为了Spring Cloud体系,将服务进行了拆分,支持分布式微服务。
github | |
---|---|
Spring Cloud 版本 | https://github.com/FreudFan/chat-springcloud |
Spring Boot 版本 | https://github.com/FreudFan/chat |
vue 前端 | https://github.com/FreudFan/chat/tree/master/chat_frontend_vue |
服务 | 服务名 |
---|---|
注册中心 | eureka |
API网关 | api-gateway |
用户服务 | user |
群组服务 | group |
socket通讯、消息服务 | message |
文件服务 | file |
技术 | 名称 | 官网 |
---|---|---|
Spring Cloud | 分布式微服务框架 | https://projects.spring.io/spring-cloud |
Spring Boot | 快速应用开发Spring框架 | https://spring.io/projects/spring-boot |
Netty | NIO框架 | https://github.com/netty/netty |
Spring session | 分布式Session管理 | http://projects.spring.io/spring-session |
Spring Data JPA | ORM框架(基于hibernate) | https://spring.io/projects/spring-data-jpa |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
pagehelper-spring-boot-starter | MyBatis物理分页插件 | https://github.com/pagehelper/pagehelper-spring-boot |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
Redis | 分布式缓存数据库 | https://redis.io |
Kafka | 消息中间件 | http://kafka.apache.org |
Apollo | 分布式配置中心 | https://github.com/ctripcorp/apollo |
Eureka | 服务发现框架 | https://github.com/Netflix/eureka |
OpenFeign | 远程RPC调用框架 | https://github.com/spring-cloud/spring-cloud-openfeign |
Feign-form | Feign远程传输二进制文件工具 | https://github.com/OpenFeign/feign-form |
Zuul | API网关框架 | https://github.com/Netflix/zuul |
Hystrix | 容错框架 | https://github.com/Netflix/Hystrix |
Maven | 项目构建管理 | http://maven.apache.org |