电商项目技术选型

目录

  • 一、技术架构
  • 二、技术图
  • 三、技术选型
  • 四、架构相关名词
  • 五、Maven阿里云加速镜像

一、技术架构

项目是采用目前比较流行的 SpringBoot/SpringCloudAlibaba构建微服务电商项目,从项目中台架构技术选型、模块设计、基础设施的构建、分布式解决方 案、互联网安全架构设计、Devops与K8S容器化部署,apm应用程序性能监控、实现一套串联的电商项目。

二、技术图

电商项目技术选型_第1张图片

三、技术选型

核心架构技术方案

  1. 项目采用中台化设计,分为技术中台、业务中台、组织中台;
  2. 基于SpringBoot+SpringCloudAlibaba构建微服务电商项目
  3. 使用 Nacos 作为注册中心与配置中心,实现服务治理;
  4. 使用新一代 Gateway 网关框架管理服务请求入口;
  5. 使用 Ribbon 实现本地负载均衡器和 OpenFegin 客户端调用工具;
  6. 使用 Sentinel 服务保护框架(系统自适应限流、降级、热词限流等);
  7. 微服务 API 接口安全控制与单点登陆系统 CAS+JWT+Oauth2.0;

分布式基础设施

  1. 分布式任务调度平台 XXL-Job;
  2. 分布式事务解决方案 Seata;
  3. 分布式锁 redislock/Redisson 与高可用设计原理;
  4. 分布式配置中心 Nacos ;
  5. 高并发分布式全局 ID 生成雪花算法;
  6. 基于 canal 结合 MQ 解决 MySQL 与 Redis/ES 一致性问题
  7. 基于网关统一解决微服务接口跨域问题
  8. 基于 openresty+lua+Redis 实现亿级商品详情页面
  9. 基于SkyWalking实现分布式系统监控APM;

项目运营与部署环境

  1. 分布式设施环境,统一采用 docker 安装;
  2. 使用 jenkins+结合 kubernetes(k8s)容器部署技术;
  3. 微服务 API 管理 ApiSwagger;
  4. 使用 GitLab 代码管理;
  5. 数据库使用MySQL5.7以上;
  6. 使用七牛云服务器对静态资源实现加速;
  7. 构建企业级 Maven 私服仓库管理jar包;

四、架构相关名词

Saas/Paas/IaaS/APM相关概念
IaaS:基础设施服务,Infrastructure-as-a-service
PaaS:平台服务,Platform-as-a-service
SaaS:软件服务,Software-as-a-service
电商项目技术选型_第2张图片

Saas概念
1.软件即服务:SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。 SaaS 应用软件有免费、付费和增值三种模式。付费通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费,SaaS不仅适用于中小型企业,所有规模企业都可以从SaaS中获利。
以上摘自于百度百科:https://baike.baidu.com/item/SaaS

2.Saas简单通俗易懂理解为就是:
2.1:比如每特教育开发了一套在线教育平台系统,使用Java语言编写、在传统的模式的情况下,将整套在线教育的软件产品部署到企业内多个终端交付之后,企业还需要专门请专门的IT人员来维护;
2.2:就像买房,你需要装修、买家具,之后东西坏了还需要自己来维护、而Saas模式,为企业搭建所有网络基础设施软件、硬件、运营平台,进行前期的实施和后期的维护、企业无需购买硬件 也不需要自己建机房、招聘IT人员,就像现在市面上各种精装修房一样 对外出租大家可以直接拎包入住,而且东西坏了有专门的人来维护 这时候更像是租赁公司提供的服务,简单理解saas模式的核心: 将软件的所有权 变成了使用权。
2.3: 比如腾讯课堂提供Saas服务,很多机构入职腾讯课堂使用腾讯课堂在线教育系统。

3.SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS。

Paas概念
1.Paas平台 Pass平台即(Platform-as-a-Service:平台即服务),把应用服务的运行和开发环境作为一种服务提供的商业模式。
2.Paas可以简单理解为,构建在IaaS之上提供软件应用开发组件、运行环境存储接口和中间件,
通常Paas和IaaS是需要懂一定的技术背景。
3.提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。
4.客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置;

IaaS概念
1.IaaS(Infrastructure as a Service),即基础设施即服务。指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式;
2.在这种服务模型中,普通用户不用自己构建一个数据中心等硬件设施,而是通过租用的方式,利用 Internet从IaaS服务提供商获得计算机基础设施服务,包括服务器、存储和网络等服务;
3.提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、,防火墙,、负载均衡器等)的控制。
4…IaaS 云服务: 阿里云、腾讯云、百度云、华为云等。

Apm概念
(Application Performance Monitoring,即APM)工具 实现服务追踪、监控报警等。
SkyWalking 提供了一种简便的方式来清晰地观测分布式系统

Devops
devops开发运维一体化 基于docker或者k8s实现

五、Maven阿里云加速镜像

	 <mirror>
          <id>nexus-aliyunid>
          <mirrorOf>centralmirrorOf>
          <name>Nexus aliyunname>
          <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
      mirror>

你可能感兴趣的:(实战项目,项目实战)