文字处理

展开

Kratos(Go微服务框架)

大小:712KB语言:中文 类别:文字处理系统:WinAll
简介|教程|评论(0)
软件性质:免费/pc版时间:2023-10-10 14:43:55

标签:

软件介绍

本文中h9d小编与大家分享的是Kratos,一个轻量级的Go微服务框架。该框架内置了许多与微服务相关的框架和工具,并基于gin进行了模块化设计。使用Kratos进行开发,能够高效地编写代码,解决gin在微服务场景下的适配问题,并提供了一系列微服务生态的解决方案。

Go微服务框架安装使用介绍

APIs:协议通信以 HTTP/gRPC 为基础,通过 Protobuf 进行定义;

Errors:通过 Protobuf 的 Enum 作为错误码定义,以及工具生成判定接口;

Metadata:在协议通信 HTTP/gRPC 中,通过 Middleware 规范化服务元信息传递;

Config:支持多数据源方式,进行配置合并铺平,通过 Atomic 方式支持动态配置;

Logger:标准日志接口,可方便集成三方 log 库,并可通过 fluentd 收集日志;

Metrics:统一指标接口,可以实现各种指标系统,默认集成 Prometheus;

Tracing:遵循 OpenTelemetry 规范定义,以实现微服务链路追踪;

Encoding:支持 Accept 和 Content-Type 进行自动选择内容编码;

Transport:通用的 HTTP/gRPC 传输层,实现统一的 Middleware 插件支持;

Registry:实现统一注册中心接口,可插件化对接各种注册中心;

Go微服务框架功能使用说明

HTTP Blademaster:核心基于gin进行模块化设计,简单易用、核心足够轻量;

GRPC Warden:基于官方gRPC开发,集成discovery服务发现,并融合P2C负载均衡;

Cache:优雅的接口化设计,非常方便的缓存序列化,推荐结合代理模式overlord;

Database:集成MySQL/HBase/TiDB,添加熔断保护和统计支持,可快速发现数据层压力;

Config:方便易用的paladin sdk,可配合远程配置中心,实现配置版本管理和更新;

Log:类似zap的field实现高性能日志库,并结合log-agent实现远程日志管理;

Trace:基于opentracing,集成了全链路trace支持(gRPC/HTTP/MySQL/Redis/Memcached);

Kratos Tool:工具链,可快速生成标准项目,或者通过Protobuf生成代码,非常便捷使用gRPC、HTTP、swagger文档;

Go微服务框架作用

简易:不过度设计,编码朴实简易;

通用性:通用性业务开发所需的基础库的功效;

高效率:提升业务流程迭代更新效率;

平稳:基础库可测试性高,普及率高,有线上实践活动可以信赖;

健硕:根据较好的基础库设计方案,降低误用;

高性能:性能高,但是不特殊为了能性能做hack提升,引入unsafe;

可扩展性:较好的界面设计,来拓展完成,或者利用新增加基础库文件目录来扩展功能;

可扩展性:为不成功设计方案,很多引入对SRE的认知,可扩展性高;

工具链:包括很多工具链,例如cache代码形成,lint工具这些;

加载全部内容

用户评论

验证码:

取消
跟帖评论
热门推荐
推荐教程
本类排行