V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Ficelle
V2EX  ›  Java

多模块单应用项目改造 dubbo 遇到的问题求助

  •  
  •   Ficelle · Feb 22, 2021 · 2745 views
    This topic created in 1889 days ago, the information mentioned may be changed or developed.

    以前的项目是多模块,单应用,跨模块就直接通过 service 注入。 我给改造成了 dubbo,基本完工了。但是现在有一个情况

    我的项目是一个多租户应用,在用户登录发放 token 后,每次请求都携带 token,然后将租户 id,存放在一个 localthread 中,现在变成了 dubbo,localthread 不能玩了,所以现在出现了问题。 想请教 dubbo 可不可以让一个参数在某一条线操作都时候一直携带一个内容的操作呀。 或者是有什么好主意让我解决这个问题。

    那个 dubbo 的隐式传递肯定不行,我无法修改所有的引用处都去加几行代码。跨服务调用的地方太多了。

    我可不可以切一下 dubbo 的引用注解,让消费端在准备消费的时候,设置隐式传递。但是又不知道怎么操作在每次服务提供服务的时候,去读取这个传递。~~~

    大佬指点下

    8 replies    2021-03-02 17:04:57 +08:00
    OctopusGO
        1
    OctopusGO  
       Feb 22, 2021
    嗯嗯
    luckylo
        2
    luckylo  
       Feb 22, 2021 via Android
    fliter + RPCContext
    DeathBless
        3
    DeathBless  
       Feb 22, 2021
    搞个全局 cache ?线程结束的时候销毁
    idamien
        4
    idamien  
       Feb 22, 2021
    dubbo 不会玩啊
    mitsuizzz
        5
    mitsuizzz  
       Feb 22, 2021
    dubbo 没用过,我们用的是 feign,写个拦截器 当调用其它中心的服务时,从 ThreadLocal 中获取信息,放到 header 中传递过去。思路应该差不多吧
    lu5je0
        6
    lu5je0  
       Feb 22, 2021
    dubbo filter
    zhaorunze
        7
    zhaorunze  
       Feb 22, 2021
    刚粗略的看了一下隐式参数,看起来时不要加代码的,核心逻辑就是 filter + localthread 。

    他的示例加了代码,不代表你也要加哦
    nodododo
        8
    nodododo  
       Mar 2, 2021
    我们这用的二楼的方式实现的调用链哈哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   898 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 22:25 · PVG 06:25 · LAX 15:25 · JFK 18:25
    ♥ Do have faith in what you're doing.