Dubbo入门-架构篇

为什么80%的码农都做不了架构师?>>>   hot3.png

      你一个人再强壮,也扛不了100袋大米,单机的资源也很有限,大网站的大数据量、高并发以及各种业务需求;
     童鞋们的web应用,服务器、RDB、MQ、RPC、缓存以及各类基础设施,更别说还有安全、大数据方面的需求:
   我们常见的面向服务的dubbo、springcloud,数据库中间件atlas、mycat,消息中间件rocketmq、kafka,缓存memcache、redis,搜索solrcloud、elasichsearch,大数据hadoop、spark,各方面的产品是层出不穷。

   今天聊聊RPC,按惯例,来张图:
  Dubbo入门-架构篇_第1张图片

   RPC远程调用,首先你得网络IO,Netty很不错的;然后序列化,定义一套数据协议, 比如dubbo,反正能编解码出你想要的数据就好,Netty也支持自定义编解码器。
   当然,你得知道分布式下谁是谁,还可能需要协调,当然RPC一般不需要paxos,那么注册中心,Zookeeper、Redis等 你来选。
   然后,你就可以写逻辑了,客户端负载、服务分级、集群容错;服务端限流、舱壁隔离、熔断恢复,当然还有监控,依赖、调用、错误等信息的上报。
   最后,接口方面,整个动态代理,或者是cglib啥的;你可以集成到Spring,整个自定义的标签解析器,就像dubbo;监控中心,做成个服务就可以的。

  最后来张图,dubbo的包结构:

Dubbo入门-架构篇_第2张图片

转载于:https://my.oschina.net/lobo/blog/757895

你可能感兴趣的:(Dubbo入门-架构篇)