All Projects → vangao1989 → Cloude

vangao1989 / Cloude

基于spring cloud的分布式系统架构。提供整套的微服务组件,包括服务发现、服务治理、链路追踪、服务监控等

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cloude

Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (-16.2%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (-16.97%)
Mutual labels:  spring-boot, spring, spring-cloud
Stormpath Sdk Java
Official Java SDK for the Stormpath User Management REST API
Stars: ✭ 221 (-43.19%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Tutorial
Spring Cloud Tutorial.《Spring Cloud 教程》
Stars: ✭ 173 (-55.53%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Bus
Spring Cloud event bus
Stars: ✭ 342 (-12.08%)
Mutual labels:  spring-boot, spring, spring-cloud
Awesome Spring
A curated list of awesome books, tutorials, courses, and resources for the Spring framework ecosystem.
Stars: ✭ 186 (-52.19%)
Mutual labels:  spring-boot, spring, spring-cloud
Awesome Spring Cloud
Spring Cloud 优质资源一网打尽
Stars: ✭ 249 (-35.99%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (-64.27%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Gateway Sample
Sample Spring Cloud Gateway Application
Stars: ✭ 268 (-31.11%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Boot Demo
Spring Boot & Spring Cloud & Spring Security Demo Case(Spring学习示例实战项目)
Stars: ✭ 255 (-34.45%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Samples
A series of examples used to demonstrate certain features of Spring.
Stars: ✭ 154 (-60.41%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring 5 Book
Spring 5 Samples(Spring 5 案例大全/《Spring 5 开发大全》示例源码) covers Spring 5, Spring MVC, Spring WebFlux, Spring Boot and Spring Cloud.
Stars: ✭ 283 (-27.25%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Thrift Starter
Set of cool annotations that helps you building Thrift applications with Spring Boot
Stars: ✭ 151 (-61.18%)
Mutual labels:  spring-boot, spring, spring-cloud
Sample Zuul Filters
Samples of custom Zuul 1 filters for use in Spring Cloud Netflix
Stars: ✭ 201 (-48.33%)
Mutual labels:  spring-boot, spring, spring-cloud
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 2,190 (+462.98%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Kubernetes
Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc...
Stars: ✭ 2,894 (+643.96%)
Mutual labels:  spring-boot, spring, spring-cloud
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 1,829 (+370.18%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Yes
基于Spring Cloud的快速开发脚手架&最佳实践总结
Stars: ✭ 138 (-64.52%)
Mutual labels:  spring-boot, spring, spring-cloud
Springcloudlearning
《史上最简单的Spring Cloud教程源码》
Stars: ✭ 16,218 (+4069.15%)
Mutual labels:  spring-boot, spring, spring-cloud
Spring Cloud Gateway
A Gateway built on Spring Framework 5.x and Spring Boot 2.x providing routing and more.
Stars: ✭ 3,305 (+749.61%)
Mutual labels:  spring-boot, spring, spring-cloud

项目介绍

  基于spring cloud的分布式系统架构。提供整套的微服务组件,包括服务发现、服务治理、链路追踪、服务监控等。所有服务均支持在docker中运行。

组织结构

cloudE
├── cloudE-eureka-server -- 服务发现
├── cloudE-config-server -- 分布式配置中心
├── cloudE-admin-server -- 服务监控
├── cloudE-gateway-server -- zuul网关
├── cloudE-hystrix-dashboard-server -- hystrix仪表盘
├── cloudE-turbine-server -- hystrix仪表盘聚合服务
├── cloudE-zipkin-server -- 链路监控
├── cloudE-pay-api -- 支付服务api,提供feign接口
├── cloudE-pay-provider -- 支付服务
├── cloudE-ucenter-provider -- 用户中心
├── cloudE-mapper -- mybatis生成模块
├── cloudE-common 公共模块、工具类等

技术选型

技术 说明 官网
Spring cloud eureka 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 https://projects.spring.io/spring-cloud/
Spring cloud config server 让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion https://projects.spring.io/spring-cloud/
Spring cloud zuul Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架 https://projects.spring.io/spring-cloud/
Spring Cloud Sleuth 日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。 https://projects.spring.io/spring-cloud/
Spring boot admin 服务监控 http://projects.spring.io/spring-boot/
Hystrix 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
Hystrix-dashboard hystrix 仪表盘
zipkin 分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。
Turbine 聚合服务器发送事件流数据的工具,用来监控集群下hystrix的metrics情况。
Feign 一种声明式、模板化的HTTP客户端。
MyBatis Generator 代码生成 http://www.mybatis.org/generator/index.html
Redis 分布式缓存数据库 https://redis.io/
Log4J 日志组件 http://logging.apache.org/log4j/1.2/
Swagger2 接口测试框架 http://swagger.io/
Maven 项目构建管理 http://maven.apache.org/
prometheus 时间序列数据库 https://prometheus.io/

模块介绍

cloudE-common

包含了公共模块,以及工具类等。

cloudE-pay-api

支付服务api包,以feign的形式暴露支付接口

cloudE-pay-provider

提供支付服务

cloudE-ucenter-provider

用户中心,通过feign调用支付服务

环境搭建

开发环境

  • 1、本机安装Jdk8、Mysql并启动相关服务,使用默认配置默认端口即可
  • 2、克隆源代码到本地并打开,推荐使用IntelliJ IDEA

准备工作

  • 创建数据库,导入cloudE-mapper项目中的create.sql

  • 修改cloudE-config-server中对应的配置信息(properties)

启动服务

  • 启动服务有三种方式:

  • 1、执行spring boot main方法

  • 2、执行maven打包命令 mvn clean install -Dmaven.test.skip=true ,jar包会被打到target目录下,进入该目录,执行 java -jar cloudE-xxxxx-xxxx.jar --spring.profiles.active=dev

  • 3、构建docker镜像(mvn package docker:build),然后执行docker run xxxxx/xxxxx

启动顺序

  • 优先启动cloudE-eureka-server,cloudE-config-server。其他服务顺序随意

服务监控

通过prometheus client暴露Metrics到/prometheus。然后通过简单的配置Prometheus,就可以采集到监控数据。还可以使用Grafana,更好的展示监控数据。

下面放上两张监控的效果图:

  • 1、prometheus prometheus

  • 2、grafana grafana

    另外,通过spring cloud生态内的hystrix dashboard,以及zipkin(链路监控),也可以很好的监控服务,排查问题

  • 1、hystrix dashboard hystrix

  • 2、zipkin zipkin1

动态参数注入

有时候业务上需要用到可以热修改的参数,可以通过@RefreshScope注解,和spring boot admin来实现

例子在cloudE-ucenter-provider中。实现如下:

  • 1.在启动类上加上@RefreshScope注解
  • 2.类中注入参数(参数配在properites中) ucenterTask
  • 3.spring boot admin修改对应参数,即可实时生效 spring-boot-admin
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].