• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

cola-cloud: Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

cola-cloud

开源软件地址:

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

开源软件介绍:

Build Status Coverage Status Downloads

Cola Cloud

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

推荐

Cola-Auth

基于SpringBoot2/SpringSecurity/SpringSession/SpringSocial/SpringSecurityOAuth2构建的互联网应用基础框架,包含认证中心、消息通知、安全中心和用户中心。支持Session/JWT/OAuth2认证模式,支持账号密码/短信验证码/社会化登录等登录模式。接入支付宝/微信/QQ/微信公众号/微信小程序等第三方平台,支持Web应用和App应用,可快速构建SSO平台和OpenAPI平台。

服务介绍

项目名称编号名称说明
cola-cloud-authauth-service认证服务基于SpringSecurity进行安全认证,采用OAuth2.0认证体系,对客户端、用户进行认证及授权,支持账号密码登录,短信验证码登录
cola-cloud-configconfig配置服务基于Spring Cloud构建统一配置服务,负责管理所有服务的配置文件
cola-cloud-devtools开发工具Cola 代码生成器
cola-cloud-gatewaygateway服务网关基于Zuul构建服务网关,并对服务进行负载,前只实现静态路由
cola-cloud-monitormonitor服务监控基于Spring Boot Admin集成Turbine,Hystrix,对应用状态进行监控,对服务调用进行追踪和对熔断进行监测
cola-cloud-messagemessage通知中心公共基础通知服务,支持系统消息、短信、邮件、推送通知
cola-cloud-registryregistry服务注册基于Euraka构建服务注册中心,负责服务注册于发现
cola-cloud-commoncommon-service基础服务聚合Cola平台所有公共服务
cola-cloud-organizationorganization-service组织架构提供组织架构、员工、岗位等服务
cola-cloud-tenancytenancy-service租户服务提供租户以及租户成员服务
cola-cloud-ucuc-service租户服务用户中心
cola-cloud-upmupm-service权限服务提供角色、资源、授权服务
cola-cloud-notificationnotification-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 mysql127.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/ 服务网关,已经聚合了所有服务的Swaggerhttp://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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap