# Yiee-cloud **Repository Path**: HRui66/yiee-cloud ## Basic Information - **Project Name**: Yiee-cloud - **Description**: 易易二手交易平台后台(微服务) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-16 - **Last Updated**: 2022-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Yiee-cloud ## 介绍 易易二手交易平台后台(微服务) ## 项目设想 + 整个项目将部署到Linux系统,Linux系统中使用Docker进行环境的搭建。 + 使用SpringBoot开发每个微服务(用户(店家,店家员工,普通用户/可拆分)、商品、订单、收藏、购物车、评论(对店家评论、对商品评论、对用户评论(双向)),被消费次数多的微服务可以搭建集群降低服务压力,被消费次数少的微服务可以部署在同一个服务器降低成本。 + 用SpringCloud管理每个微服务,微服务的注册中心和配置中心使用Nacos,如果被访问次数多可以搭建Nacos集群,使用Nginx服务器做负载均衡和反向代理,Nacos也可以对微服务中性能较差的服务器做权重处理。 + 微服务之间使用Feign做同步通信,SpringAMQP做异步通信(底层是RibbitMQ)。在业务需要保证安全,准确的时候使用同步通信;在业务需求响应快速的时候,例如秒杀,使用异步通信。 + 项目持久层使用MyBatisPlus+MySQL,MySQL可以做读写分离,添加索引,优化,提高响应速度。 + 项目使用Redis做缓存,用户访问数据时先从缓存中读取,不存在则访问数据库,再把访问到的数据添加到缓存中,可以搭建Redis集群,防止缓存雪崩,也可以使用布隆过滤器,防止缓存穿透。 + 项目使用Gateway做为网关进行身份验证,请求限流,防止微服务接口直接对外暴露,Zuul是基于Servlet,阻塞式编程,Gateway基于Spring5中提供的WebFlux,属于响应式编程,性能更好。 + 项目使用Elasticsearch做为搜索引擎,主要实现搜索时自动补全,IK分词器对输入的搜索词条进行判别是否合法并补充现有商品的标签,在海量数据下提高查询速度,Elasticsearch可以进行分布式部署。 + 项目允许用户之间建立对话,使用WebSocket实现,用户的发送的信息缓存在Mangodb(NoSQL)数据库中。 + 前端静态资源可以放在Nginx服务器中。 ## 软件架构 SpringBoot + SpringCloud + Gateway + MybatisPlus + MySQL + nacos +Redis + SpringAMQP + WebSocket + MangoDB + Elasticsearch