Dubbo开始于电商项目,是用Java语言写的,
首先介绍一下电商项目的古老历史:
从刚开始的ORM框架,全称是Object Relational Mapping中文那,全能关系映射,最初的ORM是面对的是单个应用,项目部署在一起;。。。但是在开发的过程中占用的资源越来越多,随着流量的增加越来越难维护。
于是,好多人都不满意,穷则思变。。。。。。。。。。
MVC架构应运而生,彼时由于它的出现解决了ORM的痛点,所有深受人们的喜爱,被称为人们的好儿子,它解决了哪些问题那,解决了ORM所面对的扩容(就是扩大体积)问题,降低了人员协同和维护成本人,提升了开发效率,
但是,人们用久了发现,不对啊,好儿子每家都有,相同的逻辑代码需要不断的复制,不能复用,太麻烦了,,慢慢的好儿子被踢出了家门,
这时市场上急需出现一个救世主,来解决这个问题,于是分布式框架RPC(Remote Procedure call)带着天兵天将来了,他们呼风唤雨,好不威风,人们于是敬他们为神祗,每日朝拜,天天祈福,它确实解决了,MVC的代码不能复用,交互差的问题,并且将核心业务抽离出来,使前端的应用更加的快速响应服务,
远程过程的调用过程:是服务器A上的a程序,调用服务器B上的b程序,要解决的问题,不在一个内存空间,没办法直接调用,
but,随着人们的生意越来越好,人们的商品访问量上亿的增加,访问的压力越来越大,服务器几乎蹦盘,so,
又一代大侠出现了,它就是宇宙最帅的服务框架,简称SOA,全称为Service Oriented Architecture面向服务的框架,就是把开发过程的琐碎处理全给你处理好,什么日志,什么东东都给你整好
上边介绍的是历史,下边进入主题:
Dubbo:便签 分布式服务框架、高性能和透明化的RPC远程服务调用方案,SOA服务治理方案,为阿里巴巴两千多个服务提供30亿次的访问量,
下边介绍几个概念:Provider:服务提供方,Cusumer:服务消费方,Registry:服务注册中心,Monitor:统计服务的调用次数和调用时间的监控中心。
流程:0服务容器启动,加载,运行服务提供者,1服务提供者启动向注册中心提供服务2服务消费者向注册中心订阅自己所需的服务3注册中心返回服务提供者地址列表给消费者,如有变更注册中心将基于长连接推送变更数据给消费者,4服务消费者是怎么做的那,从提供者的地址列表中基于负载均衡算法,选一台提供者进行调用,如果调用失败再选另一台,服务消费者和提供者的调用次数与调用时间都会在每分钟发送一次统计数据到监控中心。注册中心类型有以下几种类型选择Multicatist,Zookeeper,Redis,Simple