All Projects → leecho → Cola Cloud

leecho / Cola Cloud

Licence: mit
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台,集成OAuth2认证、集成短信验证码登录、微信小程序登录、FlyWay数据库版本管理、网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix、Turbine监控。开发用户中心、权限管理、组织架构、数据字典、消息中心、通知中心等模块。基于MyBatisPlus Generator 开发代码生成器

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cola Cloud

Mcloud
基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器
Stars: ✭ 185 (-35.09%)
Mutual labels:  microservice, spring-boot, spring-cloud, oauth2
Febs Cloud
基于Spring Cloud Hoxton.RELEASE、Spring Cloud OAuth2 & Spring Cloud Alibaba & Element 微服务权限系统,开箱即用。预览地址:https://cloud.mrbird.cn
Stars: ✭ 1,295 (+354.39%)
Mutual labels:  microservice, spring-boot, spring-cloud, oauth2
Spring Cloud Rest Tcc
以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案
Stars: ✭ 2,562 (+798.95%)
Mutual labels:  microservice, spring-boot, spring-cloud
Spring Cloud Study
开源书《跟我学Spring Cloud》的配套代码。讨论QQ群:731548893
Stars: ✭ 1,036 (+263.51%)
Mutual labels:  microservice, spring-boot, spring-cloud
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-76.84%)
Mutual labels:  microservice, spring-boot, spring-cloud
Microservices Event Sourcing
Microservices Event Sourcing 是一个微服务架构的在线购物网站,使用Spring Boot、Spring Cloud、Spring Reactor、OAuth2、CQRS 构建,实现了基于Event Sourcing的最终一致性,提供了构建端到端微服务的最佳实践
Stars: ✭ 657 (+130.53%)
Mutual labels:  microservice, spring-boot, oauth2
Jbone
jbone基于Spring Cloud框架开发,旨在为中小企业提供稳定的微服务解决方案,为开发人员提供基础开发骨架,jbone包含微服务中所有常用组件,例如注册中心、服务管理、服务监控、JVM监控、内存分析、调用链跟踪、API网关等等。业务功能包括系统权限的统一管理、单点登录、CMS、电商平台、工作流平台、支付平台等等。
Stars: ✭ 961 (+237.19%)
Mutual labels:  microservice, spring-boot, spring-cloud
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (-84.21%)
Mutual labels:  microservice, spring-boot, spring-cloud
Piggymetrics
Microservice Architecture with Spring Boot, Spring Cloud and Docker
Stars: ✭ 11,161 (+3816.14%)
Mutual labels:  microservice, spring-boot, spring-cloud
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (-74.74%)
Mutual labels:  microservice, spring-boot, spring-cloud
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+127.02%)
Mutual labels:  microservice, spring-boot, spring-cloud
Cloud Book
《Spring Cloud 微服务架构进阶》各章节附录源码
Stars: ✭ 142 (-50.18%)
Mutual labels:  microservice, spring-boot, spring-cloud
Matecloud
🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Cloud Alibaba、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等服务套件,为您的开发保驾护航
Stars: ✭ 412 (+44.56%)
Mutual labels:  microservice, spring-boot, spring-cloud
Loc Framework
本项目是完全基于Spring Boot2和Springcloud Finchley所进行了开发的,目的是简化和统一公司内部使用微服务框架的使用方法
Stars: ✭ 238 (-16.49%)
Mutual labels:  microservice, spring-boot, spring-cloud
Micro Company
Rest-full, Hipermedia-based distributed application. Spring boot & cloud. Angular. CQRS. Eventsourcing. Axonframework. Microservices. Docker. CloudFoundry
Stars: ✭ 307 (+7.72%)
Mutual labels:  microservice, spring-boot, spring-cloud
Microservices Platform
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。
Stars: ✭ 3,274 (+1048.77%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Java Microservices Examples
Java Microservices: Spring Boot, Spring Cloud, JHipster, Spring Cloud Config, and Spring Cloud Gateway
Stars: ✭ 194 (-31.93%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Microservice Scaffold
基于Spring Cloud(Greenwich.SR2)搭建的微服务脚手架(适用于在线系统),已集成注册中心(Nacos Config)、配置中心(Nacos Discovery)、认证授权(Oauth 2 + JWT)、日志处理(ELK + Kafka)、限流熔断(AliBaba Sentinel)、应用指标监控(Prometheus + Grafana)、调用链监控(Pinpoint)、以及Spring Boot Admin。
Stars: ✭ 211 (-25.96%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Web Development Interview With Java
Java 开发相关技术栈(大中厂)高频面试问题收录。
Stars: ✭ 69 (-75.79%)
Mutual labels:  microservice, spring-boot, spring-cloud
Jiiiiiin Security
一个前后端分离的内管基础项目
Stars: ✭ 132 (-53.68%)
Mutual labels:  microservice, spring-boot, spring-cloud

Build Status Coverage Status Downloads

Cola Cloud

Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台,集成OAuth2认证、集成短信验证码登录、FlyWay数据库版本管理、网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix、Turbine监控。开发用户中心、权限管理、组织架构、数据字典、消息中心、通知中心等模块。

服务介绍

项目名称 编号 名称 说明
cola-cloud-auth auth-service 认证服务 基于SpringSecurity进行安全认证,采用OAuth2.0认证体系,对客户端、用户进行认证及授权,支持账号密码登录,短信验证码登录
cola-cloud-config config 配置服务 基于Spring Cloud构建统一配置服务,负责管理所有服务的配置文件
cola-cloud-devtools 开发工具 Cola 代码生成器
cola-cloud-gateway gateway 服务网关 基于Zuul构建服务网关,并对服务进行负载,前只实现静态路由
cola-cloud-monitor monitor 服务监控 基于Spring Boot Admin集成Turbine,Hystrix,对应用状态进行监控,对服务调用进行追踪和对熔断进行监测
cola-cloud-message message 通知中心 公共基础通知服务,支持系统消息、短信、邮件、推送通知
cola-cloud-registry registry 服务注册 基于Euraka构建服务注册中心,负责服务注册于发现
cola-cloud-common common-service 基础服务 聚合Cola平台所有公共服务
cola-cloud-organization organization-service 组织架构 提供组织架构、员工、岗位等服务
cola-cloud-tenancy tenancy-service 租户服务 提供租户以及租户成员服务
cola-cloud-uc uc-service 租户服务 用户中心
cola-cloud-upm upm-service 权限服务 提供角色、资源、授权服务
cola-cloud-notification notification-service 通知中心 基于RabbitMQ异步通知发送短信、邮件、WebSocket消息

快速启动

下载代码

 git clone https://gitee.com/leecho/cola-cloud.git

配置HOST

Spring Cloud中的每个服务都是独立部署,所有在进行服务之间调用的时候需要确定对方服务的IP,为了规避IP变化带来代码修改的风险,所以需要配置host

# 注册中心 配置中心
127.0.0.1 registry api-gateway
# reids rabbitmq mysql
127.0.0.1 cola-redis cola-rabbitmq cola-mysql

环境变量

环境变量主要是配置服务的访问用户名和密码:

//配置服务器用户名
CONFIG_SERVER_USERNAME
//配置服务器密码
CONFIG_SERVER_PASSWORD
//注册服务器用户名
REGISTRY_SERVER_USERNAME
//注册服务器密码
REGISTRY_SERVER_PASSWORD
//监控服务器用户名
MONITOR_SERVER_USERNAME
//监控服务器密码
MONITOR_SERVER_PASSWORD
//MYSQL用户名
MYSQL_SERVER_USERNAME
//MYSQL密码
MYSQL_SERVER_PASSWORD
//RabbitMQ用户名
RABBITMQ_SERVER_USERNAME
//RabbitMQ密码
RABBITMQ_SERVER_PASSWORD
//Redis用户名
REDIS_SERVER_USERNAME
//Redis密码
REDIS_SERVER_PASSWORD

启动服务

启动顺序如下:registry config auth-service uc-serivce upm-service organization-service gateway monitor

registry必须要最先启动,registry启动之后提供接口以供其他服务进行注册

config在registry之后启动,config负责提供给其他服务配置信息,如果config没有启动,其他服务则无法启动

其他service在config之后启动,如果是第一次运行项目,启动config之后先启动uc-service进行数据初始化

gateway在最后启动,如果gateway先于其他服务启动,可能无法代理到其他服务,不过会在一段时间后重新代理

monitor,在config启动之后即可启动

访问

http://localhost:80/ 服务网关,已经聚合了所有服务的Swagger
http://localhost:8761/ 注册中心,可以查看服务注册情况
http://localhost:8080/ 监控中心,可以查看服务运行状态

获取ACCESS_TOKEN

curl -X POST \
  http://api-gateway/uaa/oauth/token \
  -H 'Cache-Control: no-cache' \
  -H 'Postman-Token: 40aa591e-8518-4c1f-9e2d-f0c0e6151a40' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -F username=admin \
  -F password=111111 \
  -F grant_type=password \
  -F scope=ui

基础服务

配置服务

Spring Cloud Config 负责所有服务的配置,可以使用本地文件、GIT等方式存储分发配置文件

客户端配置

需要在POM中引入spring-cloud-starter-config 依赖, 根据约定自动状态

在项目中需要设置配置服务的信息,例如配置服务器的地址,访问的用户名和密码等信息,在resources目录下 bootstrap.yml 文件配置

spring:
  application:
    name: message-service
  cloud:
    config:
      uri: http://config:8888
      fail-fast: true

认证服务

Spring Security OAuth2 客户端配置

security:
  oauth2:
    client:
      clientId: server
      clientSecret: server
      accessTokenUri: http://auth-service:5000/uaa/oauth/token
      grant-type: client_credentials
      scope: server

@PreAuthorize("#oauth2.hasScope('server')")
@RequestMapping(value = "accounts/{name}", method = RequestMethod.GET)
public List<DataPoint> getStatisticsByAccountName(@PathVariable String name) {
	return statisticsService.findByAccountName(name);
}

服务网关

zuul:
  routes:
    message-service:
        path: /notifications/**
        serviceId: message-service
        stripPrefix: false

注册中心

spring:
  application:
    name: message-service

配置

短信配置

cola:
  sms:  #短信配置
    type: aliyun
    aliyun:
      access-key-id: 
      access-key-secret: 

存储配置

cola:
  storage:
    type: aliyun
    oss:
      access-key-id: 
      access-key-secret: 
      bucket-name: 
      endpoint: 

系统截图

获取Token

注册中心

API文档

监控中心

监控详细信息

链路追踪

代码生成器

QQ交流群:736697444

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].