All Projects → galaxy-future → cudgx

galaxy-future / cudgx

Licence: other
CudgX is a cloud native intelligent operation and maintenance engine that provides service measurement, index quantification, capacity evaluation, automatic expansion and contraction. 一种提供服务度量、指标量化、容量评估、自动扩缩容等功能的云原生智能运维引擎。

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to cudgx

Staffjoy
微服务(Microservices)和云原生架构教学案例项目,基于Spring Boot和Kubernetes技术栈
Stars: ✭ 1,391 (+3211.9%)
Mutual labels:  microservice, cloud-native
backk
Backk - Node.js framework for creating security-first cloud-native microservices for Kubernetes in Typescript
Stars: ✭ 14 (-66.67%)
Mutual labels:  microservice, cloud-native
Sentinel Golang
Sentinel Go version (Reliability & Resilience)
Stars: ✭ 1,817 (+4226.19%)
Mutual labels:  microservice, cloud-native
Go Zero
go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
Stars: ✭ 13,156 (+31223.81%)
Mutual labels:  microservice, cloud-native
Spring Cloud Azure
Spring Cloud integration with Azure services
Stars: ✭ 197 (+369.05%)
Mutual labels:  microservice, cloud-native
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+73323.81%)
Mutual labels:  microservice, cloud-native
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (+195.24%)
Mutual labels:  microservice, cloud-native
Kubernetes Handbook
Kubernetes Handbook (Kubernetes指南) https://kubernetes.feisky.xyz
Stars: ✭ 4,511 (+10640.48%)
Mutual labels:  microservice, cloud-native
Go Chassis
a microservice framework for rapid development of micro services in Go with rich eco-system
Stars: ✭ 2,428 (+5680.95%)
Mutual labels:  microservice, cloud-native
Myapp
🖥️ How to build a Dockerized RESTful API application using Go.
Stars: ✭ 171 (+307.14%)
Mutual labels:  microservice, cloud-native
Quarkus Microservices Poc
Very simplified shop sales system made in a microservices architecture using quarkus
Stars: ✭ 16 (-61.9%)
Mutual labels:  microservice, cloud-native
Jina
Cloud-native neural search framework for 𝙖𝙣𝙮 kind of data
Stars: ✭ 12,618 (+29942.86%)
Mutual labels:  microservice, cloud-native
Hemera
🔬 Writing reliable & fault-tolerant microservices in Node.js https://hemerajs.github.io/hemera/
Stars: ✭ 773 (+1740.48%)
Mutual labels:  microservice, cloud-native
Jina Hub
An open-registry for hosting Jina executors via container images
Stars: ✭ 71 (+69.05%)
Mutual labels:  microservice, cloud-native
Awesome Fenix
讨论如何构筑一套可靠的分布式大型软件系统
Stars: ✭ 530 (+1161.9%)
Mutual labels:  microservice, cloud-native
Motan Openresty
A cross-language RPC framework for rapid development of high performance distributed services based on OpenResty.
Stars: ✭ 117 (+178.57%)
Mutual labels:  microservice, cloud-native
Microservices Recipes A Free Gitbook
“If you are working in an organization that places lots of restrictions on how developers can do their work, then microservices may not be for you.” ― Sam Newman
Stars: ✭ 393 (+835.71%)
Mutual labels:  microservice, cloud-native
Cloud Native Starter
Cloud Native Starter for Java/Jakarta EE based Microservices on Kubernetes and Istio
Stars: ✭ 402 (+857.14%)
Mutual labels:  microservice, cloud-native
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+5992.86%)
Mutual labels:  microservice, cloud-native
Akka Management
Akka Management is a suite of tools for operating Akka Clusters.
Stars: ✭ 218 (+419.05%)
Mutual labels:  microservice, cloud-native

画板备份 9

Go Report Card

简介

CudgX是星汉未来推出的面向云原生时代的AIOps智能运维引擎,它通过各类服务的多维度、大数据量的数据收集及机器学习训练分析,对各种服务进行指标化、数字化度量,并基于部署的训练模型,对服务质量进行实时度量从而实现对算力、存储、网络等基础资源的自动化、智能化实时动态调度。

主要特性:
1、支持服务日志记录和聚合计算;
2、支持自动化压测;
3、支持实时容量评估;
4、支持自动化、智能化的算力弹性调度;
5、提供mesh agent SDK代理接入;
6、支持Web服务指标的自动化测量,以及自动扩缩容;
7、开放的指标定义平台,合作伙伴可以基于开放平台进行个性化指标配置;

联系我们

微博 | 知乎 | B站 | 微信公众号 | 企业微信交流群

系统架构

  • 系统架构图

    cudgx_arch

  • 系统模块说明

    • cudgx-api:
      • predict-rules: 负责维护扩缩容规则信息。
      • redundancy-keeper: 负责服务集群冗余度保持。
    • cudgx-gateway: 负责收集metrics-go上报的打点数据,并将数据分发到Kafka。
    • cudgx-consumer: 负责消费kafka数据,存储至clickhouse。
    • metrics-go: cudgx打点SDK。

