/black-shop

black-shop(黑店),基于springBoot2.1.9和Spring Cloud Alibaba.{latest.version}搭建的微服务b2c电商平台,持续开发中…………欢迎加入贡献团队

Primary LanguageJavaScriptApache License 2.0Apache-2.0

black-shop-logo

Black-Shop

black-shop, microservice B2C e-commerce platform.
-- Home Page --

black-shop(黑店) for spring cloud Alibaba

项目介绍(开发中,欢迎加入~)

black-shop是基于Spring Cloud Alibaba微服务化电商平台,每个模块单独封装,各个模块之间通过Fegin调用,多业务系统并行开发,可以用来学习了解Spring Cloud各个组件的功能,了解电商的业务。 代码简洁,架构清晰,适合学习和直接项目中使用;核心技术采用Nacos、Sentinel、RocketMQ、Fegin、Ribbon、gateway、Security、Mybatis、Druid、Apollo、Redis、EFK、等主要框架和中间件, 后台管理采用react + redux + dva + umi + typescript进行开发,欢迎Star、Watch、Fork。 查看后台管理代码请移步:black-shop后台管理端

项目采用springBoot-2.1.9和spring-cloud-alibaba-{latest.version}进行开发。

为 black-shop 贡献代码请参考 如何贡献

本地启动部署手册(未完待续~)

——查看本地启动文档指南

欢迎参与该项目贡献和讨论 QQ群:204528889 black-shop(黑店)

qun.png

前端开发组件~

Ant-design:提炼自企业级中后台产品的交互语言和视觉风格、开箱即用的高质量 React 组件、使用 TypeScript 构建,提供完整的类型定义文件、全链路开发和设计工具体系。

后端开发组件~

Nacos(Eureka&SpringCloud Config):替换Eureka和Spring Config,nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Sentinel(Hystrix):替换Hystrix,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

SpringCloud Gateway(Zuul):替换Zuul,Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

部署组件~(全部组件采用docker|docker-compose|pod 进行部署)~

Docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Harbor:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,用来做镜像的存储。

Jenkins:Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins Pipeline:pipeline将我们原来意义上的手动配置每一个Jenkins Job的具体配置项变成将所有配置代码化, 并再次配合Gitlab等版本控制系统去保存我们的代码配置, 这样子无论Job在未来需要更新, 或者需要回滚到之前的某一个配置, 又或者一个新的Job需要参考之前的老Job的配置并直接套用, 又或者我们需要去批量生成若干个Job配置, 我们都可以像管理软件代码的方式去管理我们的Jenkins Job配置. 这样就极大的简化我们自动化部署的结构, 将以前需要手动配置Job的这个步骤, 直接代码化. 最终体现出我们DevOps的最终目标.

kubernetes(k8s):kubernetes用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制,非常适合各种微服务的项目快速部署。

项目架构图

系统架构图.jpg

项目后台截图

后台登录页面.png

代码架构

|-black-shop   #黑店
|-  |-black-shop-auth   #oauth2.0认证服务
|-  |-black-shop-common   #公共服务
|-  |-  |-black-shop-common-bom  #集中管理版本号
|-  |-  |-black-shop-common-core  #公共核心
|-  |-  |-black-shop-common-data   #redis等数据管理 
|-  |-  |-black-shop-common-datasource   #数据源 
|-  |-  |-black-shop-common-feign   #feignclient远程调用
|-  |-  |-black-shop-common-util   #公共工具服务   
|-  |-  |-black-shop-common-security  #spring security相关
|-  |-  |-black-shop-common-web  #和web相关的组件和工具类
|-  |-black-shop-porta   #门户模块
|-  |-  |-black-shop-porta-web   #前端web项目
|-  |-  |-black-shop-payment-web   #前端支付项目
|-  |-black-shop-gateway   #网关服务
|-  |-black-shop-service   #业务服务pom
|-  |-  |-black-shop-service-order   #订单服务
|-  |-  |-  |-black-shop-service-order-api   #订单服务Api
|-  |-  |-  |-black-shop-service-order-service   #订单服务实现
|-  |-  |-black-shop-service-payment   #支付服务
|-  |-  |-  |-black-shop-service-payment-api   #支付服务Api
|-  |-  |-  |-black-shop-service-payment-service   #支付服务实现
|-  |-  |-black-shop-service-product   #商品服务
|-  |-  |-  |-black-shop-service-product-api   #商品服务Api
|-  |-  |-  |-black-shop-service-product-service   #商品服务实现
|-  |-  |-black-shop-service-search   #搜索服务
|-  |-  |-  |-black-shop-service-search-api   #搜索服务Api
|-  |-  |-  |-black-shop-service-search-service   #搜索服务实现
|-  |-  |-black-shop-service-shoppingcart   #购物车服务
|-  |-  |-  |-black-shop-service-shoppingcart-api   #购物车服务Api
|-  |-  |-  |-black-shop-service-shoppingcart-service   #购物车服务实现
|-  |-  |-black-shop-service-thirdpart   #第三方服务
|-  |-  |-  |-black-shop-service-wechat   #微信服务
|-  |-  |-  |-  |-black-shop-service-wechat-api   微信服务Api
|-  |-  |-  |-  |-black-shop-service-wechat-service   #微信服务实现
|-  |-  |-black-shop-service-user   #用户服务
|-  |-  |-  |-black-shop-service-user-api   #用户服务Api
|-  |-  |-  |-black-shop-service-user-service   #用户服务实现