【dubbo学习笔记1】——分布式基础理论&dubbo概念

213 阅读3分钟

「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战

分布式基础理论

分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个相关系统

互联网发展,网站应用的规模不断扩大,常规的垂直架构无无法应对

应用架构的演变

单一架构

扩展不容易

协调开发不容易

垂直应用架构


把一个大应用拆成几个小应用


\

1.缺点,每一个应用都是完整的,包括界面,页面逻辑,无法实现分离

2.应用之间需要交互,不能完全独立,比如订单需要查询用户应用

分布式服务架构


把页面和核心业务逻辑服务

不同服务器不同tomcat之间怎么调用服务

分布式架构架构下最核心的是如何进行远程过程调用,如何拆分业务

分布式服务框架(RPC)帮我们解决这个问题

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

决定rpc框架的通信速度

1.能否快速建立连接

2.传输数据的序列化和反序列化效率

dubbo

什么是dubbo?

Apache Dubbo(incubating)是一款高性能、轻量级的开源Java RPC框架,它提供了三个核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

什么是灰度发布?

比如需要做用户服务的升级,一共有100台机器,先让其中的20台使用新服务,80台使用旧服务,(20台用的没问题)然后慢慢过渡到所有机器使用新服务

通过配置路由规则,请求进来的时候一部分请求请求新服务,一部分请求旧服务,慢慢从旧服务过渡到新服务的过程

  • 面向接口代理的高性能RPC调用

  • 智能负载均衡

  • 服务自动注册与发现

  • 高度可扩展能力

  • 运行期流量调度

  • 可视化的服务治理和运维

注册中心

  • 容器启动的时候,服务提供者会向注册中心进行注册并且说明自己能够提供的服务

  • 服务消费者启动的时候就会从注册中心订阅它所需要服务

  • 服务提供者信息发生变更的时候,注册中心会和服务消费者会变更基于长连接通知,

  • 调度信息一定时间会定时统计发布到监控中心,服务消费者调用服务提供者的服务是一个同步的过程

  • 服务提供方有好几台相同的服务,会根据负载均衡算法进行选择