elsa

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2021 License: Apache-2.0

README

elsa


概述

elsa 是基于 gRPC 封装的一套简单、高效、易用的 golang 微服务框架。由于 gRPC 天生支持跨语言的特性, elsa 也天生支持多语言、跨语言的 RPC 调用,当前框架仅实现了 Go语言版本的 Client 支持,JavaClient 将在近期放出 。具体支持语言种类请参考 grpc 官网。

框架特性

  1. 基于 gRPC 高性能开源 http2服务框架封装。
  2. 采用分布式 CAP 理论的 AP 实现服务注册、发现服务保障服务高可用。
  3. 简单、易用、统一接口通讯采用 proto 文件定义接口约束。
  4. 统一网关API服务、内部通过 gRPC 通讯,外部入口统一通过统一 API 网关 进行统一流控、鉴权等。
  5. 丰富的多语言 Client 支持,按需选择语言进行快速微服务集成。

gRPC服务注册发现

架构图

快速开始


依赖

在使用之前需要先安装相关依赖

  • Go 请选择最后1.13.5以后版本

  • Protocol buffer 编译二进制文件 protoc 采用 proto3 版本。具体安装请参考 安装向导 部分。

  • go-grpc 自动生成 grpc go 代码 插件安装,在终端执行如下命令。将生成的 protoc-gen-go-grpc 文件添加环境变量中。

    go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1
    
注册中心

下载代码

git clone https://www.github.com/busgo/elsa

配置注册中心集群地址 (格式 ip1:port1, ip2:port2)

  cd elsa/cmd/registry
  go build .
  nohup ./elsa >> elsa.log 2>&1 &
创建服务提供端
创建服务消费端
TODO
  1. 统一API网关服务
  2. Java Client
  3. 链路追踪集成
  4. 分布式任务调度
  5. 分布式配置中心

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL