基于分布式服务的SOA的项目一般实现流程

互联网项目架构之基于服务的分布式架构

  随着互联网电商项目的发展,越来越多的购物平台等都使用SOA分布式来作为系统主要架构。为什么有那么多的电商项目都选择SOA作为系统架构呢?这肯定是存在一定原因的,因为电商行业的项目它大概存在以下特点:分布式、高并发、高可用、集群、负载均衡、海量数据、系统安全等一系列问题都需要解决,那么我所了解的SOA分布式架构它正好基本能很好的解决这些问题。

  首先我给大家介绍以下电商项目中一些常见的运营模式:

  

  今天我就以近期开发过的一个电商项目为例,来分享一点我所理解的SOA结构开发流程,希望能够帮到大家,如有不妥,请指正。

一:首先说说项目总体架构的流程

  1、该项目采用SOA分布式架构,在此基础上我们又实现了面向服务的思想,中间件使用阿里巴巴出品的Dubbo服务治理的核心框架来管理整个系统的服务,并且选择zookeeper来作为注册中心;

    2、大家都知道,一个电商项目是无法避免如何处理海量图片资源的问题,所以这里由使用一款用C语言开发的开源分布式文件系统FastDFS作为图片服务器,专门用于存储系统中所有的商品图片,广告图片等资源,并且通过Nginx反向服务器来访问图片服务器上的资源;

       3、接着说说商品搜索功能这块的架构,这里我们将在Linux系统上搭建了solr集群并实现了集群分片,安装了IKAnalyzer中文分词器,定义业务域等一系列部署工作,搭建了专门的搜索子系统,使用solr技术实现了商品搜索功能;

  4、商品详情页这块,采用freemarker页面静态化技术,将实现了对所有商品能够生成HTML详情页面,当用户访问网站搜索商品查看商品详情数据时,我们这里是动态生成详情页,而不是提前设计好,这样即使稍微慢点,也无所谓;

  5、优化一个电商项目是开发中必不可少的工作,这时经过分析,将采用非关系型数据库redis作为主角搭建了redis集群,将商城首页的广告位数据、页脚数据和将每天访问最多的定时广告数据都存储在redis集群中,用空间换时间来提升网站数据的展示速度;

  6、互联网项目不同于传统项目,对网站的登录用户的安全性校验有非常高的要求,这里采用单点登录技术,来实现用户的登录和注册功能,这里我没有参与开发,但是对单点登录有一定的了解,下面进行分享。

 

二:业务这块就没啥可说的,都是电商购物平台,大家可能都有在类似的购物平台上购物的经验,我们项目的业务主线也是购物流程,至于后台管理系统也就是对各个管理模块的维护;但是我们又新添加了商城倒计时活动和商品秒杀活动,下面具体来说说这俩个新颖的功能吧。

  1、商城倒计时活动实现大概步骤(可以作为参考):

    (1)、首先确定一个基准时间,可以使用SQL语句从数据库获取一个时间SELECT NOW();

    (2)、活动开始的时间是固定的,使用活动开始的时间-基准时间可以计算出一个秒为单位的时间值;

    (3)、然后使用redis数据库,采用string类型的数据类型来存储一个key(值为活动开始的时间),一定设置key的过期时间,使用命令"expire key 10"假设有效时间为10秒;

      (4)、展示商城页面的时候,取出存储的活动开始时间,使用js倒计时功能;

    (5)、一旦存储的key失效,则说明活动结束(说明一点,需要在活动的逻辑中,先判断活动是否已经开始)。

 

  

  2、商城商品的秒杀活动实现的大概步骤(可以作为参考):

    (1)、首先把秒杀活动的商品数量存放到redis中;

    (2)、秒杀活动开始时,使用decr命令对商品数量减1,如果不是负数,则说明抢到礼物;

    (3)、一旦返回的商品数量为0,则说明商品已经售完,活动结束。

 

三:项目部署总结

(项目架构详解图)

(网络拓扑图)

转自:https://www.cnblogs.com/wangchaoyuana/p/7545259.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好消息:基于WCF构建企业级大型分布式SOA架构(中级篇)的源码开放下载了,可以向老师索取或者查看最后一个课时下载 下载即可获得如下大礼包:企业级大型分布式SOA框架源码 + 模板网站实践项目源码 + 框架工具、资料 + 初级篇全套源码、视频 学.Net WCF——当架构师 轻松就业 前途无限 掌握高端技术、迈进高收入行列 .Net都是谁在用?——微软、腾讯、网易、戴尔、当当网、携程、招商银行、中国知网、申通快递、房天下、汽车之家等。微软在软件行业的龙头老大位置没有任何人能够否认,它总是站在开发技术的前沿。如今微软正高举.NET大旗继续向前,他正努力使开发变得更加轻松。 学习目标  1、让学员熟练掌握WCF的核心概念及相关编程技能,对WCF技术有一个全面的、深入的、系统的了解;  2、让学员对SOA架构设计的思想和方式具有初步的认识, 对后期我们将要学习的SOA架构有一个宏观的了解;  3、让学员通过完整的示例的学习, 能够熟练搭建开发环境, 服务构建,服务配置,服务调试、服务单元测试, Restful服务的编写, 客户端代理的编写、各种应用程序中消费使用服务等;  4、通过项目实战让学员达到1-3年工作经验水平。达到.NET软件工程师,.Net/C#研发工程师、中高级工程师等岗位所需技能; 课程简介 专注15年C#/.Net开发、科研,在多个中大型企业中负责过多个中大型项目的架构设计、开发、实施部署,积累丰富的研发及实践经验,为Net学习者快速掌握.Net企业级开发常用技术及架构,录制本视频课程系列(分为初级篇,中级篇,高级篇三大课程),采用实战项目从0开始一步步讲授如何搭建项目架构及分析各技术的优劣,提供系统/示例完整源码(价值高)及详细上课日志,及时为您解惑答疑,让课程价值无限; 无论您是Java、C++、Python还是其它语言的开发者,都可以学习本系列课程,因为这种架构设计思想和方式对任何语言来说是一样的,只是实现的技术、语言不一样而已;纯干货,含金量高,价格实惠,物超所值 ,配套的项目架构源码等均能直接应用于实际项目开发中;        课程特色        1:课程设计循序渐进,讲解细致,通俗易懂,由浅入深, 非常适合自主学习;        2:以PPT为大纲,教学过程示例丰富,强调技术关键点,并且分析透彻;先概念后示例再应用实践;        3:物美价廉,本着知识共享,帮助更多有需求者原则,毫无保留,此外,提供源代码/示例代码+课程资料+课程相关工具; 本课程示例程序解决方案 SOA架构部署图(中级篇) SOA架构特色(中级篇) SOA架构解决方案(中级篇) 与SOA架构配合开发的Web实战项目解决方案(中级篇) 教学理念        1:把需要工作的人变成工作需要的人;        2:创设立足学员,突出项目,强化技术,提高能力的教学局面; 注意 1.开发环境VS2015、Eclipse、Sql Server 2008R2; 2.赠送配套资料:详细注释的示例项目源码、详实的讲义等; 3.由初级篇—中级篇—高级篇,建议按顺序一节节学习,一节节理解;从而快速实现架构师之梦;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值