All Projects → xk11961677 → skycloud-base

xk11961677 / skycloud-base

Licence: MIT license
🔥springcloud脚手架,配置中心(apollo/nacos) 注册中心(consul/nacos) 分布式事物(seata) 调用链(skywalking) 日志(ELK)监控(prometheus与grafana) 等,适合学习与快速开发使用

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to skycloud-base

Onemall
芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
Stars: ✭ 5,312 (+6540%)
Mutual labels:  springboot, springcloud, xxl-job, skywalking, nacos
Springcloud
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中
Stars: ✭ 6,997 (+8646.25%)
Mutual labels:  springboot, springcloud, skywalking, nacos
DiscoveryPlatform
☀️ Nepxion DiscoveryPlatform is a platform for Nepxion Discovery with service governance, release orchestration, flow inspection, instance blacklist, gateway route 服务治理、蓝绿灰度编排、流量侦测、实例摘除、网关路由的平台
Stars: ✭ 63 (-21.25%)
Mutual labels:  apollo, skywalking, nacos
Lamp Cloud
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
Stars: ✭ 4,125 (+5056.25%)
Mutual labels:  springboot, springcloud, nacos
Surging
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm, built-in service gove…
Stars: ✭ 3,088 (+3760%)
Mutual labels:  apollo, consul, skywalking
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (+398.75%)
Mutual labels:  consul, springboot, springcloud
hanzo-cloud
SpringCloud(Hoxton.SR5) + SpringBoot(2.3.0.RELEASE)的 SaaS型微服务后端脚手架。授权中心开发完毕。文档地址:https://www.kancloud.cn/hanzo/hanzo
Stars: ✭ 15 (-81.25%)
Mutual labels:  springboot, springcloud, nacos
Discovery
☀️ Nepxion Discovery is a solution for Spring Cloud with blue green, gray, route, limitation, circuit breaker, degrade, isolation, tracing, dye, failover 蓝绿、灰度、路由、限流、熔断、降级、隔离、追踪、流量染色、故障转移
Stars: ✭ 4,658 (+5722.5%)
Mutual labels:  apollo, skywalking, nacos
taotao-cloud-project
微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
Stars: ✭ 76 (-5%)
Mutual labels:  springboot, springcloud, nacos
Docs
Java知识总结:MySQL实战45讲,多线程和JVM知识总结,,SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》,《高性能MySQL笔记》,《数据结构与算法》等等
Stars: ✭ 308 (+285%)
Mutual labels:  elk, springboot, springcloud
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (-43.75%)
Mutual labels:  elk, springboot, springcloud
Gpmall
【咕泡学院实战项目】-基于SpringBoot+Dubbo构建的电商平台-微服务架构、商城、电商、微服务、高并发、kafka、Elasticsearch
Stars: ✭ 4,241 (+5201.25%)
Mutual labels:  elk, springboot, nacos
spring-cloud
🔥 Develop distributed application services based on SpringCloud architecture model and components
Stars: ✭ 36 (-55%)
Mutual labels:  springcloud, skywalking, nacos
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+68396.25%)
Mutual labels:  elk, springboot, springcloud
Ruoyi Cloud
(RuoYi)官方仓库 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统
Stars: ✭ 160 (+100%)
Mutual labels:  elk, springboot, springcloud
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+330%)
Mutual labels:  consul, grafana
Netcoremicroservicessample
Sample using micro services in .NET Core 3.1 Focusing on clean code
Stars: ✭ 403 (+403.75%)
Mutual labels:  consul, elk
Fw Spring Cloud
SpringCloud构建实战、从入门到高级,包含eureka、zuul、gateway、feign、ribbon、hystrix、mq、turbine、nacos、elk、consul、zookeeper、rocketmq、kafka、分布式事务(RocketMq、LCN、Seata)、分库分表(Sharding-JDBC)、分布式锁(Redis、Guava)、jwt、SkyWalking、Zipkin、bootadmin等使用案例
Stars: ✭ 276 (+245%)
Mutual labels:  consul, elk
Springcloud Learning
Spring Cloud基础教程,持续连载更新中
Stars: ✭ 6,839 (+8448.75%)
Mutual labels:  consul, nacos
My Cheat Sheets
A place to keep all my cheat sheets for the complete development of ASIC/FPGA hardware or a software app/service.
Stars: ✭ 94 (+17.5%)
Mutual labels:  consul, grafana

Sky Cloud 项目

Build Status license springcloud Gitter version helloworld

文档地址

项目介绍

功能点:
    
技术点:
    核心技术为springcloud Greenwich.RELEASE 全家桶实现。实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,实现了异常和日志的统一管理。
	
	核心框架:springcloud Greenwich全家桶
	    服务注册与发现: consul
	    配置中心: apollo
	    调用链:  skywalking
	    监控:    (hystrix + turbine  + admin) prometheus + granfa
	        
	安全框架:Spring Security Spring Cloud Oauth2
	分布式任务调度:xxl-job
	持久层框架:MyBatis、通用Mapper4、Mybatis_PageHelper
	数据库连接池:Alibaba Druid
	日志管理:Logback	、ELK
	前端框架:Vue全家桶以及相关组件
	分表分库: sharding-jdbc
	消息队列: rocket-mq
	分布式事务: seata
	ETL:  datax
	
	

整体代码结构层


