什么是分布式框架Dubbo

为什么要用分布式框架dubbo

服务器压力大,部署成集群

什么是分布式框架Dubbo

虽然部署成了集群,但是:

  1. 修改不容易,每次要打包整个项目重新发布
  2. 可能有多个人同时修改了一个功能,代码功能不一致
  3. 项目越来越大,一个服务器即使分布式了,运行500M+的大项目,压力还是很大

可以将完整项目,拆分成一个一个小应用,每个应用都是从前台到数据库的完成流程

什么是分布式框架Dubbo

虽然拆成了一个一个小应用并分布式了,但是还是有缺点:

  1. 美工天天优化UI,每次优化都要重新部署
  2. 应用不可能完全独立,互相要访问

可以采取分布式架构

  1. 前后端分离,如:A服务器部署“用户服务”的Web端,B服务器部署用户服务的业务逻辑Service

  2. RPC技术思想(远程过程调用):原来的项目是在一个tomcat中运行,属于进程内调用,但是现在,即使一个“用户服务”都是分为两个(Web和后台),所以需要使用RPC技术在不同进程中进行远程调用。

    (RPC是一种技术思想,基于此种思想,实现的RPC技术怎么区分性能优劣?自然是看:1.能否快速在调用方与被调用方之间,建立起socket连接 2.传输数据时序列化和反序列化的速度,速度取决于传输的数据格式,可能有xml、json和二进制,自然是二进制最快

  3. 调度中心:基于访问压力实时管理集群容量,提高集群利用率

什么是分布式框架Dubbo

分布式架构Dubbo

1.面向接口代理的高性能RPC调用(二进制)

A服务器调用B服务器的方法,通过接口调用

2.智能负载均衡

3.自动注册与发现:注册中心,相当于维护了一个清单,让大家知道,什么服务都在哪些服务器上有。

4.高度可扩展

5.运行期间流量调度,轻松实现灰度发布(新功能内测)

6.可视化的服务治理与运维

Dubbo工作流程:

什么是分布式框架Dubbo

  1. dubbo容器启动,服务提供者将服务注册到注册中心
  2. 服务消费者启动时,从注册中心获取其订阅的服务
  3. 如果某一个服务提供者产生了变更,注册中心基于长链接的方式,通知消费者,消费者实时知道此服务不能调用了
  4. 消费者调用提供者,基于负载均衡,选择调用哪个分布式部署的服务,然后调用
  5. 调用服务的信息和状态,会定时的发送到监控中心Monitor

步骤1、2和3是在应用启动时完成的

步骤3和5是异步的

步骤4是同步的

相关文章: