需求分析
我们这个小程序商城,主要面向的客户是实体店,由我们公司完成一套小程序商城的模板,推广给实体店,为他们进行运行维护升级,商城的业务模型也不大,主要分为如下几个功能,商品模块、优惠券模块、订单模块、用户模块、案例模块、分销模块(推动订单完成能获取返利)、发现模块。

语言
选用的是JAVA,众所周知,在web领域PHP表现也是非常优秀,作为世界上最好的语言(手动添加狗头),PHP本就是专注于WEB开发的语言,有着先天的优势开发周期更短、开发成本更低、性能也有着不俗的表现,但是为什么选择JAVA呢?因为我不会PHP。

技术选型
由于我们的客户主要是面向实体店,单个店的访问量与并发量跟淘宝京东这种商城是无法比拟的,一般的一个实体店的访问量由一个单体架构的Tomcat能处理三四百并发就能够负载了,如果面对实体店比较多的品牌,我们也可以采用集群为他们服务,甚至到并发量更大的场景下,可以采用拆分服务搭建分布式了商城,这都是以后的事情了,如果真到了这个地步,相信公司也不只有我一个人后台开发了吧。现在我需要搭建是一个单体应用商城,技术选型如下:

SpringBoot:是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

Spring:开源的轻量级企业级应用开发框架,其提供的IOC容器方便了开发人员对对象的管理,AOP更是方便了开发人员的面 向切面编程。

SpringMVC:使用的是MVC的分层思想,模块与模块之间的解耦方便了对代码流程的控制。

SpringDataJPA:使用的基于Hibernate实现的JPA,JPA是一个JPA数据访问抽象。Spring数据提供了一种解决方GenericDao自定义实现。它还可以代表通过方法名称约定生成JPA查询。选用JPA主要是为了将快速开发贯彻到底。

Redis:Redis是基于内存实现的可持久化的非关系型数据库系统,业务场景一可以缓存热点数据,可以提高用户体验,减轻物理库的负载。场景二可以缓存Session信息、手机号验证码、短信防刷机制、重复请求拦截,但是这里单体架构的系统下,暂时不使用,使用手写的JVM缓存替代,因为我不想多维护一个中间件,集群架构下再引入。

MySQL:MySQL是一个开源的关系型数据库系统,生态活跃、性能卓越。

SpringSecurity或Shiro:提供安全访问与权限控制的框架,不使用,使用AOP进行权限拦截,因为小程序权限比较单一,仅有微信用户这一个角色(不提供用户注册,仅使用微信授权登录),自己使用AOP拦截更方便。

JWT:是目前最流行的跨域身份验证解决方案,将用户标识加密后存储在客户端,通过牺牲服务端的CPU运算换取内存存储,还有一个更重要的原因,微信小程序没有cookie,如果要使用session存储登录态就很麻烦了,通常做法是将sessionId写在请求头中,不过如果是集群,又要进行session广播,总体来说还是JWT更简单方便。

Druid:阿里的数据库连接池,在功能、性能、扩展性方面都优于其他主流连接池。

Nginx:Nginx是一个高性能的HTTP与反向代理服务器,后期可以做Tomcat集群的反向代理,前期仅仅做路由转发。

小程序商城后台技术选型相关推荐

  1. 开源一个golang小程序商城后台系统(moshopserver)

    开源一个golang小程序商城后台系统(moshopserver) 开源一个golang小程序商城后台(moshopserver) golang和c/c++比起来是一门新的语言,一直想学,网上搜集了一 ...

  2. 微信小程序商城 (后台JAVA)

    微信小程序商城(Java版) 技术选型 1 后端使用技术 1.1 springframework4.3.7.RELEASE 1.2 mybatis3.4.1 1.3 shiro1.3.2 1.4 se ...

  3. Java项目:微信小程序商城+后台管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目为小程序商城系统前后台,前台为普通会员用户登录,后台为管理员登录: 程序功能: ...

  4. Java项目:微信小程序商城+后台管理系统(java+SSH+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目为小程序商城系统前后台,前台为普通会员用户登录,后台为管理员登录: 程序功能: 1.小程序前台:用户注册登录.首页.轮播 ...

  5. 教你微信小程序商城搭建-技术文章

    此文是专业技术文章,非技术人员看不懂,意思一下就好了 首先我们要明确小程序需要哪几种文件.河北银丹互联网科技有限公司 微信小程序中就四种类型的文件:河北银丹互联网科技有限公司 js --------- ...

  6. python爬取商城数据_Python爬取新版CRMEB小程序商城后台订单数据,保存为excel

    安装依赖库 pip3 install requests, openpyxl 爬取思路 后台ingdan的接口地址是:/admin/order.StoreOrder/order_list.html 登陆 ...

  7. 王炸!一个开源微信小程序+商城后台管理系统

    ▲ 源码下载 开源版源码下载地址:http://www.laiketui.com/download github下载地址: https://github.com/bettershop/LaikeTui ...

  8. jee-weapp是一套基于jfinal,dubbo微服务开发的微信小程序商城项目,首次开放全部拼团前后台源码

    介绍: jee-weapp 简介 jee-weapp基于微信第三方开放平台基础框架, 多模块化开发不同的微信营销插件, 支持微信第三方平台扫码授权公众号,小程序 支持微信第三方平台覆盖全网发布 支持小 ...

  9. 微信小程序商城如何打印快递单

    说到小程序,绝大部分人想到的都是微信小程序,经过几年的发展,微信已经为小程序开发了很多丰富的功能,针对小程序商城的用户,为了提供物流的功能专门开发上线了微信物流助手,方便小程序商城快速实现快递下单和物 ...

最新文章

  1. lammps软件_MAPS软件:让LAMMPS运用更高效 — 特点及实例
  2. Luna的大学读书史(1,Intro)
  3. ubuntu 终端批量复制文件_《卡死你3000》批量文件复制命令详解
  4. lux系统服务器安装后多大,服务器环境搭建
  5. MySQL源码包编译安装
  6. MySQL group_concat()函数
  7. pytorch基于web端和C++的两种深度学习模型部署方式
  8. 7种用户界面UI原则
  9. flutter ios打包_关于Flutter iOS打包报错的问题
  10. 改造Python中文拼音扩展库pypinyin补充自定义声母全过程
  11. 计算机网络—传输层(思维导图)
  12. OpenGL第六节:加载png图片
  13. ubuntu服务器系统日志在哪里,如何在Ubuntu上查看和写入系统日志文件
  14. vscode中使用beautify插件格式化vue文件
  15. 宝塔防火墙可以防ddos攻击吗
  16. 如何提升百度竞价推广的转化率?
  17. innosetup标准安装
  18. 00后表示真干不过,部门新来的00后网络安全工程师已把我卷崩溃,想离职了...
  19. ARM开发板如何安装Linux系统
  20. 如何使用使用 HAVING 与 ORDER BY?

热门文章

  1. windows环境下安装RabbitMQ(超详细)
  2. windows垃圾清理脚本
  3. 使用apk来控制指纹(指纹型号迈瑞微 ECS120)
  4. Harbor项目高手问答及赠书活动火热进行中
  5. 软工实践 - 第二十二次作业 项目测评(团队)
  6. 大唐移动android面试题,大唐移动面试经验
  7. 量子计算机不能解决的问题,量子计算机破产问题传统计算机无法解决
  8. Gatekeeper代码导读
  9. html怎么加背景图片不重复,css怎么设置背景图片不重复?
  10. C语言随机函数的使用