# weibo **Repository Path**: wwit/weibo ## Basic Information - **Project Name**: weibo - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # weibo #### 介绍 本项目是模拟新浪微博,实现用户模块,微博模块,热门话题模块,实现了用户注册登陆,用户发表微博、发表热门微博话题及对热门话题点赞关注功能。重点针用户对热门话题发表微博,点赞和关注的操作远远超过服务器可承载的TPS范围时,通过多级缓存、队列操作、泄洪操作和限流降级等技术解决高流量高并发请求。项目分两个服务,一个为weibohuati混合系统即作为服务调用者的同时加入spring boot thymeleaf作为web入口。另一为weiboservice作为系统提供者。weibohuati模块借助nginx负载均衡反向代理功能实现了分布式部署,依托redis实现分布式会话session。weibohuati和weiboservic两个服务之间使用dubbo服务通信实现应用集群化。在用户获取热门微博话题时,采用了应用服务器缓存和redis缓存多级缓存策略,达到对数据库释压目的。在用户发表热门话题时,采用rocketMq异步消息完成inbox和outbox模型。在应对热门微博讨论数量疯狂上涨情况,使用定时任务确保讨论数的柔性一致性。使用了令牌桶实现了点赞限流防刷功能。两个服务之间加入了Hystrix达到服务之间相互隔离目的。 #### 软件架构 1.采用spring + springBoot架构 2.数据库使用mySql 3.redis 4.rocketMq 5.nginx #### 安装教程 1. 下载代码 2. 导入sql 3. 启动zookeeper 4. 启动redis 5.启动rocketMq