- 博客(212)
- 收藏
- 关注
原创 Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇(内附开发 demo)
简介小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。系列云原生 API 网关,gRPC-Gateway V2 初探业务流程官方开发接入文档初始化项目开发环境为少 的本地开发环境go version# go version go1.14.14 darwin/amd64protoc --version# libprotoc 3.15.7protoc-gen-go --version# protoc-gen-go v1.26.
2021-04-07 10:22:24 1444 2
原创 Sentry(v20.12.1) K8S 云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能+高可用+可扩展+可伸缩集群部署
Sentry 算是目前开源界集错误监控,日志打点上报,事件数据实时分析最好用的软件了,没有之一。将它部署到 Kubernetes,再搭配它本身自带的利用 Clickhouse (大数据实时分析引擎)构建的 Snuba 服务进行数据分析~简直了。(已无敌????)在实战之前,我们先跟随官方文档初步了解下 Sentry 的整体项目架构。项目架构这一节,来自于官方文铛。https://develop.sentry.dev/architecture/注意:最新官方版 20.12.1。它的架构细节可能
2021-01-13 16:19:05 727
原创 使用 Quickwit 的搜索流功能为 ClickHouse 添加全文搜索
本指南将帮助您使用 Quickwit 的搜索流功能为知名的 OLAP 数据库 ClickHouse 添加全文搜索。Quickwit 暴露了一个 REST 端点,可以极快地(每秒最多 5000 万条)流式传输匹配搜索查询的 ID 或其他属性,ClickHouse 可以轻松地使用它们进行连接查询。我们将采用 GitHub 存档数据集,该数据集收集了超过 30 亿条 GitHub 事件:PullR...
2024-08-31 14:11:00 1367
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之分布式追踪
概述分布式追踪是一种跟踪应用程序请求流经不同服务(如前端、后端、数据库等)的过程。它是一个强大的工具,可以帮助您了解应用程序的工作原理并调试性能问题。Quickwit 是一个用于索引和搜索非结构化数据的云原生引擎,这使其非常适合用作追踪数据的后端。此外,Quickwit 本地支持 OpenTelemetry gRPC 和 HTTP(仅 protobuf)协议 以及 Jaeger gRPC ...
2024-08-30 13:45:00 1041
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理
Quickwit 从底层构建,旨在 高效地索引非结构化数据,并在云存储上轻松搜索这些数据。此外,Quickwit 开箱即支持 OpenTelemetry gRPC 和 HTTP(仅 protobuf)协议,并提供了一个 REST API,可以接收任何 JSON 格式的日志。这让 Quickwit 成为了日志的理想选择!.https://quickwit.io/docs/guides/sc...
2024-08-29 07:31:00 1502
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 从不同的来源摄取数据
摄取 API在这节教程中,我们将介绍如何使用 Ingest API 向 Quickwit 发送数据。要跟随这节教程,您需要有一个本地的 Quickwit 实例正在运行。https://quickwit.io/docs/get-started/installation要启动它,请在终端中运行 ./quickwit run。创建索引首先,我们创建一个无模式的索引。# Create...
2024-08-28 09:50:00 909
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方配置详解
Node configuration(节点配置)节点配置允许您为集群中的各个节点自定义和优化设置。它被分为几个部分:常规配置设置:共享的顶级属性Storage(存储)设置:在storage部分定义https://quickwit.io/docs/configuration/node-config#storage-configurationMetastore(元存储)设置:在m...
2024-08-27 09:33:00 1118
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方教程
快速上手在本快速入门指南中,我们将安装 Quickwit,创建一个索引,添加文档,最后执行搜索查询。本指南中使用的所有 Quickwit 命令都在 CLI 参考文档 中进行了记录。https://quickwit.io/docs/main-branch/reference/cli使用 Quickwit 安装程序安装 QuickwitQuickwit 安装程序会自动为您的环境选择正确...
2024-08-26 10:09:00 1291
原创 折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计)...
什么是 Quickwit?Quickwit 是首个能在云端存储上直接执行复杂的搜索与分析查询的引擎,并且具有亚秒级延迟。它借助 Rust 语言和分离计算与存储的架构设计,旨在实现资源高效利用、易于操作以及能够扩展到 PB 级数据量。Quickwit 非常适合日志管理、分布式追踪以及通常为不可变数据的应用场景,例如对话数据(电子邮件、文本消息、消息平台)和基于事件的分析。为什么 Quick...
2024-08-24 11:14:00 652
原创 解锁强强组合: 使用 Kafka + ClickHouse 快速搭建流数据实时处理平台(DoubleCloud 博客)...
我们想要解决的问题让我们深入一个现实场景:设想你负责汇总多个销售点系统产生的大量数据。这些数据需要被实时处理并在高级分析仪表板上展示,以提供全面的洞察。在数据处理领域,速度至关重要。ClickHouse 作为速度之王,它从不减速且异常迅速。其在并发处理方面的高效性以及成本效益使其成为构建快速数据洞察的首选。这就引出了一个简单的解决方案:对于每个销售点,我们添加一段终端代码,将数据插...
2024-08-19 10:11:00 535
原创 Binance 如何使用 Quickwit 构建 100PB 日志服务(Quickwit 博客)
三年前,我们开源了 Quickwit,一个面向大规模数据集的分布式搜索引擎。我们的目标很宏大:创建一种全新的全文搜索引擎,其成本效率比 Elasticsearch 高十倍,配置和管理显著更简单,并且能够扩展到 PB 级别的数据。https://quickwit.io/blog/quickwit-first-release虽然我们知道 Quickwit 的潜力,但我们通常测试的数据量不超...
2024-08-15 10:02:00 762
原创 快速基于 ClickHouse + Grafana 搭建可观测性解决方案 - 分布式链路追踪篇(ClickHouse 官方博客)...
引言在 ClickHouse,我们认为可观测性仅仅是另一个实时分析问题。作为一款高性能的实时分析数据库,ClickHouse 被用于多种场景,包括时间序列数据的实时分析。其应用场景的多样性推动了大量分析函数的发展,这些函数有助于查询大多数数据类型。这些查询特性和高压缩率使得越来越多的用户开始利用 ClickHouse 来存储可观测性数据。这类数据通常以三种形式出现:logs(日志)、metri...
2024-08-09 10:03:00 1275 1
原创 快速基于 ClickHouse + Grafana 搭建可观测性解决方案 - 日志篇(ClickHouse 官方博客)...
引言作为一款高性能的 OLAP 数据库,ClickHouse 被用于多种应用场景,包括 时间序列(time series)数据的实时分析。其多样化的应用场景推动了大量分析函数的发展,这些函数有助于查询大多数类型的数据。这些查询特性加上高压缩率使得越来越多的用户开始利用 ClickHouse 来存储可观测性数据。这类数据通常以三种常见形式存在:日志(logs)、指标(metrics) 和 跟踪...
2024-08-08 09:48:00 1002
原创 使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群
阿里云 ECS机器节点这里我们使用两台同一区域的 ECS 机器。机器配置:2 核 2 G。(ps: 阿里云 99 元一年的活动)一台安装 coordinator(协调器),这里内网 IP 为 172.18.60.11一台安装 worker,这里内网 IP 为 172.18.60.12操作系统两台机器分别安装了厂商的 Alibaba Cloud Linux 3 系统。lsb_...
2023-12-27 17:19:00 565
原创 使用 PostgreSQL 16.1 + Citus 12.1 作为多个微服务的分布式 Sharding 存储后端
在本教程中,我们将使用 PostgreSQL 16.1 + Citus 12.1 作为多个微服务的存储后端,演示此类集群的样例设置和基本操作。Citus 12.1 实验环境设置Docker 快速启动 Citus 分布式集群docker-compose.ymlversion: "3"services: master: container_name: "${COMPOSE...
2023-12-26 10:15:00 1260
原创 StackGres 数据库平台工程,使用 Citus + Patroni 创建生产级高可用分布式 PostgreSQL 分片集群...
系列StackGres, 可私有部署的云原生数据库平台工程StackGres数据库平台工程功能介绍与快速上手StackGres 1.6 数据库平台工程集群配置管理(K8S Pods/PostgreSQL/PgBouncer)StackGres 1.6 数据库平台工程,集群高可用(Patroni 3 管理)什么是 Sharded Cluster(分片集群)Sharded Clu...
2023-12-05 18:49:00 1222
原创 StackGres 1.6 数据库平台工程集群配置管理(K8S Pods/PostgreSQL/PgBouncer)
Postgres 配置PostgreSQL 的配置在 SGPostgresConfig CRD 中指定。如果在创建集群时没有指定自定义配置,StackGres 将创建一个默认配置,您可以在 这里 看到。https://stackgres.io/doc/latest/reference/crd/sgpostgresconfig/https://stackgres.io/doc/lates...
2023-12-04 10:11:00 857
原创 StackGres 1.6 数据库平台工程功能介绍以及快速上手
StackGres 1.6 数据库平台工程功能声明式 K8S CRsStackGres operator 完全由 Kubernetes 自定义资源管理。除了 kubectl 或任何其他 Kubernetes API 访问之外,不需要安装任何客户端或其他工具来管理 StackGres。您的请求由 CRD 的 spec 部分表示,任何 result 信息都在集群中资源的 status 部分中提...
2023-12-01 12:55:00 151
原创 StackGres 1.6,可私有部署的云原生数据库中间件平台工程
StackGres 数据库平台工程简介Enterprise Postgres made easy. On KubernetesStackGres 是 Kubernetes 的全栈 PostgreSQL 发行版,打包成一个简单的部署单元。使用精心选择和调优的 PostgreSQL 组件。一个企业级的 PostgreSQL 栈需要几个其他的生态系统组件和重要的调整。不仅仅是 Pos...
2023-11-30 16:27:00 510
原创 云原生可观测框架 OpenTelemetry 基础知识(架构/分布式追踪/指标/日志/采样/收集器)...
什么是 OpenTelemetry?OpenTelemetry 是一个开源的可观测性框架,由云原生基金会(CNCF)托管。它是 OpenCensus 和 OpenTracing 项目的合并。旨在为所有类型的可观测信号(如跟踪、指标和日志)提供单一标准。https://opentelemetry.iohttps://www.cncf.iohttps://opencensus.ioO...
2023-08-08 09:04:00 1589
原创 React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)
OpenTelemetry 可用于跟踪 React 应用程序的性能问题和错误。您可以跟踪从前端 web 应用程序到下游服务的用户请求。OpenTelemetry 是云原生计算基金会(CNCF)下的一个开源项目,旨在标准化遥测数据的生成和收集。已成为下一代可观测平台的事实标准。React(也称为 React.js 或 ReactJS )是一个免费的开源前端 JavaScript 库,用于基于 ...
2023-07-26 10:06:00 1202
原创 Sentry 后端云原生中间件实践 ClickHouse PaaS ,为 Snuba 事件分析引擎提供动力
目录(脑图)ClickHouse PaaS 云原生多租户平台(Altinity.Cloud)官网:https://altinity.cloudPaaS 架构概览设计一个拥有云原生编排能力、支持多云环境部署、自动化运维、弹性扩缩容、故障自愈等特性,同时提供租户隔离、权限管理、操作审计等企业级能力的高性能、低成本的分布式中间件服务是真挺难的。SaaS 模式交付给用户Sentry ...
2023-02-13 13:27:00 656
原创 Longhorn+K8S+KubeSphere云端数据管理,实战 Sentry PostgreSQL 数据卷增量快照/备份与还原...
云端实验环境配置VKE K8S ClusterVultr 托管集群https://vultr.com/3 个 worker 节点,kubectl get nodes。k8s-paas-71a68ebbc45b Ready <none> 12d v1.23.14k8s-paas-dbbd42d034e6 Ready <non...
2023-01-22 13:27:00 1499
原创 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
优化一个分布式系统的吞吐能力,除了应用本身代码外,很大程度上是在优化它所依赖的中间件集群处理能力。如:kafka/redis/rabbitmq/postgresql/分布式存储(CephFS,JuiceFS,C urve,Longhorn)等集群的处理能力。分布式存储集群(Longhorn)这里主要用于 Citus 集群的协调器(coordinator)和工作器(worker) 节点的数据...
2022-10-21 17:09:00 423
原创 使用 HammerDB 对 Citus 和 Postgres 进行 Benchmark,每分钟200万新订单处理测试(官方博客)...
在为 Postgres 运行性能基准测试时,主要建议是:“自动化!”如果您正在测量数据库性能,您可能不得不一遍又一遍地运行相同的基准测试。 要么是因为你想要一个稍微不同的配置,要么是因为你意识到你使用了一些错误的设置,或者可能是其他一些原因。通过自动化运行性能基准测试的方式,当发生这种情况时您不会太烦恼,因为重新运行基准测试将花费很少的精力(它只会花费一些时间)。但是,为数据库基准测试构建...
2022-10-04 17:16:00 612
原创 Memlab,一款分析 JavaScript 堆并查找浏览器和 Node.js 中内存泄漏的开源框架
Memlab 是一款 E2E 测试和分析框架,用于发现 JavaScript 内存泄漏和优化机会。Memlab 是 JavaScript 的内存测试框架。它支持定义一个测试场景(使用 Puppeteer API),教 Memlab 如何与您的单页应用程序(SPA)交互,Memlab 可以自动处理其余的内存泄漏检查:与浏览器交互并获取 JavaScript 堆快照分析堆快照并过滤掉内存泄...
2022-09-16 21:24:00 1006
原创 NodeJS & Dapr Javascript SDK 官方使用指南
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。系列Dapr 与 NestJs ,实战编写一个 Pub & S...
2022-08-05 10:54:00 482
原创 Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。系列本地使用 Docker Compose 与 Nestjs 快速构建...
2022-08-01 10:24:00 207
原创 NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。系列本地使用 Docker Compose 与 Nestjs 快速构建...
2022-07-23 00:06:00 489
原创 本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用...
Dapr(分布式应用程序运行时)介绍Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 官网:https://dapr.io/实战 Dapr 的 Redis 发布/订阅应用1. 创建项目首先,我们将创建我们的项目根文件夹来托管我们将在后续步骤中创建的所有...
2022-07-08 22:31:00 585
原创 Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)
Citus 11.0 来了! Citus 是一个 PostgreSQL 扩展,它为 PostgreSQL 添加了分布式数据库的超能力。 使用 Citus,您可以创建跨 PostgreSQL 节点集群透明分布或复制的表。 Citus 11.0 是一个新的主版本,这意味着它带有一些非常令人兴奋的新功能,可以实现更高级别的可扩展性。https://www.youtube.com/watch?v=...
2022-06-21 10:28:00 698
原创 使用 Dapr JS SDK 让 Nest.js 集成 Dapr
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 中文手册:https://docs.dapr.io/zh-hans/文件结构Dapr JS SDKhttps://github.com/dapr/js-sdk创建包含我们的 NestJS 项目的文件...
2022-06-18 09:53:00 135
原创 在 Traefik Proxy 2.5 中使用/开发私有插件(Traefik 官方博客)
Traefik Proxy 在设计上是一个模块化路由器,允许您将中间件放入您的路由中,并在请求到达预期的后端服务目的地之前对其进行修改。 Traefik 内置了许多这样的中间件,还允许您以插件的形式加载自己的中间件。https://doc.traefik.io/traefik/middlewares/overview/查找和安装中间件插件的最简单方法是通过 Traefik Pilot。...
2022-06-08 07:11:00 656
原创 试驾 Citus 11.0 beta
https://www.citusdata.com/blog/2022/03/26/test-drive-citus-11-beta-for-postgres/Citus 11.0 beta 的最大变化是 schema 和 Citus 元数据现在在整个数据库集群中自动同步。这意味着您始终可以从 Citus 集群中的任何节点查询分布式表!使用 Citus 最简单的方法是连接到协调器节点并将其...
2022-05-17 10:31:00 311
原创 ASP.NET Core + SaasKit + PostgreSQL + Citus 的多租户应用程序架构示例
在 确定分布策略 中,我们讨论了在多租户用例中使用 Citus 所需的与框架无关的数据库更改。当前部分研究如何构建与 Citus 存储后端一起使用的多租户 ASP.NET 应用程序。http://citus.hacker-linner.com/develop/migration_mt_schema.html#mt-schema-migration示例应用为了使这个迁移部分具体化,...
2022-05-13 16:56:00 549
原创 探索 Python/Django 支持分布式多租户数据库,如 Postgres+Citus
在确定分布策略中,我们讨论了在多租户用例中使用 Citus 所需的与框架无关的数据库更改。 在这里,我们专门研究如何借助django-multitenant库将多租户 Django 应用程序迁移到 Citus 存储后端。Djangohttps://www.djangoproject.com/确定分布策略http://citus.hacker-linner.com/d...
2022-05-13 10:26:00 584
原创 从 Notion 分片 Postgres 中吸取的教训(Notion 工程团队)
https://www.notion.so/blog/sharding-postgres-at-notion今年(2021)早些时候,我们对 Notion 进行了五分钟的定期维护。 虽然我们的声明指向“提高稳定性和性能”,但在幕后是数月专注、紧迫的团队合作的结果:将 Notion 的 PostgreSQL 整体分片成一个水平分区的数据库舰队。分片命名法被认为起源于 MMORPG Ulti...
2022-05-07 17:21:00 439
原创 Citus 11(分布式 PostgreSQL) 文档贡献与本地运行
Citus 可以使用分片跨多台计算机来水平缩放查询。 其查询引擎会将这些服务器的传入 SQL 查询并行化,加快大型数据集上的响应。 它为需要比其他部署选项更大规模和更高性能的应用程序提供服务:通常,工作负载接近或已经超过 100 GB 的数据。Citus 提供:使用分片跨多个计算机进行水平缩放将这些服务器的查询并行化,加快大型数据集上的响应为多租户应用程序、实时运营分析以及高吞吐量事...
2022-05-02 23:39:00 379
原创 使用 bitnami/postgresql-repmgr 镜像快速设置 PostgreSQL HA
什么是 PostgreSQL HA?此 PostgreSQL 集群解决方案包括 PostgreSQL 复制管理器(replication manager),这是一种用于管理 PostgreSQL 集群上的复制(replication)和故障转移(failover)的开源工具。获取此镜像获取 Bitnami PostgreSQL HA Docker 镜像的推荐方法是从 Docker Hub...
2022-04-23 18:13:00 1026
原创 使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群
bitnami-docker-postgresql 仓库源码:bitnami-docker-postgresqlhttps://github.com/bitnami/bitnami-docker-postgresql流复制相关环境变量使用以下环境变量,可以使用 Bitnami PostgreSQL Docker 镜像 轻松设置流复制集群:POSTGRESQL_REPLICATI...
2022-04-22 10:23:00 613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人