{"id":13590554,"url":"https://github.com/cloudwego/kitex-examples","last_synced_at":"2025-05-14T22:07:15.894Z","repository":{"id":37448718,"uuid":"386155002","full_name":"cloudwego/kitex-examples","owner":"cloudwego","description":"Examples for Kitex.","archived":false,"fork":false,"pushed_at":"2025-05-09T03:24:54.000Z","size":23248,"stargazers_count":399,"open_issues_count":0,"forks_count":235,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-05-09T04:26:16.101Z","etag":null,"topics":["examples","examples-go","golang","kitex"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudwego.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":"governance/circuitbreak/fail.go","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-07-15T03:52:40.000Z","updated_at":"2025-05-09T03:24:58.000Z","dependencies_parsed_at":"2023-02-08T08:15:46.071Z","dependency_job_id":"cc3e51d5-c8c0-4463-a442-2d5dc4f91a9e","html_url":"https://github.com/cloudwego/kitex-examples","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fkitex-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fkitex-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fkitex-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fkitex-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudwego","download_url":"https://codeload.github.com/cloudwego/kitex-examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235695,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["examples","examples-go","golang","kitex"],"created_at":"2024-08-01T16:00:47.727Z","updated_at":"2025-05-14T22:07:10.855Z","avatar_url":"https://github.com/cloudwego.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Kitex Examples\n\nEnglish | [中文](README_CN.md)\n\n## How to run\n\nYou can go into the related examples for information on \"how to run\"\n\n## Bizdemo\n- [bizdemo/kitex_gorm](bizdemo/kitex_gorm) Example of using Kitex and gorm\n- [bizdemo/kitex_gorm_gen](bizdemo/kitex_gorm_gen) Example of using Kitex and gorm_gen\n- [bizdemo/kitex_zorm](bizdemo/kitex_zorm) Example of using Kitex and zorm\n- [bizdemo/kitex_ent](bizdemo/kitex_ent) Example of using Kitex and ent\n- [bizdemo/kitex_swagger_gen](bizdemo/kitex_swagger_gen) Example of using Kitex and swagger generate\n- [bizdemo/easy_note](bizdemo/easy_note) Example of using Kitex as a rpc framework to implement a simple note service with multiple middlewares\n- [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.\n- [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.\n- [Book Shop](https://github.com/cloudwego/biz-demo/tree/main/book-shop) Example of using Kitex as a rpc framework to implement an e-commerce system including an ElasticSearch search engine\n- [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\n\n## Basic features\n- [basic](basic) Basic example of Kitex\n- [async_call](async_call) Example of using asynchronous call in Kitex server\n- [codec](codec) Example of Kitex server and client using custom codecs\n    - [codec-Dubbo](https://github.com/kitex-contrib/codec-dubbo/tree/main/samples/helloworld) Example of Dubbo protocol codec launched by Kitex to support Kitex \u003c-\u003e Dubbo interoperability\n- [long_connection](longconnection) Kitex example of using long connections between server and client\n- [streaming](streaming) Example of Kitex server and client using streams (based on GRPC/HTTP2, using Protobuf IDL)\n- [thrift streaming](thrift_streaming) Example of Kitex server and client using thrift streaming (based on GRPC/HTTP2, using Thrift IDL)\n- [business_exception](business_exception) Example of Kitex server and client using business exceptions\n- [middleware](middleware) Kitex Example of using middleware between server and client\n\n## Governance Features\n- Example of kitex server using configuration center to connect to governance features\n    - [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\n    - [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\n    - [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\n- [discovery](discovery) Example of Kitex server and client using service registration and discovery\n    - [etcd](https://github.com/kitex-contrib/registry-etcd/tree/main/example) Example of Kitex server and client using etcd as service registration center\n    - [nacos](https://github.com/kitex-contrib/registry-nacos/tree/main/example) Kitex server and client use nacos as an example of service registration center\n    - [polaris](https://github.com/kitex-contrib/registry-polaris/tree/main/example) Kitex server and client use polaris as an example of service registration center\n    - [zookeeper](https://github.com/kitex-contrib/registry-zookeeper) Example of Kitex server and client using zookeeper as service registration center\n    - [consul](https://github.com/kitex-contrib/registry-consul/tree/main/example) Example of Kitex server and client using consul as service registration center\n    - [servicecomb](https://github.com/kitex-contrib/registry-servicecomb/tree/main/example) Kitex server and client use servicecomb as an example of service registration center\n    - [eureka](https://github.com/kitex-contrib/registry-eureka/tree/main/example) Kitex server and client use eureka as an example of service registration center\n    - [dns](https://github.com/kitex-contrib/resolver-dns) Example of Kitex server and client using dns for service discovery\n    - [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.\n- [timeout](governance/timeout) Example of using timeout control between Kitex server and client\n- [limit](governance/limit) Example of using current limit on Kitex server\n- [circuit_breaker](governance/circuitbreak) Example of Kitex client using circuit breaker\n- [retry](governance/retry) Example of Kitex client using retry\n- [load_balance](loadbalancer) Example of Kitex server and client using load balancing\n\n## Observability\n- [opentelemetry](opentelemetry) Example of Kitex server and client using OpenTelemetry\n- [prometheus](prometheus) Example of Kitex server and client using prometheus\n- [klog](klog) Example of using klog logs on the Kitex server\n\n## Advanced features\n- [frugal](frugal) Kitex example of using frugal on the server and client\n- [grpc_proxy](grpcproxy) Example of Kitex server and client using grpc_proxy\n- [generic](generic) Kitex example of using generic calls between server and client\n- [meta_info](metainfo) Example of Kitex server and client using meta information\n- [server_hook](server_hook) Examples of customizing business logic before and after Kitex server startup/exit\n- [server_sdk](server_sdk) Example of Kitex server-side SDKization\n- [profiler](profiler) Example of Kitex server and client performance analysis using request cost metrics\n- [proxyless](proxyless) Example of letting Kitex services run in proxyless mode and be managed uniformly by the service mesh\n- [grpc_multi_service](grpc_multi_service) Example of Kitex server and client using grpc multiservice\n- [thrift_multi_service](thrift_multi_service) Example of Kitex server and client using thrift (non-streaming) multiservice\n- [protobuf_multi_service](protobuf_multi_service) Example of Kitex server and client using protobuf (non-streaming) multiservice\n- [goroutine_local_storage](goroutine-local-storage) Example of Kitex server and client using goroutine_local_storage \n\n\n## Kitex generated code\n- [protobuf](kitex/protobuf) Example of using Kitex and protobuf to generate server code\n- [template](kitex/template) Example of using Kitex custom template to generate server code\n- [thrift](kitex/thrift) Example of using Kitex and thrift to generate server code\n- [protobuf](kitex/protobuf) Example of using Kitex and protobuf to generate server code\n\n## Note\n\nAll commands to execute the example should be executed under \"kitex-examples\".\n\nExecute 'regenerate-idl.sh' to re-generate all kitex_gen (include sub mods)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fkitex-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudwego%2Fkitex-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fkitex-examples/lists"}