首页 > 其他分享 >day-01-项目概述及环境搭建

day-01-项目概述及环境搭建

时间:2022-08-21 15:13:49浏览次数:82  
标签:01 服务 平台 业务 概述 模块 点餐 restkeeper day

1、什么是SaaS平台,它有什么特点?

SaaS平台:供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商订购所需的应用软件服务,按照订购服务的多少和时间长短向软件供应商支付费用,并通过互联网获得SaaS平台供应商提供的服务。

  1. 互联网特性 :快速的实施、便捷的使用、低廉的价格

  2. 多重租赁特性 : 不同租户之间的数据和配置的隔离

  3. 服务特性 :以互联网为载体的服务形式被客户使用

  4. 可扩展特性 : 最大限度的提高系统的并发性,更有效的使用系统资源

2、餐掌柜业务有哪些,业务流程是什么样的?

SaaS餐饮管理软件,具有餐饮O2O应用场景(Online To Offline)所有功能,如自助点餐、线上外卖、自动收银等,既节约了顾客的用餐时间又节省了成本,还方便了店铺之间的管理,更提高了店铺线上与线下的数据实时更新。

餐掌柜管理系统分为三个模块:

点餐平台:H5点餐平台,客户实现开桌、点餐、追加菜品等功能

商家平台:点餐后台核心业务,提供员工、店铺、桌台、菜品、订单、结算等功能

运营平台:运营商管理基础数据模块【统一权限、日志、图片、数字字典、短信服务】以及商家管理的平台

 

img

3、你能说餐掌柜的核心架构、数据库结构吗?

餐掌柜通用服务:

敏捷(适应需求变化快)、解耦(大拆小,独立)、复用

通用非业务系统的中台系统:权限、支付、图片、数字自动、日志中心、邮件服务等

img

核心业务:

img

请求接入:

H5:客户点餐接入

运营商:运营管理接入

商家:商家主业务接入

阿里云:OSS、ECS、部署平台接入

网关

Nginx:反向代理,路由承压力

Gateway:第二代网关服务,路由分发、权限鉴定

核心业务:

点餐平台:负责客户点餐业务,为Android、IOS、H5提供统一服务接口

商家平台:负责基础数据配置,同时提供店员及交易结算服务

运营平台:负责商家管理及运营报表系统

系统架构

image-20220803172033730

展现层:负载与用户的交互,分为Android、IOS、web应用,他们都是通过访问统一的gateway网关来实现业务数据的访问

代理层:选用高性能的nginx服务,通过域名与不同servrce的绑定,通过gateway路由到不同的服务器组

权限控制层:使用无状态的JWT认证,结合Spring Security实现统一的权限控制

服务治疗:使用nacos注册中心,配置中心实现服务的治理

服务调用:使用Spring Cloud alibaba 的核心组件dubbo进行服务之间的调用

流量控制:使用 Sentinel把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性

缓冲层:spring cache 配合redis轻松无侵入的实现业务数据的缓冲

基础业务支撑:基于spring boot脚手架,轻松集成OSS图片存储、sharding-jdbc分库分表、mybatis-plush 、docker、接口文档swagger2、分布式事务seate、MySQL、RocketMQ等组件

数据库结构:

按照功能模块领域垂直把数据库分为5个库:

image-20220803174457257

带来的好处:

- 解决业务层面的耦合,业务清晰

- 能对不同业务的数据进行分级管理、维护、监控、扩展等

- 高并发场景下,垂直分库一定程度的提升IO、数据库连接数、降低单机硬件资源的瓶颈

4、实际开发过程中你们是怎么进行工作协调的?

img

一个开发团队大约16个人左右,20个人已经算比较大的项目。一个业务的不同领域,每个领域大约3个人,产品经理1个,项目经理1个,UI设计约2-3个。

1)单一职责:项目是微服务架构的,每个人负责每个人各自的业务模块,整个项目具体到每个小服务,拆分粒度是很小的

2)服务的调用:对外暴露统一RESTFUL风格的接口

3)技术选型上:每个服务对于技术的使用程序员自由选择

4)前后端分离的开发模式

5)数据库分离:每个服务操作自己的数据源

6)独立部署:每个人的服务开发好后可以独立部署独立运行,服务重启不影响其他服务

5、spring-cloud-alibaba的生态圈有哪些,各个组件的作用是什么?

- Sentinel:

阿里巴巴开源产品,把流量作为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性.

- Nacos:

阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台.

- RocketMQ:

Apache RocketMQ基于Java的高性能,高吞吐量的分布式消息和流计算平台.

- Dubbo:

Apache Dubbo是一款高性能的Java RPC框架.

- Seata:

阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案.

- Alibaba Cloud OSS

阿里云对象存储服务器(Object Storage Service,简称OSS),是阿里云提供的海量,安全,低成本,高可靠的云存储服务.

- Alibaba Cloud Schedulerx

阿里中间件团队开发的一款分布式调度产品,支持周期性的任务与固定时间点触发任务.

6、餐掌柜需要安装哪些组件,各个组件的作用是什么?

nginx:反向代理、路由分发、配置权重

sentinel:微服务保护、流量控制、熔断降级、负载均衡保护微服务

seata:分布式事务管理

nacos:注册中心和配置中心、服务治理

Springsecurity:统一权限控制

redis:缓存

mysql:关系型数据库存储数据

OSS:云存储

rabbitMQ:消息队列(生产者/消费者)

7、运营平台采用怎样的maven分层构建,每个模块有什么作用?

在餐掌柜项目中采用maven的分层构架,来维护整体的项目架构,各个模块相对独立,达到功能及组件的复用,从而减少开发成本的投入,避免反复造轮子的现象,整体的分层构建如下图所示:

image-20211101125650054

主项目结构说明:

|——restkeeper-super 负责整个项目的模块定义,pom.xml文件定义 | |———— restkeeper-framework 核心组件模块,主要是对各个框架集成:mybatis-plus、seata、jwt、redis等等 | |———— restkeeper-gateway 前后端分离的边界,对外的统一接口,集成对日志client、鉴权client、knife4j组件 | |———— restkeeper-model-basic 基础服务模块,与业务无关的组件都在这里集成 | |———— restkeeper-model-report 报表模块,提供统一的日志报表,对各个子系统报表提供接口支撑 | |———— restkeeper-model-security 统一鉴权模块,依赖spring-security各个gateway只需要引入简单鉴权client则实现权限控制 | |———— restkeeper-model-shop 商家中心模块:各个主业务功能的实现,并且提供H5点餐端的dubbo接口服务 | |———— restkeeper-model-trading 交易平台,提供商家平台支付业务的结算功能

标签:01,服务,平台,业务,概述,模块,点餐,restkeeper,day
From: https://www.cnblogs.com/-turing/p/16610031.html

相关文章

  • day-02-商家平台-员工、品牌、门店
    1、mybatis的执行原理及常用功能和标签1.1、执行流程1.2、核心类SqlSessionFactory:每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的。SqlSessio......
  • Common language of English Courses-001-20220821
    CommonlanguageofEnglishcourses您在EF中心学习英语多久了?howlonghaveyourbeenlearnenglishinefcenter.howlonghaveyourbeenlearningenglishatef......
  • redis的概述以及redis的下载与安装
    redis的概述概念:redis是一款高性能的NOSQL系列的非关系型数据库关系型数据库:1、数据之间有关联关系2、数据存储在硬盘文件中非关系型数据库:1、数据......
  • 《GB28231-2011》PDF下载
    《GB28231-2011书写板安全卫生要求》PDF下载《GB28231-2011》简介本标准规定了教学用书写板(粉笔板和白板)的安全卫生要求、书写板外观质量、结构、分类、安装、标志、......
  • 《GB8921-2011》PDF下载
    《GB8921-2011磷肥及其复合肥中226镭限量卫生标准》PDF下载《GB8921-2011》简介本标准规定了磷肥及其复合肥(以下合称含磷肥料)中226Ra的限量卫生指标及其相应的采样、......
  • 《GB27951-2011》PDF下载
    《GB27951-2011皮肤消毒剂卫生要求》PDF下载《GB27951-2011》简介本标准规定了皮肤消毒剂的技术要求、试验方法、使用方法、标签和说明书以及使用注意事项;本标准适用......
  • redis概述和redis下载安装
    redis概述1.概念:redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”,是一项全新的数据库理念,......
  • 《GB17589-2011》PDF下载
    《GB17589-2011X射线计算机断层摄影装置质量保证检测规范》PDF下载《GB17589-2011》简介本标准规定了对医用X射线计算机断层摄影装置以质量保证为目的进行检测的方法及......
  • 《GB6246-2011》PDF下载
    《GB6246-2011消防水带》PDF下载《GB6246-2011》简介本标准规定了消防水带的型号规格、性能要求、试验方法、检验规则以及标志、包装、运输、使用与维护;本标准适用于......
  • 《GB5135.21-2011》PDF下载
    《GB5135.21-2011自动喷水灭火系统第21部分:末端试水装置》PDF下载《GB5135.21-2011》简介GB5135的本部分规定了自动喷水灭火系统用末端试水装置的术语和定义、分类、......