Categorygithub.com/Anderson-Lu/orion
repository
0.0.2-dev
Repository: https://github.com/anderson-lu/orion.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

什么是Orion

Orion是一个基于GRPC的微服务框架,通过Orion可以快速构建GRPC微服务.

  • 避免重复造轮子!!!
  • 优雅编程!!!

功能预览

  • 协议兼容 完全适配GRPC协议,同时提供HTTP访问兼容。
  • 熔断限流 支持接口层级以及用户自定义层级的限流策略,保证服务高可用。
  • 日志集成 支持按照框架层、业务层分层输出,同时支持日志文件定期分割和清理清理等能力。
  • 可观测性 集成pprof metrics指标上报,接入Prometheus后可观测服务/接口等维度的各项健康指标(CPU/Memory/Routines/Fds等)。
  • 链路追踪 支持分布式链路追踪,帮助更快更方便排查和定位服务潜在问题。
  • 工具集成 集成常用的工具集

快速开始

快速开始 | 配置说明 | Orion-Cli

服务发现和注册

微服务框架本身的服务注册与发现理论上可以从框架本身摘除,就目前的主流模式(云原生)而言,微服务的注册和发现更倾向于将其沉淀到sidecar上,比如service mesh方式的实现,并以此可以实现更多底层需求(流量控制,熔断限流等,模调监控),因此,对于不同企业,其实现方式也不尽相同,因此,uit框架本身不做固化的服务注册和发现逻辑,开发者可以自己的需要灵活实现.

当然uit框架在未来也可能会提供注册和发现的相关组件.

限流熔断

在传统微服务架构中,接口的限流一般是在被调进行的. 但随着新一代微服务架构的演变,一些限流能力通常会沉淀到sidecar(将其从框架本身移除,能做到更好的非业务侵入),通过service mesh等控制面统一下发和控制流量的方式为微服务提供高可用保证.然而,为了提供更多的便捷性,UIT框架本身也支持限流组件,不强制接入使用,也可以业务自己引用.

错误码

UIT框架内置了一些错误码,原则上业务使用的错误码应当与框架的错误码区分开,详细信息可以参照uit/pkg/uit/codes/codes.go.

Orion优雅编程