Backend

微服务链路追踪之Jaeger

在一个微服务分布式架构的系统中,可能存在复杂的、深层的层层服务调用关系,大致如下图 如果某个环节出问题,在海量的日志中定位问题是很痛苦的,于是就有了调用链追踪系统,比较有名的是:Jaeger和Zipkin。本篇文章主要介绍Jaeger Jaeger的组成部分 Instrumentation SDKs: 集成到应用程序和框架中以捕获跟踪数据的库。 从历史上看,Jaeger 项目支持使用各种编程语言编写的自己的客户端库。 它们现在被弃用,取而代之的是 OpenTelemetry Jaeger Agent: Jaeger 代理是一个网络守护程序,用于侦听通过 UDP 从 Jaeger 客户端接收...

gRPC调试工具推荐

在介绍工具之前先说一个情况,就是你用某个工具调试时,会发现,有的项目无需手动导入.proto文件,工具就能列出所有method,有些则不行。这是因为项目注册了反射,先看下怎么注册反射 就是这样,下面开始介绍工具 Postman 这个我觉得是最好的 gRPC UI gRPC的交互式Web用户界面,类似postman 安装 go install github.com/fullstorydev/grpcui/cmd/grpcui@latest 使用 # no TLS cuiwei@weideMacBook-Pro ~ % grpcui -plaintext localhost:9087 gRP...

使用docker-compose快速部署etcd

docker-compose.yml version: '3' networks: web-network: services: docker-etcd: hostname: etcd image: bitnami/etcd:3.5.5 volumes: - "./etcd/data:/bitnami/etcd/data" environment: - ALLOW_NONE_AUTHENTICATION=yes - ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379 ...

使用docker-compose快速部署InfluxDB 2.4

docker-compose.yml version: '3' networks: web-network: services: docker-influxdb: image: influxdb:2.4 container_name: influxdb restart: always ports: - "8086:8086" #HTTP UI and API port environment: DOCKER_INFLUXDB_INIT_MODE: "setup" DOCKER_INFLUXDB_INIT_U...

nginx 安装rtmp模块实现推流服务器

安装模块 请移步 https://www.cuiwei.net/p/1011052604 配置文档 https://github.com/arut/nginx-rtmp-module/wiki/Directives vi /etc/nginx/nginx.conf load_module modules/ngx_rtmp_module.so; events { worker_connections 1024; } rtmp { server { listen 1935; chunk_size 4096; applicatio...

nginx 安装第三方模块

下面以rtmp模块为例 https://github.com/arut/nginx-rtmp-module 普通方式 静态模块 ./configure --add-module=/path/to/nginx-rtmp-module make //make编译,编译好的程序在objs文件夹下面,这时候不要执行make install 避免新编译的程序有问题,又覆盖了原有的程序 //备份原来的nginx可执行文件 mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old //把编译好的Nginx程序替换到原来的目录里 cp...

php 使用 grpc

前提 protoc(the protobuf compiler binary to generate PHP classes for your messages and service definition.) grpc_php_plugin(a plugin for protoc to generate the service stub classes.) grpc(PHP扩展) protobuf(PHP扩展) grpc/grpc(composer包) google/protobuf(composer包) 其中protoc,grpc_php_plugin,grpc,protobuf,这4...

docker-compose 快速部署 gitlab 社区版

直接上配置文件 docker-compose.yml version: '3.6' services: gitlab: image: 'gitlab/gitlab-ce:15.3.1-ce.0' hostname: git.cuiwei.net container_name: gitlab restart: always environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://git.cuiwei.net' ports: - '80:80'...

容器化的LNMP环境,如何升级PHP到8.1.9

为什么要容器化 提到docker你可能会想到k8s,想到分布式,想到高并发;那单机服务器,或者开发环境有没有必要上docker呢?我觉得有!以LNMP环境为例 相比传统的LNMP环境搭建,docker有哪些优势? 之前安装LNMP环境你可能会选择yum,或手动编译,或宝塔之类的;我不太喜欢宝塔之类的,因为给它们的权限太大了,如果有漏洞那是很危险的。再说yum和手动编译,这两个你都没法保证一次成功次次成功!!!比如你在本地安装好了,然后你用同样的步骤到服务上安装,有可能会失败,因为系统不一样! docker 成功的解决了上面的问题,就是能做到一次成功次次成功。利用编排工具docker-compo...

docker部署web自动化工具 —— selenium

引用官方的一段话 Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。 它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发服务器, 以及用于实现 W3C WebDriver 规范 的基础结构, 该 规范 允许您为所有主要 Web 浏览器编写可互换的代码。 Selenium 的核心是 WebDriver,这是一个编写指令集的接口,可以在许多浏览器中互换运行。 独立模式 部分docker-compose chrome: # selenium/standalone-firefox:4.1.4-20220427 # selenium/sta...