品优购业务技术总结

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

相关文章

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)