品优购项目总结(一):走进电商,使用dubbox

1.走进电商

1.1 电商行业分析

近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。

1.2 电商行业技术特点

  • 技术新
  • 技术范围广
  • 分布式
  • 高并发、集群、负载均衡、高可用
  • 海量数据
  • 业务复杂
  • 系统安全

1.3 主要电商模式

  • B2B : 阿里巴巴、慧聪网
  • C2C:淘宝、易趣、瓜子二手车
  • B2C: 唯品会、乐蜂网
  • C2B: 海尔商城、尚品宅配
  • O2O(线上到线下):美团、饿了么
  • F2C(工厂到个人): 从厂商直接到消费者的电子商务模式(无中间商赚差价)
  • B2B2C(供应商-企业-个人):第一个 B 指的是商品或服务的供应商,第二个 B 指的是从事电子商务的企业,C 则是表示消费者。B2B2C的来源于目前的 B2B、B2C 模式的演变和完善,把 B2C 和 C2C 完美地结合起来,通过 B2B2C 模式的电子商务企业构建自己的物流供应链系统,提供统一的服务。 案例:京东商城,天猫商城

2.品优购

2.1 品优购简介

品优购网上商城是一个综合性的B2B2C电商平台,类似京东商城,天猫商城。网站采用商家入驻的模式,商家入驻平台提交申请,由平台进行审核,当审核通过后,商家拥有独立的管理后台录入商品信息。商品提交审核通过后即可上架销售。品优购网上商城主要分为网站前台、运营商后台,商家管理后台三个子系统

2.1.1 网站前台

主要包括网站首页、商家首页、商品详细页、搜索页、会员中心、订单与支付相关页面、秒杀频道等等
品优购项目总结(一):走进电商,使用dubbox_第1张图片

2.1.2 运营商后台

运营商后台是运营人员的管理后台。主要包括商家审核,品牌管理,规格管理、模板管理、商品分类管理、商品审核、广告类型管理、广告管理、订单查询、商家结算等。
品优购项目总结(一):走进电商,使用dubbox_第2张图片

2.1.3 商家管理后台

入驻的商家进行管理的后台,主要功能是对商品的管理以及订单查询统计、资金结算等功能。

品优购项目总结(一):走进电商,使用dubbox_第3张图片

2.2 系统架构

2.2.1 SOA架构

SOA是一种面向服务的架构样式。从服务、基于服务开发和服务的结果来看,面向服务是一种思考方式。其实SOA架构更多应用于互联网项目开发。为什么互联网项目会采用SOA架构呢?随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,迫切需一个治理系统确保架构有条不紊的演进。

2.2.2 框架组合

品优购采用当前流行的前后端编程架构
后端框架采用 Spring+SpringMVC+mybatis+Dubbox。前端采用angularJS+BootStrap

3.Dubbox 框架

3.1 Dubbox简介

Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,继续维护,命名为Dubbox。
Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东西,说白了就是个远程服务调用的分布式框架

品优购项目总结(一):走进电商,使用dubbox_第4张图片

节点角色说明:
Provider:暴露服务的服务提供方
Consumer:调用远程服务的服务消费方
Registry:服务注册于发现的注册中心
Monitor:统计服务的调用次数和调用时间的监控中心。
Container:服务运行容器

调用关系说明:
0.服务容器负责启动,加载,运行服务提供者
1.服务提供者在启动时,向注册中心注册自己提供的服务
2.服务消费者在启动时,向注册中心订阅自己所需的服务
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

3.2 注册中心Zookeeper

3.2.1 Zookeeper 介绍

官方推荐使用 zookeeper 注册中心。注册中心负责服务地址的注册与查找,相当于目录
服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适
合作为 Dubbox 服务的注册中心,工业强度较高,可用于生产环境。
Zookeeper的数据模型很简单,由一系列被称为ZNode的数据节点组成,与传统的磁盘文件系统不同的是,zk将全量数据存储在内存中,可谓是高性能,而且支持集群,可谓高可用,另外支持事件监听。这些特点决定了zk特别适合作为注册中心(数据发布/订阅)。

开发注意事项:
在serviceimpl类中 ,@Service注解与原来不同,需要引入com.alibaba包下的
import com.alibaba.dubbo.config.annotation.Service;

3.3 小Demo

3.3.1 服务提供者开发

applicationContext-service.xml 基本配置:


	
	
		
		
		

注:dubbo:annotation用于扫描@Service注解

3.3.2 服务消费者开发

服务消费者的 applicationContext-web.xml文件配置


	
	
	
		
			
				
			
		
	
	
	
	
	


4 品优购框架搭建

4.1 完整项目模块图如下:

第一天只用搭建parent、pojo、dao、common、sellergoods-interface、sellergoods-service、manage-web等模块

品优购项目总结(一):走进电商,使用dubbox_第5张图片

4.2 常见错误

4.2.1 在注册中心找不到对应的服务

品优购项目总结(一):走进电商,使用dubbox_第6张图片
这种错误是服务层代码没有成功注册到注册中心导致,检查服务层是否添加了@Service注解,并且包一定com.alibaba.dubbo.config.annotation
或者服务层工程由于某些原因没有正常启动

4.2.2 无法连接到注册中心

品优购项目总结(一):走进电商,使用dubbox_第7张图片

检查ip端口是否填写正确,检查注册中心是否正常启动正在运行。

你可能感兴趣的:(品优购项目总结(一):走进电商,使用dubbox)