美文网首页
RPC简单Demo

RPC简单Demo

作者: kumangcao | 来源:发表于2019-03-11 11:24 被阅读0次

    code:https://github.com/ice-kumangcao/JavaDemo/tree/master/src/main/java/rpc
    RPC-远程过程调用,这里就不详细的解释概念了(百度即可)
    RPC是概念性名词,可以通过不同的技术实现

    这个Demo就是用Java JDK代理+socket实现RPC

    这个Demo分为三个角色:消费者生产者中间件(算个角色吧)

    • 消费者用来消费生产者提供的服务或产品,中间件算是管理生产者,为消费者提供生产者
    • 消费者和生产者之间遵从统一的接口,中间件提供消费者使用和生产者注册的方法
    • 中间件内部实现了生产者到消费者的运输桥梁,具体怎么运输,出了问题怎么办由中间件管理

    消费者消费的最终是生产者的资源,消费者只得到一个产品,
    映射到代码中就是,消费者执行一个接口的方法,由相应的生产者来执行,
    消耗的是生产者的内存和CPU时间,消费者只得到一个结果。

    为什么要SOA?

    MVC架构中所有的业务都写到了一个应用中,如果并发增加,一台tomcat无法支持,只能进行横向扩展,但是在此种情景下,所以的业务都是平级的,享受相同的系统资源,但是想想,不同的业务在使用频率和系统资源消耗肯定是不同的。
    如果并发继续增加,还是只是单纯的横向扩展只会浪费系统的资源,让使用频率高的无法支持更高的并发,让使用频率低的默默占用系统资源。如果能够将服务从应用中剥离出来,就能合理的为服务提供合适的资源。

    将服务剥离出来,应用和服务沟通需要走网络传输,网络传输肯定会增加服务调用时间
    和增加风险,这些都是需要中间件来提供解决方案的

    :sob:

    相关文章

      网友评论

          本文标题:RPC简单Demo

          本文链接:https://www.haomeiwen.com/subject/ciygyqtx.html