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

有什么比较容易上手的 Java 中间件吗,想选一个学习一下源码

  •  1
     
  •   falsemask · 2019-04-12 22:03:11 +08:00 · 4402 次点击
    这是一个创建于 2052 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想通过阅读源码提高一下设计能力和代码能力

    第 1 条附言  ·  2019-04-13 12:10:59 +08:00
    感谢大家的推荐,不局限于中间件,一些容易上手的工具库也可以
    22 条回复    2019-04-14 12:01:25 +08:00
    gosansam
        1
    gosansam  
       2019-04-12 22:37:48 +08:00
    dubbo 吧
    Cbdy
        2
    Cbdy  
       2019-04-13 06:09:21 +08:00 via Android
    tomcat
    gramyang
        3
    gramyang  
       2019-04-13 07:33:45 +08:00 via Android
    @Cbdy 看过 tomcat,代码量太大太大摸不清头绪,原理其实很简单,就是根据协议来拆包罢了。感觉投入时间和成果不成正比
    mmdsun
        4
    mmdsun  
       2019-04-13 08:22:54 +08:00 via Android
    卡夫卡吧。dubbo 代码写的不太好
    luckylo
        5
    luckylo  
       2019-04-13 09:19:35 +08:00 via Android
    中间价不推荐。既然是看源码,你不看 spring ?
    MoHen9
        6
    MoHen9  
       2019-04-13 09:25:17 +08:00 via Android
    看 Netty,之后可以看看别人根据 Netty 实现的 RPC 框架,或者 socket-io,以及有想法后自己去做一些事。
    MoHen9
        7
    MoHen9  
       2019-04-13 09:32:18 +08:00 via Android
    不好意思,netty 的代码不易懂,链式调用更加迷惑,想学习,我还是推荐看 retrofit,里面的代码非常棒,不过它就是个简单的库,跟中间件一毛钱关系没有
    xuxueli
        8
    xuxueli  
       2019-04-13 11:25:23 +08:00 via Android   ❤️ 1
    falsemask
        9
    falsemask  
    OP
       2019-04-13 12:06:34 +08:00
    @luckylo spring 的源码是不是太复杂了,感觉类的继承体系太庞大
    falsemask
        10
    falsemask  
    OP
       2019-04-13 12:08:02 +08:00
    @mmdsun 还是想了解一些 java 语言写的,学习一些 java 语言方面的技巧
    falsemask
        11
    falsemask  
    OP
       2019-04-13 12:08:56 +08:00
    @MoHen9 库也可以学习,谢谢,netty 后面也会看的,很多中间件通信都是用的这个
    loveCoding
        12
    loveCoding  
       2019-04-13 12:45:19 +08:00
    微博的 netty rpc 框架 motan ,非常值得一看,尤其是结合李林锋的<<分布式服务框架:原理与实践
    >>一起看
    TommyLemon
        13
    TommyLemon  
       2019-04-13 13:29:51 +08:00   ❤️ 1

    🏆码云最有价值开源项目,GitHub 5.5K Star
    🚀后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构!
    才 47 个 Java 类,容易上手,点 Star 支持下吧 ^_^
    https://github.com/TommyLemon/APIJSON
    passerbytiny
        14
    passerbytiny  
       2019-04-13 13:44:31 +08:00
    如果你要提高设计能力,那么不要看框架的源码,要么事倍功半,要么思路被局限,而且框架本身和框架的使用还有可能采用不同的设计思路。

    愿意花钱直接买书,愿意花时间就去扒各大框架的最新(英文原文)开发指导。
    rizon
        15
    rizon  
       2019-04-13 14:41:41 +08:00
    @TommyLemon #13 这个项目我已经看了很多次了,但是有个问题就是,不知道到底是干啥的。虽然文档里说了这是个什么,但是我真的觉得没有讲清楚。。也许是我理解力不够,但我真觉得这个项目的 what is it 写的真的不好。。或者说对一部分人不友好吧。。

    按我的理解:
    定位:这是一个给前端人员使用的框架?
    作用:这是一个屏蔽后台的前端开发工具?可以自动化的实现常用的增删查改后台代码,而不再需要后台开发?

    但是从文档中的一些只言片语,我又觉得不是我理解的这个意思。。总之就是至今也不知道是干啥的。
    rizon
        16
    rizon  
       2019-04-13 14:44:31 +08:00
    @rizon #15 对于当局者,感觉很好理解。但是从事不同角色的开发者,所接触的内容不一样,对一个事物的看法理解都有所不同,这就像公司内前后端开发以及与产品交流时,就需要把自己的事情转换成对方好理解的东西来描述,而不是站在自己的开发角度来描述。
    当一个路人打开一个高 star 项目。然后几分钟看一下文档,却不知道这个是不是和自己有关系的东西,不知道这是个干啥的。。就很难受了。。
    TommyLemon
        17
    TommyLemon  
       2019-04-13 15:43:15 +08:00
    @rizon 一种 JSON 网络传输协议,相应地提供了自动化接口和文档的 ORM 库。
    🚀A JSON Transmission Protocol and an ORM Library for auto providing APIs and Documents.

    前后端通过 APIJSON 协议去做数据交换,前端(客户端)传 APIJSON 格式的 JSON,后端自动解析并 CRUD。
    https://www.v2ex.com/t/507671
    amwyyyy
        18
    amwyyyy  
       2019-04-13 15:43:54 +08:00
    我最近看的携程的 apollo,中文文档齐全,阅读难度不高,知识面广。
    TommyLemon
        19
    TommyLemon  
       2019-04-13 15:45:50 +08:00
    @TommyLemon
    不管你是前端(客户端)还是后端开发者,
    如果你受够了前后端沟通、文档、联调等各种问题,
    那么就可以考虑用 APIJSON 来解决。

    为什么要用 APIJSON ?前后端 10 大痛点解析
    https://github.com/TommyLemon/APIJSON/wiki
    nian8
        20
    nian8  
       2019-04-13 15:55:58 +08:00 via Android
    感觉还是 netty 吧,一般也是拿网上别人的博客对着源码看咯
    TommyLemon
        21
    TommyLemon  
       2019-04-13 15:59:57 +08:00
    APIJSON 连 初期构思及实现.docx 文档都提供了
    https://github.com/TommyLemon/APIJSON/

    还有实现原理
    https://github.com/TommyLemon/APIJSON/issues/38/
    zndbly
        22
    zndbly  
       2019-04-14 12:01:25 +08:00 via Android
    先看 rpc 吧,看完自己再实现个简单的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2895 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:56 · PVG 16:56 · LAX 00:56 · JFK 03:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.