SSM+AngularJS开发:电商项目实战,全程SOA与微服务架构

3星 · 超过75%的资源 需积分: 46 87 下载量 137 浏览量 更新于2024-09-08 8 收藏 66B TXT 举报
"黑马品优购电商项目全套资源"是一个针对JAVA技术栈的电商平台开发项目,它采用了一套全面而专业的技术组合来构建。该项目的核心技术栈包括前端开发框架AngularJS和Bootstrap,提供响应式设计与用户界面的优雅呈现。后端架构基于Spring框架的SSM组合(Spring MVC、Spring和MyBatis),这使得代码管理和持久层操作更为高效。 数据库层面,项目采用了MySQL作为主数据库,并通过MyCat实现读写分离策略,有效提升了系统的并发性能和数据处理能力。服务架构遵循面向服务(SOA)模式,确保服务之间的松耦合和高可扩展性。 服务治理和协调方面,项目使用Dubbox作为服务中间件,配合Zookeeper作为注册中心,实现了分布式系统中的服务发现和管理。消息传递则依赖于Apache ActiveMQ,结合Spring JMS,确保异步通信的可靠性和性能。 为了实现高可用性和负载均衡,项目利用了Nginx,通过负载均衡策略分发请求,提高网站的响应速度和用户访问体验。搜索引擎方面,项目采用了Solr的集群模式(SolrCloud),借助Zookeeper进行集群管理,并与Spring Data Solr集成,提供了强大的全文检索功能。 缓存层使用Redis集群,借助Spring Data Redis简化了缓存管理,加快了数据读取速度。图片存储则选择FastDFS集群,满足大流量图片上传和处理需求。网页静态化使用Freemarker模板引擎,提高了页面渲染效率。 为了实现统一的身份认证和授权,项目采用了CAS(Central Authentication Service)进行单点登录,Spring Security则负责权限管理,保障了系统的安全性。跨域资源共享(CORS)技术被用于解决不同源之间数据交换的问题。 支付功能上,项目支持微信扫码支付,提供了便捷的在线交易途径。短信验证功能则通过阿里大于提供的服务,增强了用户验证的安全性。密码加密采用了bcrypt算法,确保敏感信息的保护。 富文本编辑功能由KindEditor实现,提供了用户友好的文本输入和编辑体验。在事务管理方面,项目采用声明式事务处理,降低了开发者编写事务代码的工作量。最后,Spring Task模块被用于任务调度,实现了定时或周期性的业务处理。 总体来说,这个项目是黑马程序员团队针对JAVA开发的电商实战案例,涵盖了现代Web应用开发的各个方面,不仅技术全面,而且注重实践和性能优化。对于想要学习和理解这类大型项目的人来说,这是一份宝贵的资源。"
2018-07-25 上传
1.2. 结构化一下 1.3. 图形化一下 1.3.1. 运营商后台 1.3.2. 商家后台 1.3.3. 网页前台 参考京东 2. 技术选型 前端:angularJS + Bootstrap 后台:SSM( springmvc+spring+mybatis) 数据库:mysql,使用mycat读写分离 开发模式:SOA 服务中间件:dubbox,需要和zookeeper配合使用 注册中心:zookeeper 消息中间件:Activemq,使用spring-jms 负载均衡:nginx 搜索:solr集群(solrCloud),配合zookeeper搭建, 使用spring-data-solor 缓存:redis集群,使用spring-data-redis 图片存储:fastDFS集群 网页静态化:freemarker 单点登录:cas 权限管理:SpringSecurity, 跨域:cros 支付:微信扫描 短信验证:阿里大于 密码加密:BCrypt 富文本:KindEditor 事务:声明式事务 任务调度:spring task 所有的技术,都可能涉及到为什么用?怎么用?用的过程中有什么问题? 3. 框架搭建 3.1. 前端 理解baseControler.js、base.js、base_pagination.js,以及每一个xxxController.js里面都公共的做了些什么。 baseControler.js 分页配置 列表刷新 处理checkBox勾选 xxxControler.js 自动生成增删改查 base_pagination.js 带分页 base.js 不带分页 3.2. dao 使用了mybatis逆向工程 4. 模块开发 逐个模块开发就好 4.1. 学会评估模块难不难 一个模块难不难从几方面考虑。 涉及几张表? 1,2张表的操作还是没有什么难度的。 涉及哪些功能? 增删改查,批量删除。 前端展示? 分页列表、树形、面包屑、三级联动、内容格式化。 4.2. 举几个简单模块的例子 4.2.1. 品牌管理 单表 分页、新增、删除、修改 4.2.2. 规格管理 2张表 分页、新增、删除、修改、显示优化(显示列表内容的一部分) 4.2.3. 模板管理 2张表 分页、新增、删除、修改、显示优化(显示列表内容的一部分) 4.2.4. 分类管理 单表 4.2.5. 商家审核 单表 4.3. 举一个复杂模块 4.3.1. 商品新增 需要插入3张表,tb_goods、tb_goods_desc、tb_item 前端:三级联动、富文本、图片上传、动态生成内容 4.3.2. 商品修改 需要从3张表获取数据,然后进行回显。 4.4. 典型模块设计 4.4.1. 管理后台 商品新增、商品修改 4.4.2. 前台页面 搜索模块实现 购物车模块实现 支付模块实现 秒杀模块实现 5. 开发过程中问题&优化 1.1. 登录 单点登录怎么实现 session怎么共享 1.2. 缓存 哪些场景需要用到redis redis存储格式的选择 怎么提高redis缓存利用率 缓存如何同步 1.3. 图片上传 图片怎么存储 图片怎么上传 1.4. 搜索 ​ 怎么实现 数据量大、 并发量高的搜索 怎么分词 1.5. 消息通知 ​ 哪些情况用到activeMq 1.6. 优化 seo怎么优化 怎么加快访问速度 1.7. 秒杀 ​ 怎么处理高并发 ​ 秒杀过程中怎么控制库存