品优购业务技术总结

2024-05-13 10:32
文章标签 技术 总结 业务 品优购

本文主要是介绍品优购业务技术总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

品优购业务&技术总结项目描述
    XXX是公司自主研发的一个B2B2C电商平台,允许运营商自营和商家入驻,与京东商城非常类似。系统采用dubbox+zookeeper实现面向服务(SOA)分布式架构将不同的功能模块划分为多个子系统,其中包含运营商系统、商家系统、用户系统、网站前台系统、搜索系统、购物车系统、支付系统、订单系统、秒杀系统、CAS单点登录、短信&站内信微服务、客服系统等。使用ssm框架整合完成后端功能模块,同时也使用多种技术完成整个项目的功能,比如安全框架Spring secutity、redis、消息中间件、页面静态化技术、全文检索技术等等,而前端采用AngularJs实现前后端分离。我主要负责的功能模块--从下面选择来讲  
相关概念:
  • 分布式:将项目拆分为不同的功能模块,分别运行在不同的服务器,各个服务配合完成项目业务功能。
  • 集群:将相同的项目或者模块部署在不同的服务器,同时对外提供服务。
  • 负载均衡:配置代理集群入口,对所有请求寻找一个可用的服务器节点提供服务。
###一、整体业务1. 基础数据维护  【1-7】
     基础数据维护主要是对系统数据的创建,主要是对商品相关表数据进行维护包含品牌、规格、分类以及SPU和SKU管理。整体业务相对比较简单,实现过程页面利用AngularJs校验数据并提交请求传递相应数据,后端采用SpringMVC在controller处理请求和接收参数,同时通过dubbox调用远程发布到zookeeper服务层,服务层主要通过spring整合mybatis以mapper接口代理的方式完成数据的增删改查
     技术点: Spring SpringMVC Mybatis --- 后期总结
     dubbox:《dubbox.md》
     zookeeper:  《zookeeper.md》      
        面试问题:
        1) dubbox的流程
        2) dubbox注册中心宕机了,服务还能不能正常运行(*)
        3) dubbox负载均衡机制有哪些?
        4) dubbox集群容错机制?
        5) dubbox底层支持通信协议和序列化协议有哪些?
        6) zookeeper的数据模型描述一下?(*)
        7) zookeeper的核心什么?        (*)
        8) zookeeper的选举机制以及zab协议?
        9) zookeeper的应用场景?(*)        
2. 权限管理维护  【品优购-第四天】
     权限模块在运营商后台进行维护,主要功能是维护用户表和角色表数据同时给运营商后台用户进行角色配置,一个用户可以拥有多种角色。同时使用spring security配置请求拦截规则,系统规定每一个功能模块都有一种特定的角色,比如如果要操作用户模块那么用户就需要有用户角色(ROLE_USER)。同时实现spring security提供的认证接口UserDetailService的loadByUsername方法根据传入用户名查询用户表得到用户密码以及根据用户名查询角色表得到当前用户所有的角色信息,完成角色的认证.在spring security的认证管理器中配置刚刚实现的认证类同时加入Bcrypt加密配置。同时商家系统也需要相应的角色才能访问,在运营商后台由管理人员对商家进行赋予角色(商家用户角色比较单一:普通角色、VIP角色、秒杀角色等)
网站权限的细粒度 --- 定位到方法|请求,每一个请求对可以对应一个权限
涉及的表:  用户  角色 权限(表与表的关系)
权限拦截:Spring Security利用注解进行方法的拦截(拦截的细粒度---方法)
3. 网站首页 【品优购-第八天】
     网站前台首页,首页主要展示广告信息、热门商品信息、分类菜单等。由于网站首页作为入口,访问压力较大。为了减轻数据库的访问压力并且提高系统的平均响应时间,而且首页数据的变换并不频繁所以可以将首页所需数据使用redis进行缓存,这样访问首页时数据加载就从缓存中获取,不去访问数据库。同时如果后台对广告更换以及分类更改都会清空相应的缓存,这样下次访问从新先从数据库加载然后再存入缓存,之后读取都从缓存读取。
    技术:redis--- 《redis.md》
    面试问题:   
        1) 项目中哪些地方用到redis?(*)
           2) 介绍以下redis的数据类型以及应用场景?(*)
        3) 描述以下redis的持久化机制?(*)
        4) AOF持久化文件越来越大怎么办?
        5) redis为什么被称为单线程,以及为什么单线程效率还这么高?(*)
        6) 你们系统使用redis是否遇到过缓存雪崩和穿透的问题?

这篇关于品优购业务技术总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985452

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta