RPC简单Demo

2019-03-11  本文已影响0人  kumangcao

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:

上一篇下一篇

猜你喜欢

热点阅读