why bolt not use SPI,For example, dubbo and sofa-rpc extension mechanism.
Your question
describe your question clearly
Your scenes
describe your use scenes (why need this feature)
Your advice
describe the advice or solution you'd like
Environment
- SOFABolt version:
- JVM version (e.g.
java -version): - OS version (e.g.
uname -a): - Maven version:
- IDE version:
@IndiraFinish 感谢关注bolt😄你期望SPI帮你实现什么需求呢?目前bolt的设计是一个轻量级的网络库框架,它的优点是连接事件的监听、连接池管理还有简单的开箱即用的RPC调用的能力,它不会提供太多RPC层面的能力。
@cytnju 例如ProtocolManager,管理多个版本的协议。都需要通过registerProtocol注册协议,可以通过spi。直接管理所有的协议吗
@cytnju 还有一个问题就是,如果我需要处理一个自定义的负载command,比如IM使用的消息。我要如何在一个协议中处理多个Command那(他们的CommandHandler是不同的)
@cytnju 还有一个问题就是,如果我需要处理一个自定义的负载command,比如IM使用的消息。我要如何在一个协议中处理多个Command那(他们的CommandHandler是不同的)
这个目前bolt这边已经实现了一套RPC功能的协议,你可以看下它的具体实现。RpcCommandHandler这个类。
此外,能否告知一下为何需要多个CommandHandler呢?一个CommandHandler理论上也是可以处理多种CommandCode的.
@cytnju 例如ProtocolManager,管理多个版本的协议。都需要通过registerProtocol注册协议,可以通过spi。直接管理所有的协议吗
这个的话当时没有考虑这个情况,不过确实可以这么实现,欢迎提PR来支持这个能力~
@cytnju CommandHandler是处理Command,但是在CommandHandler中实际上和Command绑定的是Processer。名字起的不是很好,有点不是容易一下就理解
@cytnju 我参考dubbo,实现了一下SPI。可以提交个pr吗?
@cytnju CommandHandler是处理Command,但是在CommandHandler中实际上和Command绑定的是Processer。名字起的不是很好,有点不是容易一下就理解
确实如此,命名这一块不是很清晰,必须看过一遍代码才能清楚😂可以看下用户手册https://www.sofastack.tech/projects/sofa-bolt/sofa-bolt-handbook/
@cytnju 我参考dubbo,实现了一下SPI。可以提交个pr吗?
非常欢迎!🌹
@cytnju 为什么使用的jdk版本是1.6,可以升级到1.8吗。这个1.6版本貌似有点古老有很多新特性都没有办法支持。
@cytnju 为什么使用的jdk版本是1.6,可以升级到1.8吗。这个1.6版本貌似有点古老有很多新特性都没有办法支持。
好的 我今天给你升级一下吧 bolt 1.6.0以后的版本后续就升级成1.8的版本吧。
@cytnju 我提交了一个pr,升级了一下。你可以审核下。
@IndiraFinish bolt升到1.8在CI那边好像有些问题,我晚些时候处理下。
@cytnju 嗯好的
@cytnju 有个问题想请教下,为啥在使用负载均衡的情况下,可能会出现负载不均衡的情况那?
@cytnju 有个问题想请教下,为啥在使用负载均衡的情况下,可能会出现负载不均衡的情况那?
抱歉,最近都比较忙,没有即时回复。请问这个疑惑上下文是什么?