Skip to content

基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器

License

Notifications You must be signed in to change notification settings

heyuxian/mcloud

This branch is 1 commit ahead of, 1 commit behind master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c8714c0 · Apr 1, 2019
Mar 8, 2019
Mar 21, 2019
Apr 1, 2019
Mar 8, 2019
Mar 8, 2019
Mar 21, 2019
Apr 1, 2019
May 11, 2018
Apr 1, 2019
May 20, 2018
May 14, 2018
Mar 10, 2019
Mar 10, 2019
Mar 21, 2019
Dec 20, 2017
Dec 20, 2017
Mar 8, 2019
Mar 8, 2019
Mar 8, 2019

Repository files navigation

MCloud - 微服务基础设施

Build Status Coverage Status License

项目简介

MCloud 基于 Spring Cloud 进行开发,提供了项目中常用的基础设施:

  • mcloud-registry 服务注册与发现中心。
  • keycloak 用户认证和管理。
  • mcloud-apigw 基于Spring cloud gateway 实现的 API 网关 ,同时使用了 netflix-ribbon 作为负载均衡器。
  • mcloud-config 基于 GitHub 的统一配置中心(此项目使用 这个 repo 作为配置存储库)。
  • mcloud-logs 基于logstash Kibana 以及 ElasticSearch 实现的日志服务。
  • mcloud-demo Demo Project
  • mcloud-console 基于 ant-design-pro 搭建的系统控制台(因升级 Spring Cloud 版本缘故,此模块暂不可用)。

其他:

Dependencies

  • Spring Boot 2.1.3.RELEASE
  • Spring Cloud Greenwich.RELEASE
  • Maven
  • JDK 1.8
  • ......

环境依赖

  • JDK 1.8 以上

  • IDE 请安装对应IDE的 lombok 插件

  • Keycloak

    **注:**在安装完 keycloak 后,需要将 mcloud/data 目录下的 realm-export.json 导入 keycloak ,并手动重置 mcloud realm 下的 mcloud 客户端的 clientSecret,并将新的 clientSecret 填入 mcloud-demo 下的 application.yml 中。

Quick Start

克隆项目到本地

git clone https://github.com/heyuxian/mcloud.git

构建及运行

因为项目使用配置优先的方式,所以需要先启动 mcloud-config 模块,然后依次启动 mcloud-registrymcloud-apigwmcloud-demo

启动配置中心:

cd mcloud-config
mvn clean install spring-boot:run

启动注册中心:

cd mcloud-registry
#分别在三个终端运行以下命令,用于启动多个注册节点
mvn clean install spring-boot:run -Dspring.profiles.active=peer1
mvn clean install spring-boot:run -Dspring.profiles.active=peer2
mvn clean install spring-boot:run -Dspring.profiles.active=peer3

启动 API 网关:

cd mcloud-apigw
mvn clean install spring-boot:run

启动示例项目:

cd mcloud-demo
mvn clean install
#分别在两个终端运行以下命令,用于启动两个节点
mvn spring-boot:run -Dspring.profiles.active=peer1
mvn spring-boot:run -Dspring.profiles.active=peer2

所有节点都启动完成后,还需要获取 access_token ,之后,我们就可以使用这个 token 来访问我们的 API:

curl --request GET \
  --url http://localhost/mcloud-demo/users/me \
  --header 'authorization: Bearer ${access_token}' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{}'

问题及建议

若是对于本项目有任何问题或建议,请提 Issue

About

基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published