
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了在Superset Docker容器中安装MySQL驱动的两种方法:Docker run方式和Docker Compose方式。由于官方镜像未包含MySQL驱动,需要手动安装Python虚拟环境中的pymysql和pydoris驱动,并配置必要的编译依赖。文章详细说明了安装步骤、数据库连接配置方法以及常见注意事项,包括权限处理、镜像源更换和驱动验证等技巧。通过本文指导,用户可顺利完成驱动
摘要 Kratos Admin后台管理系统新增ClickHouse支持,这款由Yandex开发的列式数据库专为PB级实时数据分析设计,具有极速查询和高吞吐写入特性。文章详细介绍了ClickHouse的核心概念(表、引擎、分区等)、与传统数据库的区别,并提供了Docker部署指南。系统通过封装ClickHouse SDK简化集成,配置文件支持连接参数,展示了股票K线数据的存储实现示例,包括模型定义和
摘要: Casbin是一个国产开源访问控制框架,支持多种权限模型如ACL、RBAC和ABAC,已被多家知名企业采用。其核心概念包括请求(Request)、模型(Model)和策略(Policy),通过三元组(Subject, Object, Action)进行权限判定。Casbin采用配置文件定义模型,包含请求定义、策略定义、角色定义等五个部分,策略则通常存储于数据库。文章展示了如何用Go语言实现
摘要:Bazel构建Kratos微服务的最佳实践 本文探讨了在Kratos微服务项目中如何选择构建工具。对于简单项目,Make足够使用;但随着项目复杂度增加(多服务、复杂依赖),推荐使用谷歌开发的Bazel构建系统。Bazel具有四大优势:快速(增量/并行编译)、可扩展(支持monorepo)、跨语言和自定义能力强。文章对比了monorepo和polyrepo代码库结构的优劣,并提供三个实战示例:
Kratos微服务对接EFK日志系统摘要: 本文介绍了如何将Kratos微服务与EFK(Elasticsearch+Fluentd+Kibana)日志系统对接。EFK是当下流行的分布式日志解决方案,其中Elasticsearch负责存储和检索日志,Fluentd收集日志数据,Kibana提供可视化分析界面。文章详细说明了使用Docker部署EFK集群的步骤,包括配置Fluentd将日志导入Elas
文章摘要: 本文介绍了Kratos微服务框架中的依赖注入工具Wire。Wire是Google开源的编译时依赖注入工具,相比运行时注入工具(如dig)能更早发现问题。文章解释了依赖注入的基本概念,重点讲解了Wire的两个核心概念:Provider(提供依赖对象的构造函数)和Injector(根据依赖关系生成代码)。通过一个用户服务的示例,展示了在Kratos分层架构(server、service、b
本文探讨了在Kratos微服务框架下实现CQRS(命令查询责任分离)架构模式的方法。CQRS将读写操作分离,可提升性能但无法保证强一致性。文章介绍了CQRS的起源、优缺点,并以物联网时序数据场景为例,通过日志查询服务和日志写入服务两个微服务实现分离。技术栈包含TimeScaleDB、Kafka等组件,提供了Docker部署方案和测试方法。CQRS适用于读多写少场景,但会增加系统复杂性,需要根据业务
摘要 本文探讨了使用Go微服务框架Kratos开发单体架构应用的可行性与实践。作者通过一个DEMO项目(kratos-monolithic-demo)展示了微服务框架在单体应用中的最小化实践,包括: 工程化工具链(Make/Wire/Buf)的使用 完整开发流程(从Protobuf定义到CURD实现) 认证授权等核心功能实现 文章分析了中小型项目采用微服务框架的合理性:统一技术栈、渐进式架构演进、
本文介绍了如何在Golang微服务框架Kratos中应用Kafka消息队列。消息队列作为异步通信方式,适用于微服务架构,具有解耦、削峰、异步处理等优势。文章详细讲解了Kafka的基本概念、工作原理,以及通过Docker部署开发环境的方法。重点阐述了在Kratos框架中集成Kafka的两种方式:在Data层仅发送消息,或在Server层实现双向通信。作者还提供了封装好的Kafka客户端库,简化了Kr
本文介绍了GraphQL的核心概念和应用场景。GraphQL是一种API查询语言和运行时,由Facebook开发,主要优势包括:精准获取数据、单一数据源、类型安全、API灵活演进等。文章详细解析了GraphQL的数据类型系统(标量、接口、联合、枚举等),查询语法(字段、参数、变量、片段、指令等),并与REST进行了比较。GraphQL适用于需要灵活数据获取和高效API交互的场景,但学习曲线较陡且服







