旅游平台day01

1. 项目总体内容划分:

  • 项目介绍
  • 注册登录
  • 目的地
  • 旅游攻略
  • 旅游日记
  • 内容评论
  • 数据统计
  • 网站首页
  • 项目相关

2. 项目介绍

基于SpringCloud Alibaba+Spring boot的分布式微服务旅游点评网站。面向的受众是旅游爱好者。致力于打造一个真实详细的自助旅游咨询平台。提供景区旅游、宾馆酒店、渔乐家住宿、旅游车船、休闲娱乐、旅游购物等服务,是一个点评类内容的互联网旅游导向的项目。

  • 核心模块:
    目的地、旅游攻略、旅游日记、站内搜索。

  • 用户与角色:
    普通用户、后台管理员、游客

  • 系统关键词:
    平台、后台管理

  • 系统基本结构
    展示前端(所有客户使用)、管理后端(企业营运人员使用)、数据服务(项目数据维护)

2.1 项目目的

  1. 为了了解整个旅游点评项目各个流程和需求,对实际项目的开发有一个较为深刻的理解;
  2. 掌握项目中的一些重要的第三方工具/框架;如:oss、CKeditor、vue等的使用;
  3. 掌握提升自我价值的知识点;如:redis、mongodb、es、mbp等;
  4. 掌握如何从0到1项目的开发;

2.2 项目需求

2.2.1. 前端旅游网站
2.2.2. 后端管理

2.3 项目演示

2.4 技术路线

数据库:mysql+redis+es+mongodb
持久化层:spring-data+mbp
业务层:springboot
Web:springMVC
微服务方案:springcloud alibaba
前端:管理后台 jQuery+BootStrap3+layui+vue 前端展示 vue+css+jQuery
开发模式:管理后台 前后端分离 前端展示 前后端分离

2.5 项目搭建

2.6 项目细节

3. 微服务项目拆分

3.1 模块划分

  1. 目的地模块
  2. 攻略模块
  3. 游记模块
  4. 机票模块
  5. 酒店模块
  6. 评论模块
  7. 问答模块
  8. 搜索模块
  9. 用户模块

3.2 服务拆分原则

3.2.1 基于业务逻辑

简而言之就是基于模块去拆分
可能由于模块之间耦合度高造成一定的问题

3.2.2 基于稳定性

一个稳定的服务 和一个不稳定的服务
不稳定的服务频繁更新,会造成稳定的服务出现问题

3.2.3 基于可靠性

按照可靠性进行排序,对可靠性要求高的核心模块归在一起,对可靠性要求不高的归在一起
核心服务 非核心服务

3.2.4 基于高性能

对于用户访问量大的模块,要求服务性能好,单独拆分
对于请求量不大的服务,可以划分一起

3.3 拆分结果

  • 文章模块(旅游目的地管理攻略,游记管理)
  • 评论模块(文章评论管理)
  • 用户模块(登录注册)
  • 搜索模块(基于es实现全文搜索)
  • 数据模块(文章数据统计)
  • 问答模块(暂不考虑)

用户服务、文章服务、点评服务、数据服务、搜索服务

4. 开发周期与人员配比

  • 产品公司
    周期:3个月
    人员:后端6+ 前端3+
  • 外包公司
    周期:3-4个月
    人员:后端5- 前端2

5. 项目结构规划

微服务:用户服务、文章服务、点评服务、数据服务、搜索服务
网关:网关服务
前端服务:后台管理服务管理前端、前台展示页面服务

  • 父项目
    • 网关
      trip-gateway
    • 前端
      trip-website
      trip-mgrsite
    • 公共模块 父项目
      trip-common
      trip-common-core
      trip-common-redis
      trip-common-es
      trip-common-xxx
    • 微服务 api 父项目
      trip-server-api
      trip-article-api
      trip-comment-api
      trip-user-api
      trip-data-api
      trip-search-api
    • 微服务
      trip-server
      trip-article-server:文章/目的地
      trip-comment-server:评论
      trip-user-server:用户
      trip-data-server:数据统计
      trip-search-server:搜索

6. 项目创建

jdk:1.8
创建父项目trip-cloud:使用父项目进行统一依赖版本管理
创建网关模块trip-gateway:spring-cloud-starter-gateway spring-cloud-starter-alibaba-nacos-discovery
创建两个前端项目模块:trip-website trip-mgrsite
创建公共模块trip-common:不管理依赖,作为父模块的存在
trip-common-core:公共核心模块,导入lombok依赖
创建server父模块
创建api父模块

7. 用户服务

7.1 用户实体类

旅游平台day01_第1张图片

7.2 配置文件

旅游平台day01_第2张图片

7.3 小细节

使用构造方法注入:学习这种构造方法,与Autowired注入的不同之处
配置nacos命名空间:每个项目有自己的命名空间,不同的项目放到不同的命名空间下
本地配置转移到nacos配置中心:本地使用bootstrap.yam
配置文件profiles:activate:dev环境表示:开发环境

7.4 共享配置

7.4.1 单项目配置共享

nacos共享配置文件,使用profile:activate:test(dev)一键切换。

7.4.2 跨项目配置共享

你可能感兴趣的:(旅游)