A modular and complete infrastructure framework based on Golang,create modern web applications and APIs
Use the most popular components available today and provide them with modular technology.
The framework perfectly supports DDD domain-driven
tactical design, such as warehousing repository
, application-layer transactions
, domain events
, application-layer dynamic WebAPI
.
It has a mature version of .net core that has been in use for over 10 years and is great
Don't worry about the framework making you depend on too many packages, farseer-go's components are all separate packages and unused packages are not downloaded into your application
Each component is a separate package, so the version number is also released separately
-
Unified configuration
: all configurations are consolidated into. /farseer.yaml
-
Elegant
: all modules follow the principle of developer experience first. -
Modularity
: provides a complete modular system that allows you to develop reusable application modules. -
Domain-driven
: helps you implement a hierarchical architecture based on DDD and build a maintainable code base. -
link tracking
(coming in the next version): if you use the framework Orm, Redis, Http, Grpc, ES, MQ, EventBus, Task, FSS, will implicitly implement link tracking for you and provide API request logs, slow queries.
Combined with FOPS project (automatic build, link tracing console, K8S cluster log collection) support code non-intrusive full link real-time monitoring.
main.go
package main
import "github.com/farseer-go/fs"
func main() {
fs.Initialize[StartupModule]("your project Name")
}
In the first line of the main function, execute
fs.Initialize
to start initializing the framework
After running the console prints the loading message.
2022-12-01 17:07:24 Application Name: your project Name
2022-12-01 17:07:24 Host Name: MacBook-Pro.local
2022-12-01 17:07:24 System time: 2022-12-01 17:07:24
2022-12-01 17:07:24 ProcessID: 6123
2022-12-01 17:07:24 ApplicationID: 193337022963818496
2022-12-01 17:07:24 ApplicationIP: 192.168.1.4
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 Loading Module...
2022-12-01 17:07:24 Loading Module:webapi.Module
2022-12-01 17:07:24 Loading Module:domain.Module
2022-12-01 17:07:24 Loading Module:application.Module
2022-12-01 17:07:24 Loading Module:interfaces.Module
2022-12-01 17:07:24 Loading Module:data.Module
2022-12-01 17:07:24 Loading Module:eventBus.Module
2022-12-01 17:07:24 Loading Module:queue.Module
2022-12-01 17:07:24 Loading Module:infrastructure.Module
2022-12-01 17:07:24 Loading Module:main.StartupModule
2022-12-01 17:07:24 Loaded, 10 modules in total
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 Initialization completed, total time: 1 ms
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 [Info] Web service is started:http://localhost:8888/