{"repo":"erda-project/erda-infra","free":true,"listed":false,"github":"https://github.com/erda-project/erda-infra","clone":"git clone https://github.com/erda-project/erda-infra.git","description":"Erda Infra is a lightweight microservices framework implements by golang, which offers many useful modules and tools to help you quickly build a module-driven application","language":"Go","stars":167,"topics":["golang","go","framework","microservice","protobuf","grpc","http"],"license":"Apache-2.0","category":"networking-infra","readme_excerpt":"Erda Infra Translations: English 简体中文 Erda Infra is a lightweight microservices framework implements by golang, which offers many useful modules and tools to help you quickly build a module-driven application. Many Go projects are built using Erda Infra including: Erda Features modular design to drive the implementation of the application system, and each module is pluggable. each module is configurable, supports setting defaults、reading from files (YAML, HCL,、JSON、TOML、.env file)、environment、flags. manage the lifecycle of the module, includes initialization, startup, and shutdown. manage dependencies between modules. support Dependency Injection between modules. offers many commonly modules that can be used directly. support define APIs and models in protobuf file to expose both gRPC and HTTP APIs. offers tools to help you quickly build a module. etc. Concept Service, represents a function. Provider, service provider, equivalent to module, provide some services. It can also depend on other services, witch provide by other provider. ProviderDefine, describe a provider, includes provider's name, constructor function of provider, services, etc. Register it by servicehub.RegisterProvider function. Hub, is a container for all providers, and manage the life cycle of all loaded providers. A configuration is used to determine whether all registered Providers are loaded, and the Hub initializes, starts, and closes the loaded Providers. Define Provider Define a provider by implementin","default_branch":null,"files":null,"tree":[],"storefront":"/r/erda-project","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/erda-project/erda-infra/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}