IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 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依赖

<dependency>
    <groupId>org.apache.dubbo</groupId>
     <artifactId>dubbo</artifactId>
     <version>3.0.4</version>
 </dependency>
  • 创建配置文件user-provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://dubbo.apache.org/schema/dubbo
       http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    <dubbo:application name="user-service"/>
    <dubbo:registry address="N/A"/>
    <dubbo:protocol name="dubbo" port="20880"/>
    <dubbo:service interface="org.example.service.IUserService" ref="userService"/>

    <bean id="userService" class="org.example.service.impl.UserServiceImpl"/>
</beans>

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节点:针对持久化节点或者持久化有序节点,可以设置一个存活时间,如果存活时间之内该节点没有任何修改且该节点没有任何子节点,超过存活时间后自动会被自动删除;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:41:33  更:2021-11-19 17:42:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:40:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码