-
Notifications
You must be signed in to change notification settings - Fork 231
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
991698a
commit 686a0e9
Showing
14 changed files
with
130 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,65 @@ | ||
# Kitex Examples | ||
|
||
This repo contains useful examples for Kitex. | ||
English | [中文](README_CN.md) | ||
|
||
## Build | ||
## How to run | ||
|
||
```bash | ||
docker build -t kitex-examples . | ||
``` | ||
You can go into the related examples for information on "how to run" | ||
|
||
## Bizdemo | ||
- [bizdemo/easy_note](bizdemo/easy_note) Example of using kitex as an rpc framework to implement a simple note service with multiple middlewares | ||
- [Bookinfo](https://github.com/cloudwego/biz-demo/tree/main/bookinfo) Example of using kitex as the rpc framework to implement multi-functional book service programs including istio, opentelemetry, etc. | ||
- [Open Payment Platform](https://github.com/cloudwego/biz-demo/tree/main/open-payment-platform) Example of using kitex as the rpc framework to demonstrate the usage of kitex generic call, and builds an integrated payment platform. | ||
- [Book Shop](https://github.com/cloudwego/biz-demo/tree/main/book-shop) Example of using kitex as an rpc framework to implement an e-commerce system including an ElasticSearch search engine | ||
- [FreeCar](https://github.com/CyanAsterisk/FreeCar) Example of using kitex as the rpc framework to implement cloud native time-sharing car rental system suite services | ||
|
||
## Basic features | ||
- [basic](basic) Basic example of kitex | ||
- [async_call](async_call) Example of using asynchronous call in kitex server | ||
- [codec](codec) Example of kitex server and client using custom codecs | ||
- [codec-dubbo](https://github.com/kitex-contrib/codec-dubbo/tree/main/samples/helloworld) Example of dubbo protocol codec launched by Kitex to support kitex <-> dubbo interoperability | ||
- [long_connection](longconnection) Kitex example of using long connections between server and client | ||
- [streaming](streaming) Example of kitex server and client using streams | ||
- [middleware](middleware) Kitex Example of using middleware between server and client | ||
|
||
## Governance Features | ||
- Example of kitex server using configuration center to connect to governance features | ||
- [etcd](https://github.com/kitex-contrib/config-etcd/tree/main/example) Kitex server uses etcd as an example of connecting the configuration center with governance features | ||
- [nacos](https://github.com/kitex-contrib/config-nacos/tree/main/example) Kitex server uses nacos as an example of connecting the configuration center with governance features | ||
- [apollo](https://github.com/kitex-contrib/config-apollo/tree/main/example) Kitex server uses apollo as an example of connecting the configuration center with governance features | ||
- [discovery](discovery)Example of kitex server and client using service registration and discovery | ||
- [etcd](https://github.com/kitex-contrib/registry-etcd/tree/main/example) Example of kitex server and client using etcd as service registration center | ||
- [nacos](https://github.com/kitex-contrib/registry-nacos/tree/main/example) Kitex server and client use nacos as an example of service registration center | ||
- [polaris](https://github.com/kitex-contrib/registry-polaris/tree/main/example) Kitex server and client use polaris as an example of service registration center | ||
- [zookeeper](https://github.com/kitex-contrib/registry-zookeeper) Example of kitex server and client using zookeeper as service registration center | ||
- [consul](https://github.com/kitex-contrib/registry-consul/tree/main/example) Example of kitex server and client using consul as service registration center | ||
- [servicecomb](https://github.com/kitex-contrib/registry-servicecomb/tree/main/example) Kitex server and client use servicecomb as an example of service registration center | ||
- [eureka](https://github.com/kitex-contrib/registry-eureka/tree/main/example) Kitex server and client use eureka as an example of service registration center | ||
- [dns](https://github.com/kitex-contrib/resolver-dns) Example of kitex server and client using dns for service discovery | ||
- [resolver_rule_based](https://github.com/kitex-contrib/resolver-rule-based/tree/main/demo) provides a rule-based resolver for kitex. It allows users to configure rules in service discovery to filter service instances and implement traffic segmentation. | ||
- [timeout](governance/timeout) Example of using timeout control between kitex server and client | ||
- [limit](governance/limit) Example of using current limit on kitex server | ||
- [circuit_breaker](governance/circuitbreak) Example of kitex client using circuit breaker | ||
- [retry](governance/retry) Example of kitex client using retry | ||
- [load_balance](loadbalancer) Example of kitex server and client using load balancing | ||
|
||
## Observability | ||
- [opentelemetry](opentelemetry) Example of kitex server and client using opentelemetry | ||
- [prometheus](prometheus) Example of kitex server and client using prometheus | ||
- [tracer](tracer) Example of using tracer on kitex server and client | ||
- [klog](klog) Example of using klog logs on the kitex server | ||
|
||
## Advanced features | ||
- [frugal](frugal) Kitex example of using frugal on the server and client | ||
- [grpc_proxy](grpcproxy) Example of kitex server and client using grpc_proxy | ||
- [generic](generic) kitex example of using generic calls between server and client | ||
- [meta_info](metainfo) Example of kitex server and client using meta information | ||
- [profiler](profiler) Example of kitex server and client performance analysis using request cost metrics | ||
- [proxyless](proxyless) Example of letting Kitex services run in proxyless mode and be managed uniformly by the service mesh | ||
|
||
## Kitex generated code | ||
- [protobuf](kitex/protobuf) Example of using kitex and protobuf to generate server code | ||
|
||
## Note | ||
|
||
All commands to execute the example should be executed under "kitex-example". |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Kitex Examples | ||
|
||
[English](README.md) | 中文 | ||
|
||
## 如何运行 | ||
|
||
您可以进入相关示例以获取有关“如何运行”的信息 | ||
|
||
## Bizdemo | ||
- [bizdemo/easy_note](bizdemo/easy_note) 使用 kitex 作为 rpc 框架实现多中间键简易笔记服务的示例 | ||
- [Bookinfo](https://github.com/cloudwego/biz-demo/tree/main/bookinfo) 使用 kitex 作为 rpc 框架实现包含 istio 服务网格,opentelemetry 监控等多功能书籍服务程序的示例 | ||
- [Open Payment Platform](https://github.com/cloudwego/biz-demo/tree/main/open-payment-platform) 使用 kitex 作为 rpc 框架演示了 kitex 泛化调用的用法,构建了一体化支付平台 | ||
- [Book Shop](https://github.com/cloudwego/biz-demo/tree/main/book-shop) 使用 kitex 作为 rpc 框架实现包含 ElasticSearch 搜索引擎的电子商务系统的示例 | ||
- [FreeCar](https://github.com/CyanAsterisk/FreeCar) 使用 kitex 作为 rpc 框架实现云原生分时租车系统套件服务的示例 | ||
|
||
## 基本特性 | ||
- [basic](basic) kitex 的基础示例 | ||
- [async_call](async_call) 在 kitex server 中使用异步调用的示例 | ||
- [codec](codec) kitex 服务端和客户端使用自定义编解码器的示例 | ||
- [codec-dubbo](https://github.com/kitex-contrib/codec-dubbo/tree/main/samples/helloworld) Kitex 为了支持 kitex <-> dubbo 互通 推出的 dubbo 协议编解码器的示例 | ||
- [long_connection](longconnection) kitex 服务端和客户端使用长连接的示例 | ||
- [streaming](streaming) kitex 服务端和客户端使用流式调用的示例 | ||
- [middleware](middleware) kitex 服务端和客户端使用中间件的示例 | ||
|
||
## 治理特性 | ||
- kitex 服务端使用配置中心对接治理特性的示例 | ||
- [etcd](https://github.com/kitex-contrib/config-etcd/tree/main/example) kitex 服务端使用 etcd 作为配置中心对接治理特性的示例 | ||
- [nacos](https://github.com/kitex-contrib/config-nacos/tree/main/example) kitex 服务端使用 nacos 作为配置中心对接治理特性的示例 | ||
- [apollo](https://github.com/kitex-contrib/config-apollo/tree/main/example) kitex 服务端使用 apollo 作为配置中心对接治理特性的示例 | ||
- [discovery](discovery)kitex 服务端和客户端使用服务注册与发现的示例 | ||
- [etcd](https://github.com/kitex-contrib/registry-etcd/tree/main/example) kitex 服务端和客户端使用 etcd 作为服务注册中心的示例 | ||
- [nacos](https://github.com/kitex-contrib/registry-nacos/tree/main/example) kitex 服务端和客户端使用 nacos 作为服务注册中心的示例 | ||
- [polaris](https://github.com/kitex-contrib/registry-polaris/tree/main/example) kitex 服务端和客户端使用 polaris 作为服务注册中心的示例 | ||
- [zookeeper](https://github.com/kitex-contrib/registry-zookeeper) kitex 服务端和客户端使用 zookeeper 作为服务注册中心的示例 | ||
- [consul](https://github.com/kitex-contrib/registry-consul/tree/main/example) kitex 服务端和客户端使用 consul 作为服务注册中心的示例 | ||
- [servicecomb](https://github.com/kitex-contrib/registry-servicecomb/tree/main/example) kitex 服务端和客户端使用 servicecomb 作为服务注册中心的示例 | ||
- [eureka](https://github.com/kitex-contrib/registry-eureka/tree/main/example) kitex 服务端和客户端使用 eureka 作为服务注册中心的示例 | ||
- [dns](https://github.com/kitex-contrib/resolver-dns) kitex 服务端和客户端使用 dns 进行服务发现的示例 | ||
- [resolver_rule_based](https://github.com/kitex-contrib/resolver-rule-based/tree/main/demo) 为 kitex 提供了一个基于规则的解析器。它允许用户在服务发现中配置规则来过滤服务实例,实现流量切分的功能。 | ||
- [timeout](governance/timeout) kitex 服务端和客户端使用超时控制的示例 | ||
- [limit](governance/limit) kitex 服务端使用限流的示例 | ||
- [circuit_breaker](governance/circuitbreak) kitex 客户端使用熔断的示例 | ||
- [retry](governance/retry) kitex 客户端使用重试的示例 | ||
- [load_balance](loadbalancer) kitex 服务端和客户使用负载均衡的示例 | ||
|
||
## 可观测性 | ||
- [opentelemetry](opentelemetry) kitex 服务端和客户端使用 opentelemetry 的示例 | ||
- [prometheus](prometheus) kitex 服务端和客户端使用 prometheus 的示例 | ||
- [tracer](tracer) kitex 服务端和客户端使用 tracer 的示例 | ||
- [klog](klog) kitex 服务端使用 klog 日志的示例 | ||
|
||
## 高级特性 | ||
- [frugal](frugal) kitex 服务端和客户端使用 frugal 的示例 | ||
- [grpc_proxy](grpcproxy) kitex 服务端和客户端使用 grpc_proxy 的示例 | ||
- [generic](generic) kitex 服务端和客户端使用泛化调用的示例 | ||
- [meta_info](metainfo) kitex 服务端和客户端使用元信息的示例 | ||
- [profiler](profiler) kitex 服务端和客户端使用请求成本度量进行性能分析的示例 | ||
- [proxyless](proxyless) 让 Kitex 服务以 Proxyless 的模式运行,被服务网格统一纳管的示例 | ||
|
||
## Kitex 生成代码 | ||
- [protobuf](kitex/protobuf) 使用 kitex 与 protobuf 生成服务端代码的示例 | ||
|
||
## Note | ||
|
||
执行示例的所有命令都应在 kitex-examples 下执行。 |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.