Code Monkey home page Code Monkey logo

saluki's Issues

配置问题

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

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

db

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

gateway 重写

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

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

源码疑问,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");
}
}

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.