Giter Site home page Giter Site logo

saluki's Introduction

NOTICE, Saluki Project has been moved to Venusboot Saluki.

saluki's People

Contributors

helloworldtang avatar jiaoge avatar joshuaandrew avatar linking12 avatar shiming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

saluki's Issues

源码疑问,getGrpcClient 获取stub疑问

获取stub时判断了StringUtils.contains(stubClassName, "$"),但是我看到生成的class没有$符号

public AbstractStub getGrpcClient(ChannelCall channelPool, int callType, int callTimeout) {
String stubClassName = GrpcStubClient.this.getStubClassName();
Channel channel = null;
if (StringUtils.contains(stubClassName, "$")) {
try {
String parentName = StringUtils.substringBefore(stubClassName, "$");
Class<?> clzz = ReflectUtils.name2class(parentName);
Method method;
switch (callType) {
case Constants.RPCTYPE_ASYNC:
method = clzz.getMethod("newFutureStub", io.grpc.Channel.class);
break;
case Constants.RPCTYPE_BLOCKING:
method = clzz.getMethod("newBlockingStub", io.grpc.Channel.class);
break;
default:
method = clzz.getMethod("newFutureStub", io.grpc.Channel.class);
break;
}
channel = channelPool.borrowChannel(refUrl);
AbstractStub stubInstance = (AbstractStub) method.invoke(null, channel);
return stubInstance;
} catch (Exception e) {
throw new IllegalArgumentException(
"stub definition not correct,do not edit proto generat file", e);
} finally {
if (channel != null) {
channelPool.returnChannel(refUrl, channel);
}
}
} else {
throw new IllegalArgumentException(
"stub definition not correct,do not edit proto generat file");
}
}

gateway 重写

目前saluki的gateway比较简陋
存在以下几个问题:
1:oauth2的授权服务器和资源服务器是耦合一起的
2:admin控制台页耦合在一起
3:限流过于简单,无法进行配置
4:zuul的性能问题,目前zuul必须依赖于web容器,而且在forward时是一个同步过程,而非异步过程

准备重新实现gateway
感兴趣的同学可以联系我,一起完善整个grpc的框架

配置问题

你好!如果我的应用要实现网关的话,是不是可以直接接入saluki-gateway这一个模块就行,另外我的应用里里面需要如何配置才行

saluki:
grpc:
registryAddress: daily.quancheng-ec.com:8500
这个注册地址值得是什么意思,谢谢。

db

能补充个建表语句 跑起来学习学习 看代码 一下还是有点空洞

Can not route correct

当创建路由规则时,无法正常路由
原因有:
1:路由规则用nameresove来透传存在一些问题,在二次请求会丢失
2:SubchannelPicker的丢弃算法存在一些问题

在develop分支已经修复,将合适merge到master

请教个问题

问一下,启动这个网关是不是要单独安装consul

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.