│  ├─framework-------------------------框架层(https://github.com/xk11961677/framework)                                          
│  │
│  ├─skycloud-base------------------微服务基础层(https://github.com/xk11961677/skycloud-base)
│  │
│  ├─skycloud-service---------------微服务业务层(https://github.com/xk11961677/skycloud-service)
│  │
    

平台目录结构说明

│
├─skycloud-base----------------------------父项目,公共依赖
│  │
│  ├─skycloud-base-auth------------------认证与授权
│  │  │
│  │  ├─skycloud-base-authentication-api------------------认证客户端Feign
│  │  │
│  │  ├─skycloud-base-authentication------------------认证中心
│  │  │
│  │  ├─skycloud-base-authorization------------------授权中心
│  │  │
│  ├─skycloud-base-gateway-----------------网关
│  │
│  ├─skycloud-base-bom------------------三方包、二方包
│  │
│  ├─skycloud-base-dependencies------------------一方包与整体兼容包对外依赖
│  │
│  ├─skycloud-base-codegen-----------------代码生成工具(web站点)
│  │
│  ├─skycloud-base-common------------------公共包(依赖JAR包)
│  │
│  ├─skycloud-base-config------------------配置中心(依赖JAR包)
│  │
│  ├─skycloud-base-consul------------------服务发现与注册(依赖JAR包)
│  │
│  ├─skycloud-base-hystrix-client------------------hystrix客户端(依赖JAR包)
│  │
│  ├─skycloud-base-hystrix-dashboard------------------hystrix单一面板
│  │
│  ├─skycloud-base-hystrix-turbine--------------------hystrix聚合中心
│  │
│  ├─skycloud-base-monitor------------------Spring boot admin监控
│  │
│  ├─skycloud-base-prometheus------------------prometheus grafana监控(依赖JAR包)
│  │
│  ├─skycloud-base-upload----------------------文件上传资源服务
│  │
│  ├─skycloud-base-log----------------------系统日志服务
│  │
│  ├─skycloud-base-log-api----------------------系统日志服务API
│  │
│  ├─skycloud-base-idgenerator----------------------ID生成器服务
│  │
│  ├─skycloud-base-idgenerator-api----------------------ID生成器API
│  │
│  ├─skycloud-base-nacos------------------------------注册与配置中心(nacos)(依赖JAR包)
│  │
│  ├─seata--------------------------------------分布式事务(seata)
│  │
│  ├─zipkin-------------------------------------调用链(zipkin)
│  │
│  ├─skywalking---------------------------------调用链(skywalking)
│  │
│  ├─skycloud-generator-tool--------------------------代码生成工具(废弃)
│  │

进度

服务 使用技术 进度 备注
注册中心 consul/nacos
配置中心 apollo/nacos
动态网关 SpringCloud Gateway 多种维度的流量控制(服务、IP、用户等),后端可配置化
授权认证 Spring Security OAuth2
服务容错 SpringCloud Hystrix
服务调用 SpringCloud OpenFeign
调用链监控 Skywalking/Zipkin
断路器监控 Hystrix Dashbord + Tubine
代码生成 SpringCloud + velocity
任务调度 xxl-job
分表分库 sharding-jdbc sharding与seata结合还需大量测试
分布式事务 seata 现阶段还需大量测试
分布式ID uid-generator
日志收集 ELK
企业监控 prometheus + grafana
数据迁移 Datax
灰度发布 todo 🏗

数据迁移项目代码请点我

分布式事物 分表分库 在POC项目中请点我

签名算法

git message 规约

作用

用于生成规范changelog

提交格式

  1. 请点我
  2. idea 可使用 git commit template 插件
  3. npm 可以使用 commitizen

生成changelog方式

运行docs/script/changelog/gitlog.sh

代码发布方式

  • skycloud-base-bom
    • 版本号:<主版本>.<次版本>.<增量版本>-<代号>
    • 废弃: 升级版本号命令(统一设置新版本号)
      • mvn versions:set -DnewVersion=x.x.x
    • 废弃: 升级版本号命令(使用maven plugin自动部署)
      • mvn release:prepare
        1. 把项目打一个release版本
        2. 在git的tag中打一个tag
        3. 自动升级SNAPSHOT 并提交更新后的pom文件到git
      • mvn release:perform
        1. 去git的tag上拿代码
        2. 用tag上的代码,打一个release版的包
        3. deploy到的maven私服
    • 直接修改1.0.0-SNAPSHOT属性版本

docker 启动consul

1. 脚本位置: docs/docker/consul/docker-compose.yml

2. 启动命令: docker-compose up -d

3. 停止命令: docker-compose stop

4. 查看集群信息: docker exec -t node1 consul members

docker 启动apollo

1. 启动consul前提下

2. 将docs/script/db/apollo 数据库脚本导入数据

3. 将docs/docker/apollo 三个脚本修改IP地址与数据库地址 

4. 按步骤运行apollo_config.sh 、apollo_admin.sh 、apollo_portal.sh

docker-compose 启动方式(仅为 java项目)

前提条件 在skycloud-base根目录执行所有脚本
1. 创建镜像
docker-compose -f docs/docker/docker-compose.yml build

2. 启动容器
docker-compose -f docs/docker/docker-compose.yml up -d

运维管理页面

vue address

platform

platform

FAQ

  • 在使用中有任何问题,欢迎反馈
  • apollo-consul源码与部署包 提取码: xbdw
  • apollo数据库
  • ELK 现阶段测试使用 logstash-logback-encoder 直接写入logstash,消耗资源较大,生产建议不要使用 改用EFK 或 flume+kafka+logstash/flume(自定义sink)+es 或 filebeat+kafka+elk 或logback appender --> MQ 等

开发计划

  1. 用户中心管理功能
  2. 优化dockerfile
  3. 灰度发布

架构图

架构图

关于作者

LICENSE

The MIT License (MIT) Copyright © 2019 sky

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].