/wingcloud

wingcloud 基于微服务架构的实时计算(Flink)展示平台

Primary LanguageJavaApache License 2.0Apache-2.0



Introductions

wingcloud 是基于微服务架构的实时计算展示平台。作为实时计算平台,wingcloud 又采用 Flink 流计算处理框架来实现高吞吐、低延迟的性能要求。 wingcloud-web:https://github.com/ash-ali/wingcloud-web

Features

  • 支持流计算实时处理。
  • 支持独立开发、独立部署服务。
  • 支持文档在线自动生成。
  • 支持数据大屏的报表通过后台实时切换或更改样式。
  • 支持单点登录。
  • 支持数据大屏实时动态展示
  • 支持监控服务/运维数据

Architecture

1、wingcloud 微服务架构图

image

2、wingcloud 计算服务架构图

image

Preview

Module Introductions

  • wc-client 业务服务模块都在wc-client中,主要为了提供业务模块的公共依赖。
  • wc-client-calculation 业务服务模块之计算模块,基于 Flink 流计算框架,kafka、Redis作为主要Source源,MySQL、kafka作为主要sink源。
  • wc-client-user 业务服务模块之用户模块,主要基于Redis、MySQL实现单点登录。
  • wc-client-admin 后台管理服务,主要是提供运维数据监控,切换报表样式、类型。
  • wc-client-reporting 报表展示服务,主要是监听kafka的数据,实时推送数据到前端。
  • wc-common 公共服务模块,主要提供Redis、cookie、信息加密、数据请求/响应的工具类。
  • wc-config 配置中心服务模块,对所有服务集中式配置,在config目录下。
  • wc-gateway 网关服务模块,主要通过zuul实现网关服务,其中含有鉴权、路由转发、负载均衡、swagger api生成。
  • wc-register 服务注册中心模块,将微服务注册到Eureka上进行服务治理。

Usage

1.获取源码

$ git clone https://github.com/ash-ali/wingcloud.git
$ git clone https://github.com/ash-ali/wingcloud-web.git

2.构建计算服务环境

  • centos7
  • flink-1.6.1-bin-hadoop26-scala_2.11
  • zookeeper-3.4.5
  • kafka_2.11-0.11.0.1
  • hadoop-2.6.0
  • jdk-8u201-linux-x64

3.提交任务到Flink web

提交:wingcloud/job/wc-client-calculation-0.0.1-SNAPSHOT-jar-with-dependencies.jar

4.启动服务

wc-register -> wc-config -> wc-client-user -> wc-client-reporting -> wc-client-admin -> wc-gateway

5.运行wingcloud-web

Run: wingcloud-web/login.html
user: xlj
password: 123

Documentation

wingcloud wiki

Todolist

  • 完善 wingcloud wiki
  • 使用Flink SQL 实现批流统一
  • 前端重构
  • 实现搜索引擎(ES)服务,多平台信息搜索

Self Description

License

wingcloud is licensed under the Apache License 2.0. See the LICENSE file.