掌握高并发,高可用架构
第三章分布式
本章介绍分布式架构的底层技术。主要说明面试过程中可能被问到的技术点。
第一节达博h5>
<代码> Duboo 代码> <代码>服务治理代码> <代码>管理员代码>
<编辑> 1。达博的概念编辑>达博是一个分布式,高性能,透明化的RPC(远程服务调用)服务框架,提供服务自动注册,自动发现等高效服务治理方案,可以和春天无缝集成。
<编辑> 2。达博的由来编辑>
当网站流量很小时,可以把所有功能都部署在一个项目中,叫单体应用框架。
随着流量的增大,应用拆分必不可少,此时会出现多个垂直应用,在美格尔应用中处理各自的业务逻辑。
当垂直应用越来越多,应用之间的交互不可避免,将核心业务抽离出来,作为独立的服务,逐渐形成稳定的服务中心。此时,用于提高业务复用和整合的<>强分布式服务框架RPC 强>是关键。
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高集群利用率的<>强资源调度和治理中心SOA 强>是关键。
<编辑> 3。达博的主要特点编辑>-
<李>透明化的远程方法调用,没有API侵入李>
<李>软负载均衡及容错机制,降低成本,拒绝单点李>
<李>服务自动注册与发现,不再需要写死服务提供者地址,注册中心基于接口名查询服务提供者的IP地址,并能够平滑的添加或删除服务提供者李>
-
<李> 代码> <代码>提供者,暴露服务的服务提供方李>
<李> <代码>消费者> 代码,调用远程服务的服务消费者李>
<李> <代码>注册> 代码,服务注册与发现的服务中心李>
<李> <代码>监控> 代码,统计服务的调用次数和调用时间的监控中心李>
<李> <代码>容器> 代码,服务运行容器李>
下面来解释上述的两张图:
-
<李>服务容器启动,加载,运行服务提供者李>
<李>服务提供者在启动时,向注册中心注册自己提供的服务李>
<李>服务消费者在启动时,向注册中心订阅自己所需的服务,并将获得的地址列表进行缓存。如果没有订阅到自己想订阅的服务,它会不断尝试订阅李>
<李>注册中心返回服务提供者地址列表给消费者。当新的服务注册到注册中心后,注册中心会基于长连接将这些服务通过通知到消费者李>
<李>服务消费者从缓存的提供者地址列表中,基于软负载均衡算法,选一台进行服务调用(此处有容错机制)李>
<李>服务提供者和消费者,在各自的内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心李>