C++ 全栈知识体系C++ 全栈知识体系
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
  • 架构基础

    • 发展历程
    • 服务演化
    • ORM框架
    • RPC框架
  • 分布式系统

    • 分布式系统 - 基础
    • 分布式系统 - 设计
    • 分布式系统 - 缓存
    • 分布式系统 - 通信方式
    • 分布式系统 - 一致性
    • 分布式系统 - 锁
    • 分布式系统 - 解决高并发、高性能、高可用
  • 微服务

    • 微服务 - 简介
    • 微服务 - 学习路线
    • 微服务 - 服务网关
    • 微服务 - 通信方式
    • 微服务 - 消息队列
    • 微服务 - 保护
    • 微服务 - 分布式搜索
    • 微服务 - 分布式事务
    • 微服务 - 多级缓存
    • 微服务 - 幂等性设计
  • 中间件

    • 消息队列 - ZeroMQ

      • ZeroMQ - 经典例子
      • ZeroMQ - 基础
      • ZeroMQ - 进阶
      • ZeroMQ - 高级请求-应答模式
    • RPC调用 - Dubbo

      • Dubbo - 框架学习
    • 配置中心 - Consul

      • Consul - 概述
      • Consul - 学习内容
      • Consul - 安装与使用
      • Consul - 服务健康检查
      • Consul - 常用的API
      • Consul - 存储个K/V
    • 配置中心 - Apollo

      • Apollo - 概述
      • Apollo - 设计
      • Apollo - Docker部署
      • Apollo - 使用配置中心
    • 监控平台 - Cat

      • Cat - 概述
      • Cat - Docker快速部署
      • Cat - C++客户端的docker镜像
    • 数据处理管道 - Logstash

      • Logstash - Elastic 总览
      • Logstash - 工作原理
      • Logstash - docker部署
      • Logstash - 实践
    • 服务网关 - Kong

      • Kong - 概述
      • Kong - Docker快速部署
      • Kong - C++客户端的docker镜像

Cat - C++客户端的docker镜像

参考资料

  • CAT-C++客户端集成Demo

制作CAT-C++的docker镜像

[root@iZuf61kbf845xt6tz10abgZ cat_cpp]# tree
.
├── build_cat_cpp.sh
├── build.sh
├── Dockerfile
└── environment
    ├── data
    │   └── appdatas
    │       └── cat
    │           └── client.xml
    ├── package
    │   └── cat-master.zip
    ├── shell
    │   └── build.sh
    └── src
        ├── main.cpp
        └── Makefile


整个构建过程,直接执行./build_cat_cpp.sh 即可

实践

[root@iZuf61kbf845xt6tz10abgZ cat_cpp]# docker run -it -d -v /etc/localtime:/etc/localtime --name cat_client_cplusplus docker.io/klc407073648/stibel_cat_cpp:v1.0
85cf4c457d71f848774bd1b3a2931d7bf713db80996b11505244430088509b66
[root@iZuf61kbf845xt6tz10abgZ cat_cpp]# docker exec -it cat_client_cplusplus bash
[root@85cf4c457d71 /]#
[root@85cf4c457d71 /]# cd /home/cat/mycat-client/src/
[root@85cf4c457d71 src]# ./catcpp
cppcat version: 3.0.0
encoder: 0
sampling: 1
multiprocessing: 0
heartbeat: 1
Using cat log file=/data/applogs/cat/cat_2022_04_09.logLog file has been opened in write mode by other process.
File: "/home/cat-master/lib/cpp/src/ccat/client_config.c", Line 128, in initCatClientConfig
2022-04-09 22:18:31  [95][[INFO] ] Current hostname: 85cf4c457d71
Using dataDir=/data/appdatas/cat/
Using CAT_HOME=/data/appdatas/cat/
Using client xml=/data/appdatas/cat/client.xml
File: "/home/cat-master/lib/cpp/src/ccat/message_manager.c", Line 83, in initMessageManager
2022-04-09 22:18:31  [95][[INFO] ] Current ip: 172.17.0.3
File: "/home/cat-master/lib/cpp/src/ccat/message_manager.c", Line 94, in initMessageManager
2022-04-09 22:18:31  [95][[INFO] ] Current ip hex: ac110003
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 209, in getRouterFromServer
2022-04-09 22:18:31  [95][[INFO] ] Start connect to router server 139.196.82.84 : 8080.
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 225, in getRouterFromServer
2022-04-09 22:18:31  [95][[INFO] ] Connect to router server 139.196.82.84 : 8080 Success.
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 264, in getRouterFromServer
2022-04-09 22:18:31  [95][[INFO] ] Got available server list:
{"kvs":{"startTransactionTypes":"Cache.;Squirrel.","block":"false","routers":"139.196.82.84:2280;","sample":"1.0","matchTransactionTypes":"SQL"}}
File: "/home/cat-master/lib/cpp/src/ccat/aggregator.c", Line 53, in setSampleRate
2022-04-09 22:18:31  [95][[INFO] ] cat client sample rate has been set to 1.000000
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 388, in updateCatServerConn
2022-04-09 22:18:31  [95][[DEBUG] ] Get router from server successfully
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 395, in updateCatServerConn
2022-04-09 22:18:31  [95][[DEBUG] ] Trying connecting to the best server
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 61, in tryConnBestServer
2022-04-09 22:18:31  [95][[INFO] ] Try connect to server 139.196.82.84:2280.
File: "/home/cat-master/lib/cpp/src/ccat/server_connection_manager.c", Line 71, in tryConnBestServer
2022-04-09 22:18:31  [95][[INFO] ] Connect success.
File: "/home/cat-master/lib/cpp/src/ccat/client.c", Line 154, in catClientInitWithConfig
2022-04-09 22:18:31  [95][[INFO] ] Cat has been initialized with appkey: cat_cpp_client
0
1
2
3
4
5
6
7
8
9
finish
[root@85cf4c457d71 src]#

界面查看: cat_cpp_out

Last Updated:
Contributors: klc407073648
Prev
Cat - Docker快速部署