栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SpringCloudAlibaba | 服务治理 | Apache Dubbo

SpringCloudAlibaba | 服务治理 | Apache Dubbo

微服务架构下的服务治理

服务治理的背景:

  • 如何协调线上运行的服务,以及保障服务的高可用性。
  • 如何根据服务的访问情况合理调配服务器资源,提高机器利用率。
  • 如何动态的对故障业务做降级、流量控制等。
  • 对于大规模服务集群,服务地址的管理以及服务上下线的动态感知。
Apache Dubbo
  1. Dubbo是阿里巴巴内部使用的一个分布式服务治理框架。2012年开源。
  2. 2019年5月,Apache Dubbo正式从孵化器中毕业,成为Apache的顶级项目。
    官网地址:http://dubbo.apache.org/
概念

Apache Dubbo是一个分布式服务框架,主要实现多个系统之间的高性能、透明化调用,简单来说就是一个RPC框架,与普通RPC框架不同的是,它提供服务治理功能,如服务注册、监控、路由、容错等。

架构图

Apache Dubbo 实现远程通信
  • 创建两个maven工程,分未order-service和user-service;
    文件结构如下:

  • 添加Dubbo依赖


    org.apache.dubbo
     dubbo
     3.0.4
 
  • 创建配置文件user-provider.xml



    
    
    
    

    


dubbo:applicatoin 用来描述提供方的应用信息,比如:应用名称(必填)、维护人、版本等;
dubbo:registrty 配置注册中心地址,如果不需要注册中心,可以设置为N/A。
dubbo:protocol 配置服务提供者的协议,比如Hessian、WebService、Thrift等。
dubbo:service 描述需要发布的服务接口。

dubbo的高级应用 dubbo集群容错

dubbo默认提供6中容错模式,默认Failover Cluster。

容错模式说明
Failover Cluster失败自动切换 ,默认重试两次
Failfast Cluster快速失败,立即报错
Failsafe Cluster失败安全,忽略异常
Failback Cluster失败后自动回复
Forking Cluster并行调用多个服务,其中一个成功就返回
Broadcast Cluster广播调用所有的服务提供者
dubbo负载均衡

dubbo提供四种负载均衡策略,默认random;

  • random :随机算法
  • roundRobin: 轮询
  • leastActive: 最少活跃调用数
  • ConsistentHash: 一致性hash
SpringBoot集成Apache Dubbo

官方文档:https://github.com/apache/dubbo-spring-boot-project

Zookeeper zookeeper安装
  • 将下载好的安装包解压到指定目录,conf是存放配置文件的目录,bin是zookeeper提供的可执行脚本的目录。
  • ${zookeeper_home)conf目录下提供zookeeper的核心配置文件样例zoo_sample.cfg;要将zookeeper运行,需要将zoo_sample.cfg该名为zoo.cfg,内容暂时可以不改;
  • 到/bin目录下,执行sh zkServer.sh start 启动服务;
  • 启动服务之后,通过默认发布的2181端口访问;
zookeeper的特性

zookeeper的znode创建时需要指定节点的类型,节点类型分为:

  1. 持久化节点
  2. 临时节点
  3. 有序节点

3.5.3之后增加了两种节点类型,分别为:

  • 容器节点:当容器节下的最后一个节点被删除是,容器节点自动删除;
  • TTL节点:针对持久化节点或者持久化有序节点,可以设置一个存活时间,如果存活时间之内该节点没有任何修改且该节点没有任何子节点,超过存活时间后自动会被自动删除;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号