V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeungJZ
V2EX  ›  程序员

跨项目,跨语言,如果相互调用数据?

  •  2
     
  •   LeungJZ ·
    JZLeung · 2018-07-28 23:23:18 +08:00 · 4627 次点击
    这是一个创建于 2070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    跨项目( a 和 b ),跨语言( php 和 nodejs ),跨数据库类型( mysql 和 mongodb )的两个项目。

    现在的问题是,项目 b ( node )如何获取 a 项目中的用户信息?

    能否给个简单的实现,项目结构不太大。

    24 条回复    2018-07-30 11:26:27 +08:00
    beny2mor
        1
    beny2mor  
       2018-07-28 23:48:11 +08:00
    没什么难点吧
    用户信息在数据库的话直接读取就可以的吧....
    或者项目 a 给个接口项目 b 发请求过去?
    CEBBCAT
        2
    CEBBCAT  
       2018-07-28 23:49:07 +08:00 via Android
    這個東東好像叫 API ?
    wbing
        3
    wbing  
       2018-07-28 23:54:25 +08:00
    a 给个用户信息的接口出来
    t6attack
        4
    t6attack  
       2018-07-28 23:56:01 +08:00   ❤️ 1
    你想怎么实现就怎么实现。文件、memcached、http、socket
    carlclone
        5
    carlclone  
       2018-07-28 23:56:07 +08:00
    rpc , rest api
    Les1ie
        6
    Les1ie  
       2018-07-29 00:00:58 +08:00
    ab 的数据库没有暴露出来? 看需求场景,曾经用过 redis 中转数据,效果海星。
    lolizeppelin
        7
    lolizeppelin  
       2018-07-29 00:04:18 +08:00 via Android
    微服务
    akira
        8
    akira  
       2018-07-29 00:39:32 +08:00
    a 里面暴露个获取用户信息的接口出来,b 去调用就是了啊
    zhaolion
        9
    zhaolion  
       2018-07-29 01:04:13 +08:00
    HTTP or RPC
    mason961125
        10
    mason961125  
       2018-07-29 02:40:28 +08:00 via iPhone
    简单 /方便开发就 rest,需要性能就 rpc。
    orangeade
        11
    orangeade  
       2018-07-29 06:41:46 +08:00 via Android
    消息队列,rpc, rest
    scorfish
        12
    scorfish  
       2018-07-29 07:08:50 +08:00
    rpc rest api
    ymj123
        13
    ymj123  
       2018-07-29 09:41:46 +08:00 via Android
    grpc 可以
    Immortal
        14
    Immortal  
       2018-07-29 10:13:37 +08:00
    调用只和协议有关
    和项目语言都没关系
    filetype
        15
    filetype  
       2018-07-29 10:17:38 +08:00
    Service Mesh
    dong3580
        16
    dong3580  
       2018-07-29 10:48:48 +08:00 via Android
    web service,dll,了解一下
    LeungJZ
        17
    LeungJZ  
    OP
       2018-07-29 10:54:19 +08:00
    @CEBBCAT
    @beny2mor
    @t6attack
    目前暂时用 http 调用,不知道会不会慢。


    @mason961125
    @scorfish
    @orangeade
    rest 指的是?
    gbin
        18
    gbin  
       2018-07-29 11:01:53 +08:00 via Android
    @LeungJZ restful API
    shuizhengqi
        19
    shuizhengqi  
       2018-07-29 11:57:32 +08:00
    restful 都是这样开发的啊,只要接口数据符合类型就行
    NicholasYX
        20
    NicholasYX  
       2018-07-29 12:30:26 +08:00
    调接口?
    LLaMA2
        21
    LLaMA2  
       2018-07-29 13:48:53 +08:00
    这要看情况,您的两套系统是否有足够的权限(你可以随意魔改?)
    是否跑在一个网络下面,是否跑在一台机器里,
    不同的情况我们有不同的套路针对这些问题。
    说出你的情况,我们给你建议!
    LeungJZ
        22
    LeungJZ  
    OP
       2018-07-29 23:05:32 +08:00
    @ye4tar
    项目 a 可读可写,项目 b 只需要读取用户数据。
    不知道怎么判断是否在同一个网络,但是在同一台机器。
    laball
        23
    laball  
       2018-07-30 10:18:35 +08:00
    上 Rest 吧
    TommyLemon
        24
    TommyLemon  
       2018-07-30 11:26:27 +08:00
    A 提供 API 就行了,
    如果你懒得写,用 APIJSON 吧,前后端都省事了 ,
    自动将前端传的 JSON 参数转为 SQL 语句执行并返回结果,
    期间自动校验权限、结构、内容,自动防 SQL 注入。

    通过自动化 API,前端可以定制任何数据、任何结构!
    大部分 HTTP 请求后端再也不用写接口了,更不用写文档了!
    前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!
    后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!

    在线解析
    自动生成文档,清晰可读永远最新
    自动生成请求代码,支持 Android 和 iOS
    自动生成 JavaBean 文件,一键下载
    自动管理与测试接口用例,一键共享
    自动校验与格式化 JSON,支持高亮和收展

    对于前端
    不用再向后端催接口、求文档
    数据和结构完全定制,要啥有啥
    看请求知结果,所求即所得
    可一次获取任何数据、任何结构
    能去除重复数据,节省流量提高速度

    对于后端
    提供通用接口,大部分 API 不用再写
    自动生成文档,不用再编写和维护
    自动校验权限、自动管理版本、自动防 SQL 注入
    开放 API 无需划分版本,始终保持兼容
    支持增删改查、模糊搜索、正则匹配、远程函数等

    后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构!
    创作不易,GitHub 右上角点 Star 支持下吧,谢谢^_^
    github.com/TommyLemon/APIJSON
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5432 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:44 · PVG 16:44 · LAX 01:44 · JFK 04:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.