This repo contains CloudWeGo demos with business logic, providing valuable references for enterprise user using in production.
Each demo should/may contain multiple CloudWeGo subprojects, e.g. Kitex & Hertz, and demonstrate an individual business scenario.
Demo List
1. Bookinfo
Description
What is it about and what problem does it solve?
How to use kitex proxyless in istio?
How to implement full-process traffic lane using CloudWeGo?
What is the business scenario?
Rewrite Bookinfo project using hertz, kitex, same as the Bookinfo
The application displays information about a book, similar to a single catalog entry of an online book store. Displayed on the page is a description of the book, book details (ISBN, number of pages, and so on), and a few book reviews.
The Bookinfo application is broken into four separate microservices:
productpage. The productpage microservice calls the details and reviews microservices to populate the page.
details. The details microservice contains book information.
reviews. The reviews microservice contains book reviews. It also calls the ratings microservice.
ratings. The ratings microservice contains book ranking information that accompanies a book review.
What are the core technologies/projects used?
Use istiod as xDS server for CRD configuration and distribution
Use wire for dependency injection
Use opentelemetry for tracing
Implement proxyless flow lane with Kitex-xds and opentelemetry baggage
Implement a bookinfo ui using arco-design react
Which CloudWeGo subprojects are used? List all technologies used.
How to integrate middlewares(such as ElasticSearch, Redis…) in Kitex project?
How to layer code in projects of different complexity using Hertz and Kitex?
What is the business scenario?
The application shows an e-commerce system that includes merchants managing items, consumers managing personal accounts and placing orders to buy items.
The book-shop application is divided into four microservices:
facade is an HTTP service that handles HTTP requests and calls other services via RPC.
user is an RPC service that handles user managements.
item is an RPC service that handles item managements.
order is an RPC service that handles order managements.
What are the core technologies/projects used?
Use Hertz as Gateway.
Use Kitex as RPC framework to build microservices.
Use Hertz swagger, jwt, pprof, gzip middlewares.
Use ETCD as service registry.
Use MySQL as RDBMS.
Use Redis as cache.
Use ElasticSearch as search-engine.
Which CloudWeGo subprojects are used? List all technologies used.
CloudWeGo Demo for Business
This repo contains CloudWeGo demos with business logic, providing valuable references for enterprise user using in production.
Each demo should/may contain multiple CloudWeGo subprojects, e.g. Kitex & Hertz, and demonstrate an individual business scenario.
Demo List
1. Bookinfo
Description
What is it about and what problem does it solve?
What is the business scenario?
Rewrite Bookinfo project using
hertz,kitex, same as the BookinfoThe Bookinfo application is broken into four separate microservices:
What are the core technologies/projects used?
istiodas xDS server for CRD configuration and distributionwirefor dependency injectionopentelemetryfor tracingflow lanewithKitex-xdsandopentelemetry baggagearco-designreactWhich CloudWeGo subprojects are used? List all technologies used.
Detailed documentation
bookinfo
Contributors & Maintainers
@CoderPoet
2. Open Payment Platform
Description
What is it about and what problem does it solve?
Gousing kitex?What is the business scenario?
generic callclient for each backend server by traversing IDL in Hertz./gateway.Gatewayhandler will process these requests and route them to backend server bygeneric callclient.paymentserver is just a sample server using kitex.This service design pkg withClean Structure.What are the core technologies/projects used?
Hertzas Gateway.Kitexgeneric call client route requests.Kitexas RPC framework to build micro-services.Clean Architecturefor design pkg and code layout.ententity framework for implementing repository.wirefor dependency injectionNacosas service registry.MySQLas RDBMS.Which CloudWeGo subprojects are used? List all technologies used.
Detailed documentation
Open Payment Platform
Contributors & Maintainers
@baiyutang
3. Easy Note
Description
What is it about and what problem does it solve?
What is the business scenario?
Migrate easy_note and optimize the project.
The easy_note application is divided into three microservices:
What are the core technologies/projects used?
hzandkitexto generate coderequestid,jwt,pprof,gzipmiddlewaresgo-tagexprandthrift-gen-validatorfor validating HTTP and RPC requestobs-opentelemetryfor tracingetcdas service registry.GORMfor implementing repository.MySQLas RDBMS.Which CloudWeGo subprojects are used? List all technologies used.
Detailed documentation
easy_note
Contributors & Maintainers
4. Book Shop
Description
What is it about and what problem does it solve?
ElasticSearch,Redis…) in Kitex project?What is the business scenario?
The book-shop application is divided into four microservices:
What are the core technologies/projects used?
Hertzas Gateway.Kitexas RPC framework to build microservices.swagger,jwt,pprof,gzipmiddlewares.ETCDas service registry.MySQLas RDBMS.Redisas cache.ElasticSearchas search-engine.Which CloudWeGo subprojects are used? List all technologies used.
Detailed documentation
Book Shop
Contributors & Maintainers
@bodhisatan
5. FreeCar
Description
What is it about and what problem does it solve?
What is the business scenario?
The FreeCar application is divided into six microservices:
What are the core technologies/projects used?
hzandkitexto generate codepaseto,cors,gzip,http2,limiter,opensergo,pprof,websocketmiddlewaresobs-opentelemetryfor tracingconsulas service registry and config center.GORMfor implementing repository.MySQLas RDBMS.MongoDBas DOCDB.Redisas cache.MinIOas object storage center.RabbitMQas MQ.arco-designreact.Which CloudWeGo subprojects are used? List all technologies used.
Detailed documentation
FreeCar
Contributors & Maintainers