diff --git a/README.md b/README.md index 97fc836c8..7290b719d 100644 --- a/README.md +++ b/README.md @@ -31,16 +31,18 @@ Kratos boosts your productivity. With the integration of excellent resources and * **Toolchain**: Includes an extensive toolchain, such as the code generation of cache, the lint tool, and so forth. ## Features -* APIs: The communication protocol is based on the HTTP/gRPC through the definition of Protobuf. -* Errors: Both the definitions of error code and the handle interfaces of code generation for tools are defined by the Enum of the Protobuf. -* Metadata: In the protocol of HTTP/gRPC, the transmission of service atomic information are formalized by the Middleware. -* Config: Multiple data sources are supported for configurations and integrations such that dynamic configurations are offered through the manner of *Atomic* operations. -* Logger: The standard log interfaces ease the integration of the third-party log libs and logs are collected through the *Fluentd*. -* Metrics: *Prometheus* integrated by default. Furthermore, with the uniform metric interfaces, you can implement your own metric system more flexible. -* Tracing: The OpenTelemetry is conformed to achieve the tracing of microservices chains. -* Encoding: The selection of the content encoding is automatically supported by Accept and Content-Type. -* Transport: The uniform plugins for Middleware are supported by HTTP/gRPC. -* Registry: The interfaces of the centralized registry is able to be connected with various other centralized registries through plug-ins. +* [APIs](examples/helloworld/helloworld): The communication protocol is based on the HTTP/gRPC through the definition of Protobuf. +* [Errors](examples/errors/api): Both the definitions of error code and the handle interfaces of code generation for tools are defined by the Enum of the Protobuf. +* [Metadata](examples/metadata): In the protocol of HTTP/gRPC, the transmission of service atomic information are formalized by the Middleware. +* [Config](examples/config): Multiple data sources are supported for configurations and integrations such that dynamic configurations are offered through the manner of *Atomic* operations. +* [Logger](examples/log): The standard log interfaces ease the integration of the third-party log libs and logs are collected through the *Fluentd*. +* [Metrics](examples/metrics): *Prometheus* integrated by default. Furthermore, with the uniform metric interfaces, you can implement your own metric system more flexible. +* [Tracing](examples/traces): The OpenTelemetry is conformed to achieve the tracing of microservices chains. +* [Encoding](encoding): The selection of the content encoding is automatically supported by Accept and Content-Type. +* [Transport](transport/transport.go): The uniform plugins for [Middleware](middleware) are supported by [HTTP](examples/http/middlewares)/[gRPC](examples/middleware/main.go). +* [Registry](examples/registry): The interfaces of the centralized registry is able to be connected with various other centralized registries through plug-ins. +* [Validation](examples/validate): Verification rules defined in Protobuf can be supported by HTTP/gRPC service. +* [SwaggerAPI](https://github.com/go-kratos/swagger-api/blob/main/examples/helloworld/server/main.go): Swagger API generated Automatically and embed Swagger UI endpoint can be started by adding [Swagger plugin](https://github.com/go-kratos/swagger-api). ## Getting Started ### Required diff --git a/README_zh.md b/README_zh.md index 4eccdba0f..50489779a 100644 --- a/README_zh.md +++ b/README_zh.md @@ -31,16 +31,18 @@ Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及 * 工具链:包含大量工具链,比如 cache 代码生成,lint 工具等等; ## Features -* 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:实现统一注册中心接口,可插件化对接各种注册中心; +* [APIs]((examples/helloworld/helloworld)):协议通信以 HTTP/gRPC 为基础,通过 Protobuf 进行定义; +* [Errors](examples/errors/api):通过 Protobuf 的 Enum 作为错误码定义,以及工具生成判定接口; +* [Metadata](examples/metadata):在协议通信 HTTP/gRPC 中,通过 Middleware 规范化服务元信息传递; +* [Config](examples/config):支持多数据源方式,进行配置合并铺平,通过 Atomic 方式支持动态配置; +* [Logger](examples/log):标准日志接口,可方便集成三方 log 库,并可通过 fluentd 收集日志; +* [Metrics](examples/metrics):统一指标接口,可以实现各种指标系统,默认集成 Prometheus; +* [Tracing](examples/traces):遵循 OpenTelemetry 规范定义,以实现微服务链路追踪; +* [Encoding](encoding):支持 Accept 和 Content-Type 进行自动选择内容编码; +* [Transport](transport/transport.go):通用的 [HTTP](examples/http/middlewares)/[gRPC](examples/middleware/main.go) 传输层,实现统一的 [Middleware](middleware) 插件支持; +* [Registry](examples/registry):实现统一注册中心接口,可插件化对接各种注册中心; +* [Validation](examples/validate): 通过Protobuf统一定义校验规则,并同时适用于HTTP/gRPC服务. +* [SwaggerAPI](https://github.com/go-kratos/swagger-api/blob/main/examples/helloworld/server/main.go): 通过集成第三方[Swagger插件](https://github.com/go-kratos/swagger-api)能够自动生成Swagger API json并启动一个内置的Swaager UI服务. ## Getting Started ### Required