black-shop, microservice B2C e-commerce platform.
-- Home Page --
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}进行开发。
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 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 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提供了应用部署,规划,更新,维护的一种机制,非常适合各种微服务的项目快速部署。
正在抓紧时间画………………客观稍安勿躁。
- 本项目严格按照阿里巴巴P3C的开发标准来执行,如不了解,请先行了解一下:https://github.com/alibaba/p3c
- Fork 本项目
- 新建 Feat_xxx 分支
- 提交代码
- 新建 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 #支付基础服务实现