• Stars
    star
    547
  • Rank 81,220 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MyShopPlus 项目致力于推广并普及 微服务架构 思想,采用全新 服务网格 系统打造电商生态级产品。

MyShopPlus

概述

MyShopPlus 项目致力于推广并普及 微服务架构 思想,采用全新 服务网格 系统打造电商生态级产品。

开发工具

工具 地址
Intellij IDEA https://www.jetbrains.com/idea/download
SwitchHosts https://oldj.github.io/SwitchHosts/
FinalShell http://www.hostbuf.com/
Postman https://www.getpostman.com/downloads/
SQLyog https://sqlyog.en.softonic.com/
PicPick https://picpick.app/zh/download
亿图图示 https://www.edrawsoft.cn/edrawmax/
亿图导图 https://www.edrawsoft.cn/mindmaster/

商业组件

服务 说明 地址
Aliyun SDK OSS 阿里云对象存储服务 官网

后端技术

技术 说明 地址
Spring Boot 新一代 JavaEE 开发标准 GitHub
Spring Cloud Alibaba 阿里巴巴基于 Spring Cloud 编程模型的微服务生态 GitHub
Spring Cloud Alibaba Dubbo 与 Spring Cloud Alibaba 生态相结合的高性能 Java RPC 框架 GitHub
Spring Cloud Alibaba RocketMQ 分布式消息系统 GitHub
Spring Security oAuth2 安全认证和授权框架 GitHub
Spring Social 第三方登录接入框架 GitHub
TkMyBatis 基于 MyBatis 二次开发的轻量级框架,用于简化 MyBatis 操作 GitHub
MyBatisGenerator Maven 插件,用于 MyBatis 相关代码生成 官网
MybatisCodeHelper Intellij IDEA 插件,用于 MyBatis 相关代码生成 官网
PageHelper MyBatis 分页插件 GitHub
Swagger API 文档生成工具 GitHub
HikariCP 数据库连接池 GitHub
Docker 容器化引擎 官网
Docker Compose 容器编排工具 官网
Kubernetes 容器编排系统 官网
TiDB 分布式数据库 官网
OKHttp3 轻量级网络框架 GitHub
OpenFeign 声明式 HTTP 客户端 GitHub
UserAgentUtils 用户代理检查工具 GitHub

前端技术

技术 说明 地址
Vue 前端框架,MVVM 模式的实现者 GitHub
Vue CLI Vue 脚手架,基于 NodeJS GitHub
Vue Router Vue 路由框架 GitHub
Vuex Vue 全局状态管理框架 GitHub
Axios 前端 HTTP 框架 GitHub
Element UI 饿了么 UI 框架 官网
Vue Element Admin 基于 Element UI 的前端后台解决方案 GitHub
Vue Image Crop Upload Vue 图片剪裁上传组件 GitHub

框架集成

集成 完成
Spring Boot
Spring Cloud Alibaba
Spring Cloud Alibaba Dubbo
Spring Cloud Alibaba Sentinel
Spring Security oAuth2
TkMyBatis
HikariCP
OKHttp3
Feign 传递 Token

后台功能清单

后台登录

功能 完成
用户注册
用户登录
获取 Token
刷新 Token

个人信息

功能 完成
查看信息
更新信息
更新密码
更新头像

权限管理

角色 菜单
超级管理员 所有菜单权限
运营人员 首页、用户、促销、运营、内容
功能 说明 完成
权限管理 添加权限、删除权限、修改权限、以树形结构返回权限
角色管理 添加角色、删除角色、更新角色、角色列表、获取角色权限、修改角色权限
成员管理 CRUD、为成员分配角色、获取成员角色、权限分配、获取权限列表

前台功能清单

功能 完成
用户注册
用户登录
获取 Token
刷新 Token
头像上传

后台服务规划

数据访问

服务名 端口 说明
provider-admin 随机 管理员服务提供者
provider-admin-login-log 随机 登录日志服务提供者

业务逻辑

服务名 端口 说明
business-reg 9000 注册服务
business-oauth2 9001 认证服务
business-profile 9002 个人信息管理服务

云服务

服务名 端口 说明
cloud-upload 10001 文件上传服务
cloud-message 10002 消息队列服务

