Comments (11)
Project Name: API Gateway
Author: GitHub id: yiwen101, email: [email protected]
Github: https://github.com/yiwen101/CardWizards
Description: A working API Gateway that support runtime behavior control and come with a functional control web GUI. Applied listener pattern to maintain the idl to client map in run time. Still a work in progress, plan to add support for plugins, error handling etc
from kitex-examples.
-
Project Name: orbital_HeBao
-
Author: Wang Hejin, Tan Yiming. Our emails are [email protected] and [email protected].
-
Documentation: https://lively-cereal-3a1.notion.site/API-Gateway-based-on-CloudWeGo-Projects-e59b321209f043a0a625a8c98364c838?pvs=4
-
Description:
The scope of our project is to develop a fully functioning API gateway in Golang under the two frameworks: CloudWeGo's Kitex (an RPC framework) and Hertz (an HTTP framework). In this project, we focused on implementing four core features for our API gateway:- service registration and discovery;
- communication protocol translation from HTTP to Thrift binary protocol;
- load balancing;
- dynamic updating of the mapping between interface definition language (IDL) files and backend microservices.
After completing the demo product, we also conducted unit testing, integration testing, and performance testing on it.
from kitex-examples.
Project Name: Svb_2.0
Author Yip Sin Hang, Niu wen jia. Our emails are [email protected] and [email protected].
Repo: https://github.com/simbayippy/OrbitalxTikTok
Documentation: here
Description: A High performance API Gateway that is able to dynamically update any service updates in IDL file during run time, supporting the 4 different types of generic clients of Kitex. Additional attempts made for the protojson_codec was made - close but still a work in progress
The full scope of our project can be found in our documentation process.
from kitex-examples.
Project Name: Godzilla Gateway (Inspired from the Kong API Gateway)
Authors: Boh Jie Qi, Winson Zheng, our emails are [email protected] and [email protected] respectively.
Repo: https://github.com/jieqiboh/Godzilla-Gateway
Documentation: This page provides links to our entire submission, including the system design document, relevant setup videos, and github repositories
Description:
A tested, highly performant, full-fledged API Gateway that implements all the basic requirements listed above:
- Accepts HTTP requests with json payloads and routes them to the respective services
- Employs the Kitex Generic Call mechanism to make json generic calls to microservices
- Utilises an etcd cluster as part of microservice registration and service discovery, as well as load-balancing mechanisms
Our API Gateway also provides the following features:
- Fully functioning IDL management system with an easy-to-use UI, enabling users to register, update and delete microservices for their API Gateway
- Code Generator that is able to generate gateway code based on microservices registered on the fly
- Elaborate gateway architecture comprising multiple gateway instances and an NGINX reverse proxy that allows for smooth updating of the gateway while it is running.
We also made our own custom benchmarking tool using Apache Bench that is able to measure key metrics like TP99 and QPS for our gateway, and made a cool logo :)
from kitex-examples.
Project Name: API Gateway
Authors: Gabriel Chua, Loh Jian Rong. Our emails are [email protected] and [email protected] respectively.
Repo: https://github.com/jianrong7/orbital-23
Documentation: This page provides links to our entire submission, including the system design document, cloud deployment documentation, as well as testing.
Description:
A working API Gateway that is able to support server-side updates to the IDL, and service registration using Consul. It supports the JSON Generic Call function of the Kitex framework.
from kitex-examples.
Project Name: CloudWeGo-API-Gateway
Authors:
Repo: https://github.com/RashawnXue/CloudWeGo-API-Gateway
Documentation: You can find the documents of the project in README.md and this page
Description:
- The project implemented an API Gateway with two CloudWeGo' s frameworks: Hertz and Kitex.
- The client can send HTTP requests to the Gateway, then it will generic and forward the requests to the corresponding RPC servers.
- It supports IDL management, which allows to hot update IDL.
from kitex-examples.
Project Name:
Authors:
TwinDagger email: [email protected]
Jiao-Yiyang email: [email protected]
ARK_Fung email: [email protected]
Github:
https://github.com/iksars/cloudwego-api-gateway
Documentation:
apidoc
idl-management-platform doc
deploy doc1
deploy doc2
Description:
Here are the features and technologies used in our project:
-
basic api gateway functions : we use studentservice as example
-
client: we use Hertz to generate the sample code of client
-
idl management platform
-
Service-side: generated by idl using Kitex
-
etcd
from kitex-examples.
Project Name: Hertz API-gateway
Authors:
- lar0129(email: [email protected]),
- wangchunchia(email: [email protected]),
- tcrxcenzdyrclb(email: [email protected])
Repo: https://github.com/lar0129/hertz-APIgateway
Documentation:
- Chinese version: README
- English version: To be continued
Description:
- In this project, the API gateway serves as the entry point for the system, receives all incoming HTTP requests, parses the URLs in the requests, forwards them to the relevant back-end RPC servers in JSON format, retrieves the responses, and returns them to the clients.
- It supports IDL management, load balancing mechanism, service registry and discovery mechanism
from kitex-examples.
Project Name: Cloudwego Apigateway
Authors:
-
sherry-500(email: [email protected]),
-
Supernova114514(email: [email protected])
Repo: https://github.com/sherry-500/apigateway
Documentation:
-
Chinese version: README
-
English version: To be continued
Description:
The project implemented an API Gateway with two CloudWeGo' s frameworks: Hertz and Kitex. In this project, the API gateway accepts HTTP requests with json payloads and routes them to the respective services, retrieves the responses, and returns them to the clients. It also supports IDL management, which allows to hot update IDL.
from kitex-examples.
Project Name: API_Gateway
Authors:
-
Yashma Sonara (Email: [email protected])
-
Jia Xin Eu (Email: [email protected])
Github: https://github.com/yashma-sonara/API_Gateway
Documentation: System Design Document
Demo: Demo Video
Description: This project is an API Gateway implementation that serves as a centralized entry point for accessing and managing multiple backend services. Our project includes:
-
Built using Golang upon the Hertz and Kitex frameworks.
-
Supports service registry and discovery on Nacos and dynamic IDL updates.
-
Translates HTTP requests encoded in JSON format into Thrift binary format using Kitex Generic Call feature.
-
Load balancing through weighted round robin.
-
Unit, integration testing and benchmarking.
from kitex-examples.
Project Name: cloudwego-api-gateway
Authors:
Github: https://github.com/iksars/cloudwego-api-gateway
Documentation: docs
Description: Our project implements the following functions
1.basic api gateway functions
2.lruCache optimization for generic call client
3.idl management platform(frontend & backend) which support to curd IDL file and manage service interface
4.api gateway support IDL dynamically update
from kitex-examples.
Related Issues (20)
- GORM example shall include the otel configuration. For Log, Provider etc. HOT 2
- 能不能提供一个完整的Example HOT 2
- 如何通过kitex命令生成类似bizdemo/easy_note中的目录结构 HOT 1
- 使用kitex命令自动生成代码,.thrift文件能够正常生产, .proto文件就会报错 HOT 3
- 请问如果三个模块分别用Docker打包,kitex容器间的服务注册发现要如何实现呢? HOT 7
- 文档有错别字
- kitex有go调用Java的示例吗 HOT 1
- 如何启动一个grpc server ? 通过其他的 客户端使用grpc访问? HOT 1
- 在本地环境Mac m1下启动Etcd报端口占用,请问怎么解决 HOT 2
- otel-collector配置victoriametrics域名不生效 HOT 2
- 希望提供 Trans 使用 gonet 的示例。 HOT 3
- 请问是否有搭建 easy_note 项目的流程 HOT 5
- 求助:easy_note项目在windows下build note报错 HOT 4
- wrong Makefile in easynote/cmd/user and easynote/cmd/note
- Can't compile KiteX examples code with Go 1.20 HOT 1
- Dose not support go version > 1.19? HOT 2
- [BUG] Error compiling Dockerfile due to low Go version HOT 1
- 请问windows环境下如何把easy_note项目网络库替换成gonet HOT 4
- more detail introduction in readme HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kitex-examples.