图灵学院 java架构师学习路线
随着各种业务的发展,大数据时代的到来,服务提供方的压力也日益增大,单机应用的处理能力无论在软件,硬件上都受到限制,因此分布式服务框架应运而生。分布式服务框架对企业的重要性已经是不言而喻了,也意味着如果我们想在一个公司长久地待下去就必须掌握分布式服务框架,下面是我为大家只找到的一些关于分布式服务框架的分类。
一、RPC
RPC即远程服务调用,被广泛地应用在很多企业应用中,是早期主要的服务治理方案,其流程较为简单,客户端consumer携带参数发送RPC请求到服务提供方provider,provider根据参数路由到具体函数,方法,并将执行获得的结果返回,至此一次RPC调用完成。
二、SOA
由于简单的RPC调用已经不能随着时代发展满足需求,因此复杂的业务逻辑对于分布式应用架构体系的需求愈发强烈,业务希望自己的服务是分布式部署的,请求是分流的,对数据的操作是能读写分离的,同时能屏蔽许多复杂需要自己编写的底层服务,借助已有的公共服务,去快速的构建自己的应用,降低人力开发维护的成本和提高应用交付的效率,因此,基于分布式服务思想的SOA成了新的受追捧的架构。常见的SOA服务调用流程图如下:
三、业界服务治理方案
纵观这些服务框架,设计的基本思路都如上图,无非涉及provider发布注册,consumer订阅,调用发起,负载均衡,服务分流和监控等模块,并在此基础上增加了很多玩法,形成了各具特色的分布式服务框架设计,下面就Dubbo,JSF,Motan的设计做下简单的介绍。
(1)Monitor阶段:Consumer和Provider通过异步的方式向监控中心上报自己的需要被监控的数据。
(2)Dubbo初始化阶段,如下图所示:部署在Container的Provider启动后向服务中心Registry发布并注册自己的服务,客户端Consumer初始化时即向Registry订阅自己想要的服务,同时Registry对Consumer保持着一个长连接,当订阅的服务新增或减少节点时,会及时通知到客户端更新,如此一来,客户端Consumer便有了Provider的所有实时信息,便可以发起服务调用了。
(3)JSF:下图是JSF在服务治理方面的架构设计
初始化阶段:Provider启动后向服务注册中心发布注册自己的服务;
invoke阶段:在发起调用时Consumer向注册中心询问并获得对应的Provider,然后组织匹配JSF协议的报文发起调用。
Monitor阶段:Provider定期向监控中心发送性能统计数据,同时Provider还会上报事件给事件中心。
以上是我为大家找到的关于分布式服务框架的一些分类,希望会对正在学习分布式服务框架
或者打算学习分布式服务框架的小伙伴们一点启发,学习之路正如游戏里面的升级打怪一样,遇到难题就可能是开始打副本了,所有的怪都开始出现了,但如果你不去消灭完他们的话,你就不可能进入到下一个通关,所以漫漫求学路,我们才刚开始,怎能轻言放弃?
尽管Java架构师学习路线已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。
篇幅有限,如果需要更详细的java架构师学习路线资料可加博主qq:1993712276,或者去图灵官网查看