系统图例

  • 查看服务监控相关图例: 冗余度走势 QPS 机器数 图。

  • 查看服务扩缩记录。

  • 示例:

    sample_3

安装部署

1、配置要求

为了系统稳定运行,建议系统型号2核4G内存;CudgX已经在Linux系统以及macOS系统进行了安装和测试。

2、环境依赖

安装CudgX前,请先安装:

BridgX:请根据BridgX安装指南 安装BridgX。要求内网部署环境,能够跟云厂商vpc连通。

SchedulX: 请根据SchedulX安装指南 安装SchedulX。要求内网部署环境,能够跟云厂商vpc连通。

ComandX: 如果需要进行前端操作,请根据ComandX安装指南 安装ComandX。

3、安装步骤

  • (1)源码下载

    • 后端工程:

    git clone https://github.com/galaxy-future/cudgx.git

  • (2)macOS(仅支持intel芯片)系统安装部署

    • 后端部署,在CudgX目录下运行

      make docker-run-mac

  • (3)Linux系统安装部署

    • 1)针对使用者

      • 后端部署,在CudgX目录下运行

        make docker-run-linux

    • 2)针对开发者

      • 由于项目会下载所需的必需基础镜像,建议将下载源码放到空间大于10G以上的目录中。
      • 后端部署
        • CudgX依赖mysql & kafka & clickhouse组件,
          • 如果使用内置的mysql & etcd & clickhouse,则进入CudgX根目录,则使用以下命令:

            docker-compose up -d //启动CudgX服务
            docker-compose down //停止CudgX服务

          • 如果已经有了外部的mysql & etcd & clickhouse服务,则可以到 cd conf 下修改api.json gateway.json consumer.json文件中对应组件的ip和port配置信息,然后进入Cudgx的根目录,使用以下命令:

            docker-compose up -d api //启动api服务
            docker-compose up -d gateway //启动gateway服务
            docker-compose up -d consumer //启动consumer服务
            docker-compose down //停止CudgX服务

  • (4)前端页面

    • 如果需要进行前端操作,请安装ComandX
      • 系统运行后,浏览器输入 http://127.0.0.1 可以看到管理控制台界面,初始用户名 root 和密码为123456。
  • (5)metrics-go

    • 1)需要将目标应用基于CudgX-SDK metrics-go 埋点,完成打点数据上传。 我们已经提供了一个sample应用 cudgx-sample-pi 用于测试: cudgx-sample-pi 应用已经基于 metrics-go 完成埋点操作。并且docker镜像 galaxyfuture/cudgx-sample-pi 已推送至docker hub。

    • 2)通过SchedulX完成服务部署,此处参考SchedulX创建服务流程

      • 关键配置:
        • ComandX页面-服务部署-创建扩缩容流程-镜像部署-服务启动命令:

          docker run -d -e CUDGX_SERVICE_NAME=test.cudgx.gf -e CUDGX_CLUSTER_NAME=default -e CUDGX_GATEWAY_URL=http://127.0.0.1:8080 -p 80:8090

          环境变量参数说明:

          • CUDGX_SERVICE_NAME: 服务名称
          • CUDGX_CLUSTER_NAME: 集群名称
          • CUDGX_GATEWAY_URL: CudgX-gateway服务地址
        • ComandX页面-服务部署-创建扩缩容流程-流量接入-配置SLB id: 接入阿里云SLB

    • 3)配置扩缩容规则

      • 关键配置
        • ComandX页面-服务部署-扩缩容规则
    • 4)向 {SLB IP}:{SLB PORT}/pi 接口施压 推荐两种方式:

      • a:测试过程中我们提供了 cudgx-sample-benchmark 应用,用作模拟访问流量。docker镜像 galaxyfuture/cudgx-sample-benchmark, 已推送至docker hub。

        docker run -d --name cudgx_sample_benchmark --network host galaxyfuture/cudgx-sample-benchmark --gf.cudgx.sample.benchmark.sever-address={SLB IP}:{SLB PORT}/pi

      • b:借助开源接口测试工具,向 {SLB IP}:{SLB PORT}/pi 接口施压。

    • 5)ComandX页面-服务列表-集群监控

      • 查看服务监控相关图例: 冗余度走势 QPS 机器数 图。
      • 查看服务扩缩记录。

视频教程

ComandX安装
添加云账户
创建集群
手动扩缩容
K8s集群创建与Pod切割

技术文章

《云原生技术如何每分钟级迁移TB级数据》
《企业迁移到K8s的最佳实践》
《来自一线大厂的十大云原生成本优化手段》

行为准则

贡献者公约

授权

CudgX使用Elastic License 2.0授权协议进行授权

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