谷粒商城分布式基础篇01-项目介绍

项目介绍

    • 1. 项目简介
    • 2. 项目架构
    • 3. 项目背景
    • 4. 项目技术&特色
    • 5. 项目前置要求

1. 项目简介

本项目为完全分布式的电商项目——谷粒商城,这个项目将会分为以下三个篇章进行开发。

第一篇为分布式基础篇,也就是全栈开发篇。在第一篇中将会快速地开发一个电商管理后台系统,所要用到的后端技术栈为Spring Boot + MyBatis + Spring Cloud + Docker,结合前端的Vue 以及 Element UI,并且使用逆向工程的方式,快速地开发出一个后台管理系统,主要是打通全栈的开发能力。

第二篇为分布式高级篇,也就是微服务架构篇。在这篇中通过实现商城的一整套逻辑,比如商品、购物车、订单、结算、库存、描述等一整套服务,打通我们整个在微服务开发期间的技术栈以及重点难点。我们会使用Spring Boot 、Spring Cloud作为基础配套,以及搭配Spring Cloud Alibaba 例如Nacos作为注册中心和配置中心,引入Sentinel作为流量保护,分布式事务等。不仅可以学到许多的分布式里面的高级技术,以及微服务周边所有的配套方案,一整套都会打通。将会讲解各种微服务开发旗舰的重难点,比如网关、远程调用、链路追踪、缓存、session同步方案、以及全文检索,异步编排、线程池、压力测试、调优、redis分布式锁等等,这些分布式里面的高级知识一步打通。

第三篇为高可用集群篇,也就是架构师提升篇。这里主要是在有了一定分布式开发能力之后,对架构能力有一定的提升。在这里将会搭建一个k8s集群,以一主两从的方式,最终会使用KubeSphere成套地将我们的应用部署,打通整个DevOps技术栈,包括整套的CI/CD持续集成、持续交付和持续部署流程。我们会给予真实的企业流水线,编写一个具有参数化构建+手工确认模式的一个流水线,也就是Jenkins Pipeline。在这一篇中除了提高我们整个DevOps整个全栈能力外,还有非常多的集群搭建技术,比如MySQL的集群,Redis Cluster以及RabbitMQ的镜像队列等等。希望能够通过这三篇的学习,能够从入门到顶级的水平,通过一个项目打通整个J2EE的全套链路。

2. 项目架构

项目的最终架构图如下:
谷粒商城分布式基础篇01-项目介绍_第1张图片

我们会接触到常规的业务开发,比如常规的后台管理系统和商城的其他业务,涉及到远程调用的微服务方案Feign,以及网关系统 Spring Cloud Gateway,以及链路追踪Sleuth、Zipkin,还有Nacos注册中心和配置中心,线上的监控系统Prometheus,Grafana和一整套的预警系统Alertmanager,以及日志系统ELK组合,以及存储系统:Redis集群,MySQL主从分片,以及RabbitMQ镜像集群队列,ES全文检索等这些功能。除了Spring Boot、Redis和MySQL不会从头开始讲解,其他的内容都会从入门到实战地详细说明,包括我们后来的整个CI/CD流程。最终我们通过部署一个K8S集群,实现开发者写完代码以后,自动化地去代码仓库里边拉取到代码,打包成Docker镜像,然后使用Jenkins的整个流水线,加入参数化构建、手工确认,将我们的整个项目全部部署到K8S集群中。通过一个项目打通整个链路,能够站在上帝的视角,看清楚整个Java EE系统的全貌。

3. 项目背景

我们的项目属于B2C模式,商家将商品销售给客户,类似于京东自营、苏宁易购和小米商城等,也就是通常说的商业零售。

4. 项目技术&特色

  1. 前后端分离,并开发基于Vue的后台管理系统
  2. SpringCloud全新的解决方案
  3. 应用监控、限流、网关、熔断降级等分布式方案全方位设计
  4. 透彻讲解分布式事务、分布式锁等分布式系统的难点
  5. 分析高并发场景的编码方式,线程池、异步编排等使用
  6. 压力测试与性能优化
  7. 各种集群技术的区别及使用
  8. CI/CD的使用

5. 项目前置要求

  1. 熟悉SpringBoot以及常见整合方案
  2. 了解Spring Cloud
  3. 熟悉git、maven
  4. 熟悉Linux、Redis、Docker基本操作
  5. 了解HTML、CSS、JavaScript以及Vue.js
  6. 熟练使用idea

你可能感兴趣的:(分布式项目-谷粒商城实战,java,分布式,架构师)