/black-shop

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

Primary LanguageJavaApache 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、getway、Security、Mybatis、Druid、Apollo、Redis、EFK、等主要框架和中间件, 后台管理采用开源框架vue-admin进行开发,前端采用Vue全家桶组件,欢迎Star、Watch、Fork。

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

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

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

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

qun.png

开发组件~

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

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

RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Apollo(SpringCloud Config):替换SpringCloud Config,apollo能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

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提供了应用部署,规划,更新,维护的一种机制,非常适合各种微服务的项目快速部署。

项目架构图

正在抓紧时间画………………客观稍安勿躁。

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

软件架构

|-black-shop   #黑店
|-  |-black-shop-basic   #基础组件
|-  |-  |-black-shop-basic-apolloconfig   #阿波罗配置中心
|-  |-  |-black-shop-basic-elasticsearch   #elasticsearch搜索服务,对es服务器封装
|-  |-  |-black-shop-basic-redis   #redis缓存基础服务
|-  |-  |-black-shop-basic-scheduler   #任务调度
|-  |-  |-black-shop-basic-zipkin   #服务链路追踪
|-  |-  |-black-shop-basic-gateway   #服务网关
|-  |-  |-black-shop-basic-nacos   #nacos的demo
|-  |-black-shop-common   #公共服务
|-  |-  |-black-shop-common-basic  #公共基础服务
|-  |-  |-black-shop-common-util   #公共工具服务   
|-  |-black-shop-model   #实体模块
|-  |-  |-black-shop-model-user  #用户实体
|-  |-  |-black-shop-model-order   #订单实体 
|-  |-  |-black-shop-model-product   #商品实体 
|-  |-black-shop-service-api   #业务服务接口api
|-  |-  |-black-shop-service-api-user   #用户服务接口
|-  |-  |-  |-black-shop-service-api-user-security   #用户服务安全框架暴露接口
|-  |-  |-black-shop-service-api-serach   #搜索服务接口
|-  |-  |-  |-black-shop-service-api-serach-product   #商品搜索服务暴露接口
|-  |-  |-black-shop-service-api-product   #商品服务接口
|-  |-  |-  |-black-shop-service-api-product-basic   #商品服务暴露接口
|-  |-  |-black-shop-service-api-order   #订单服务接口
|-  |-  |-  |-black-shop-service-api-product-basic   #订单服务暴露接口
|-  |-black-shop-service   #服务实现
|-  |-  |-black-shop-service-user   #用户服务实现
|-  |-  |-  |-black-shop-service-user-basic   #用户基础服务实现
|-  |-  |-  |-black-shop-service-user-security   #用户安全框架实现
|-  |-  |-black-shop-service-serach   #搜索服务
|-  |-  |-  |-black-shop-service-serach-product   #商品搜索服务实现
|-  |-  |-black-shop-service-product   #商品服务
|-  |-  |-  |-black-shop-service-product-basic   #商品基础服务实现
|-  |-  |-black-shop-service-order   #订单服务
|-  |-  |-  |-black-shop-service-order-basic   #订单基础服务实现
|-  |-  |-black-shop-service-payment   #支付服务
|-  |-  |-  |-black-shop-service-payment-basic   #支付基础服务实现