All Projects → ibinarytree → koala

ibinarytree / koala

Licence: other
koala is go micro service framework

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to koala

Wonder.js
🚀Functional, High performance 3D Webgl Engine
Stars: ✭ 225 (+127.27%)
Mutual labels:  high-performance
Evpp
A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.
Stars: ✭ 2,850 (+2778.79%)
Mutual labels:  high-performance
Longinus
A pure Swift high-performance asynchronous image loading framework. SwiftUI supported.
Stars: ✭ 250 (+152.53%)
Mutual labels:  high-performance
Varnish Cache
Varnish Cache source code repository
Stars: ✭ 2,769 (+2696.97%)
Mutual labels:  high-performance
Tf Quant Finance
High-performance TensorFlow library for quantitative finance.
Stars: ✭ 2,925 (+2854.55%)
Mutual labels:  high-performance
Anevicon
🔥 A high-performant UDP load generator, written in Rust
Stars: ✭ 243 (+145.45%)
Mutual labels:  high-performance
Flexml
🚀基于Litho的Android高性能动态业务容器。
Stars: ✭ 225 (+127.27%)
Mutual labels:  high-performance
vpic
Vector Particle-In-Cell (VPIC) Project
Stars: ✭ 124 (+25.25%)
Mutual labels:  high-performance
Nonblocking
Implementation of a lock-free dictionary on .Net.
Stars: ✭ 237 (+139.39%)
Mutual labels:  high-performance
Clevergo
👅 CleverGo is a lightweight, feature rich and high performance HTTP router for Go.
Stars: ✭ 246 (+148.48%)
Mutual labels:  high-performance
Tablesaw
Java dataframe and visualization library
Stars: ✭ 2,785 (+2713.13%)
Mutual labels:  high-performance
Golog
A high-performant Logging Foundation for Go Applications. X3 faster than the rest leveled loggers.
Stars: ✭ 208 (+110.1%)
Mutual labels:  high-performance
Real Time Cpp
Real-Time C++ Companion Code
Stars: ✭ 242 (+144.44%)
Mutual labels:  high-performance
Trinity
Trinity IR Infrastructure
Stars: ✭ 227 (+129.29%)
Mutual labels:  high-performance
Hikaricp
光 HikariCP・A solid, high-performance, JDBC connection pool at last.
Stars: ✭ 16,146 (+16209.09%)
Mutual labels:  high-performance
Transducers.jl
Efficient transducers for Julia
Stars: ✭ 226 (+128.28%)
Mutual labels:  high-performance
Libheatmap
High performance C heatmap generation library. Supposed to be wrapped by higher-level languages.
Stars: ✭ 241 (+143.43%)
Mutual labels:  high-performance
PyGLM
Fast OpenGL Mathematics (GLM) for Python
Stars: ✭ 167 (+68.69%)
Mutual labels:  high-performance
PocoDynamo
C# .NET Typed POCO Client for AWS Dynamo DB
Stars: ✭ 39 (-60.61%)
Mutual labels:  high-performance
Libaco
A blazing fast and lightweight C asymmetric coroutine library 💎 ⛅🚀⛅🌞
Stars: ✭ 2,918 (+2847.47%)
Mutual labels:  high-performance

koala

koala是一个基于grpc的高并发、高性能的微服务框架,提供了非常丰富的功能。

Installation

Usage

  1. 生成服务端代码

hello.proto

syntax = "proto3";
package hello;
//使用go_package指定生成的代码路径,下面的代码将会生成到github.com/ibinarytree/hello/proto_gen/hello这个目录下;
//大家可以根据自己项目的目录指定这个路径
//一般建议大家把proto文件和生成的代码统一进行管理,放到一个单独的代码库中;
option go_package="github.com/ibinarytree/hello/proto_gen/hello";

message HelloRequest {
  string name = 1;
}

message HelloResponse {
  string reply = 1;
}

service HelloService {
  //sayhello 方法
  rpc SayHello(HelloRequest) returns (HelloResponse){}
}

生成代码

koala -s -f hello.proto

注意:如果hello.proto有import其他proto文件,需要通过proto_path指定引入的proto文件的目录,通过-i文件生成引入的proto文件代码。

  1. 生成客户端代码
koala -c -f hello.proto
  1. 编译,生成代码之后,执行build.sh即可以编译。window执行build.bat
./build.sh 
  1. 运行,编译之后的二进制程序统一放到了output目录,执行output目录下的start.sh即可以启动运行。window执行start.bat
cd output
./start.sh
  1. 部署,把output目录打包成output.tar.gz,拷贝到服务端上,然后后台运行即可
nohup ./start.sh&

Question

  • 编译时,报etcd相关错误,比如:undefined: balancer.PickOptions;是因为grpc版本和etcd不兼容导致。解决方法如下:

打开go.mod, 把grpc的版本修改成v1.24.0

require (
    github.com/golang/protobuf v1.3.4
    github.com/ibinarytree/koala v1.9.9
    github.com/smartystreets/goconvey v1.6.4 // indirect
    golang.org/x/net v0.0.0-20200301022130-244492dfa37a
    google.golang.org/grpc v1.27.1
)

修改后的go.mod内容如下:

require (
    github.com/golang/protobuf v1.3.4
    github.com/ibinarytree/koala v1.9.9
    github.com/smartystreets/goconvey v1.6.4 // indirect
    golang.org/x/net v0.0.0-20200301022130-244492dfa37a
    google.golang.org/grpc v1.24.0
)

重新编译,问题解决了

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].