Giter VIP home page Giter VIP logo

spring-cloud-alibaba-my-shop's Introduction

Spring Cloud Alibaba For MyShop

博客

视频

概述

利用 Spring Cloud Alibaba 微服务架构解决方案重构 走向单体地狱 阶段开发的 MyShop 项目,以便于我们更好的理解微服务架构,将知识点运用到实践中。

开发环境

  • 操作系统:Windows 10 Enterprise
  • 开发工具:Intellij IDEA
  • 数据库:MySQL 8.0.13
  • Java SDK:Oracle JDK 1.8.152

部署环境

  • 操作系统:Linux Ubuntu Server 16.04 X64
  • 虚拟化技术:VMware + Docker

项目管理工具

  • 项目构建:Maven + Nexus
  • 代码管理:Git + GitLab
  • 镜像管理:Docker Registry

后台主要技术栈

  • 核心框架:Spring Boot + Spring Cloud Alibaba
  • ORM 框架:tk.mybatis 简化 MyBatis 开发
  • 数据库连接池:Alibaba Druid
  • 数据库缓存:Redis Sentinel
  • 消息中间件:RocketMQ
  • 接口文档引擎:Swagger2 RESTful 风格 API 文档生成
  • 全文检索引擎:ElasticSearch
  • 分布式链路追踪:SkyWalking
  • 分布式文件系统:Alibaba OSS
  • 分布式系统网关:Spring Cloud Gateway
  • 分布式协调系统:Spring Cloud Alibaba Nacos Server
  • 分布式配置中心:Spring Cloud Alibaba Nacos Config
  • 分布式熔断降级:Spring Cloud Alibaba Sentinel
  • 反向代理负载均衡:Nginx

前后分离

  • 前端框架:NodeJS + Vue + Axios
  • 前端模板:ElementUI

持续集成

  • 持续集成:GitLab
  • 持续交付:Jenkins

拓扑结构

服务规划

Cloud

服务名称 服务端口 服务说明
MySQL 192.168.10.150:3306 MySQL 8.x,1G
GitLab 192.168.10.132:8080 代码托管/持续集成,2G
Nexus 192.168.10.146:8081 依赖管理,2G
Docker Registry 192.168.10.139:8080 镜像管理,1G
Jenkins 192.168.10.135:8080 持续交付,1G
SkyWalking 192.168.10.148:8080 链路追踪,2G
RocketMQ 192.168.10.149:8080 消息队列,2G
以下四个服务在在同一台服务器,4G
Nacos 192.168.10.151:8848 注册发现/配置中心
Sentinel 192.168.10.151:8080 熔断降级
Redis 192.168.10.151:26379 数据缓存
Nginx 192.168.10.151:80 反向代理/负载均衡

Services

服务名称 服务端口 服务说明
以下为通用服务
myshop-service-gateway 9000 服务网关
myshop-service-reg 9501 用户注册
myshop-service-sso 9502 单点登录
myshop-service-cache 9503 缓存服务
myshop-service-oss 9504 文件上传
myshop-service-forget 9505 忘记密码
myshop-service-search 9506 全文检索
myshop-service-email 9507 邮件服务
以下为服务提供者
myshop-service-provider-content-category 10101 内容分类提供者
myshop-service-provider-content 10102 内容服务提供者
myshop-service-provider-item-cat 10103 商品分类提供者
myshop-service-provider-item-desc 10104 商品详情提供者
myshop-service-provider-item 10105 商品服务提供者
myshop-service-provider-order 10106 订单服务提供者
myshop-service-provider-order-item 10107 订单项提供者
myshop-service-provider-order-shipping 10108 购物车提供者
以下为服务消费者
myshop-service-consumer-content-category 10201 内容分类消费者
myshop-service-consumer-content 10202 内容服务消费者
myshop-service-consumer-item-cat 10203 商品分类消费者
myshop-service-consumer-item-desc 10204 商品详情消费者
myshop-service-consumer-item 10205 商品服务消费者
myshop-service-consumer-order 10206 订单服务消费者
myshop-service-consumer-order-item 10207 订单项消费者
myshop-service-consumer-order-shipping 10208 购物车消费者

Frontend

服务名称 服务端口 服务说明
vue-admin-myshop 9528 管理后台

spring-cloud-alibaba-my-shop's People

Contributors

toplusifer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-cloud-alibaba-my-shop's Issues

线程安全问题

image
spring mvc采用单例模式,这里这样写会导致并发获取request的情况下request混乱问题产生。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.