消息队列

服务名 端口 说明
message-admin-login-log 20001 管理员登录日志消费者

网关

服务名 端口 说明
gateway 8888 Spring Cloud Gateway

基础设施规划

Docker

服务 主机名 IP/端口 CPU/MEM 说明
GitLab docker-gitlab 192.168.141.200:80 2 核 2G 代码管理
Nexus docker-nexus 192.168.141.201:80 2 核 2G 依赖管理
Harbor docker-harbor 192.168.141.202:80 2 核 2G 镜像管理
ZenTao docker-zentao 192.168.141.203:80 2 核 2G 项目管理

Kubernetes

主机名 IP 角色 CPU/MEM 磁盘
kubernetes-master 192.168.141.110 Master 2 核 2G 20G
kubernetes-node-01 192.168.141.120 Node 2 核 4G 20G + 40G
kubernetes-node-02 192.168.141.121 Node 2 核 4G 20G + 40G
kubernetes-node-03 192.168.141.122 Node 2 核 4G 20G + 40G
kubernetes-node-04 192.168.141.123 Node 2 核 8G 20G + 40G
kubernetes-volumes 192.168.141.130 NFS 2 核 2G 按需扩容

容器部署配置

GItLab

version: '3'
services:
    web:
      image: 'twang2218/gitlab-ce-zh'
      restart: always
      hostname: '192.168.141.200'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.141.200'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          unicorn['port'] = 8888
          nginx['listen_port'] = 80
      ports:
        - '80:80'
        - '443:443'
        - '2222:22'
      volumes:
        - ./config:/etc/gitlab
        - ./data:/var/opt/gitlab
        - ./logs:/var/log/gitlab

Nexus

  • 账号: admin
  • 密码: cat /var/lib/docker/volumes/nexus_data/_data/admin.password
version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 80:8081
    volumes:
      - data:/nexus-data

volumes:
  data:

Harbor

官方 GitHub 上下载最新离线安装版(我已经下载并放置在群分享的 Linux 目录下)并上传至服务器

  • 账号: admin
  • 密码: Harbor12345
# 解压
tar -zxvf harbor-offline-installer-v1.8.0.tgz

# 修改
cd harbor
vi harbor.yml
hostname: 192.168.141.202

# 安装
./install.sh

禅道

version: '3.1'
services:
  zendao:
    build: build
    restart: always
    container_name: zendao
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - 80:80
    volumes:
      - ./app:/app/zentaopms
      - ./data:/var/lib/mysql

More Repositories

1

spring-cloud-alibaba-my-shop

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

spring-cloud-netflix-itoken

iToken 项目是基于 Spring Boot + Spring Cloud 的综合练习项目,旨在帮助大家更好的理解和掌握微服务架构思想及相关知识点,为了能够让新人(尚未入行的同学们)了解企业开发中从立项到上线的大概流程,做了一个相对完整的设计,致使本人无法在有限时间内(因为要带新班)完成整个项目的研发,还请各位看官海涵。但最最重要的编程思想与编程方法已经传达到位,剩下的就是希望各位同学将所学知识内化吸收、融会贯通做出真正属于自己的产品。
Java
251
star
3

ssm-my-shop

MyShop 单体地狱版
JavaScript
191
star
4

spring-cloud-alibaba-dubbo

本项目的目标是将 Dubbo 融入到 Spring Cloud Alibaba 生态中,使微服务之间的调用同时具备 RESTful 和 Dubbo 调用的能力。做到对业务代码无侵入,无感知;引入 JAR 包则微服务间调用使用 Dubbo,去掉 JAR 包则使用默认的 RESTful;实现参考的是 Spring Cloud 中文社区的 Spring Cloud Dubbo 项目。
Java
142
star
5

dubbo-my-shop

该综合练习项目是将之前的《走向单体地狱》MyShop 从传统的 SSM 项目改造成基于 Spring Boot + Dubbo + Zookeeper 的微服务架构项目,旨在帮助大家更好的理解架构是演化而来的,不是设计出来的思想;当传统方式已经不能满足我们的需求时,我们就需要寻找新的解决方案了;
JavaScript
95
star
6

JavaBase

Java 基础阶段案例代码
Java
4
star