fzuhelper-server is a distributed architecture-based server application for fzuhelper, which has been in use since 2024, serving over 23,000 students from Fuzhou University everyday (Data source and introduction to fzuhelper).
This project focuses on business implementation. To see how we interface with the academic affairs office, you can check out our open-source version at west2-online/jwch.
fzuhelper was launched in 2015, developed from scratch by west2-online and continuously operated, providing students with industrial-grade practice as much as possible on campus and offering robust support for student employment.
- Cloud-Native: native golang distributed architecture design, based on ByteDance's best practices.
- High Performance: Supports asynchronous RPC, non-blocking I/O, shared memory communication, and Just-In-Time (JIT) compilation.
- Scalability: Features a modular, layered structural design, with clear and readable code, reducing development difficulty.
- DevOps:An abundance of scripts and tools reduce unnecessary manual labor, simplifying usage and deployment.
.
├── .golangci.yml # GolangCI configuration
├── .licenseignore
├── go.mod
├── go.sum
├── LICENSE
├── Makefile # some useful commands
├── README.md
├── api # gateway
├── cmd # microservices entry
├── config # configuration files and examples
├── docker # Docker build configuration
├── docs
├── hack # tools for automating development, building, and deployment tasks
├── idl # interface definition
├── internal # microservices implementation
├── kitex_gen # kitex generated code
└── pkg
├── base/ # common base service
│ └── client/ # client for corresponding components (redis, mysql e.g.)
├── cache/ # cache service
├── db/ # database service
├── constants/ # store any consts
├── errno/ # custom error
├── eshook # elasticsearch hook
├── logger/ # logging system
├── tracer/ # for jaeger
└── utils/ # useful funcs
Due to the script we have written, the process has been greatly simplified. You just need to use the following command to quickly start the environment and run the program in a containerized manner.
please visit: deploy
If you are interested in joining the maintenance of fzuhelper-server, please contact us on our official website
fzuhelper-server
is licensed under the Apache 2.0 license. See the LICENSE file for details.