前言
大家好,明天开始给大家分享 — Dubbo 专题之 Dubbo 服务治理简介。在后面的章节中咱们介绍了 Dubbo 序列化,理解到了 Dubbo 中反对的序列化形式以及其实现原理。那么从这个章节开始咱们探讨服务治理相干话题,在这个章节中咱们会继介绍 Dubbo 服务治理。那么什么是服务治理呢?为什么须要服务治理?Dubbo 中提供哪些服务治理形式呢?。那就让咱们疾速开始吧!
1. 架构演进
首先在探讨咱们的服务治理之前咱们先看看咱们的软件架构设计的倒退。在传统的企业应用或桌面利用中,往往都是一个 单体的利用架构 设计如下图所示:
能够看到咱们的单体架构很简略一个 Java 过程和数据库就能够搞定。然而随着业务的倒退,咱们的业务逻辑越来越简单比方:咱们一个电商零碎次要蕴含用户零碎、商品零碎、订单零碎、评估零碎、领取零碎、门店治理等等,同时咱们的我的项目团队也可能随着业务增长不断扩大,那么如果咱们还在以前的单体零碎上进行开发可能会导致咱们的零碎代码变得无奈保护、一个零碎上线可能导致所有服务不能应用等等问题。那么这个时候咱们就应用 多利用架构 把性能在一个畛域的放在一个零碎中,同时利用之间不能间接的交互架构如下图所示:
咱们能够很直观的感触到当咱们的零碎倒退到一定量的时候咱们就须要对其进行拆分。当然下面的架构有一个显著的问题:利用零碎互相独立后独特的业务或代码无奈复用。那怎么解决这个问题呢?接下来就是咱们探讨的重点 分布式系统架构,在大型的电商零碎中分布式架构是咱们经常应用的解决大数据量、高并发的无效解决方案,同时咱们在实际过程中经常遇到有很多的服务或者组件是共用的、用户需要变更快、疾速迭代等等问题。因而,咱们心愿拆散变与不变,从而使组件或服务失去更好的复用和更容易拓展和保护,下层的业务零碎更加灵便多变的业务场景组合底层通用的公共服务能力来实现复杂多变的利用场景。以下是简要的分布式架构图:
从图中咱们能够看出应用层调用底层公共的形象能力来组合成下层业务逻辑。
Tips:这里的架构短少接入网关零碎。
2. 服务治理简介
从下面介绍的架构演进中,咱们能够晓得当咱们零碎随着业务减少须要面对:高并发、大数据量、高吞吐量等问题。那么咱们就须要调整咱们的零碎架构使咱们的零碎服务化。服务治理次要作用是扭转运行时服务的行为和选址逻辑、达到限流、权重配置等目标。上面咱们通过服务化的特点、劣势和所面临的挑战维度来进行论述。
服务化的特点:
- 利用按业务拆分成服务
- 各个服务均可独立部署
- 服务可被多个利用共享
- 服务之间能够通信
服务化所带来的劣势:
- 架构上零碎更加清晰
- 外围模块稳固,以服务组件为单位进行降级,防止了频繁公布带来的危险
- 开发治理不便
- 独自团队保护、工作明显,职责清晰
- 业务复用、代码复用
- 非常容易拓展
服务化面临的挑战:
- 服务越来越多,配置管理简单
- 服务间依赖关系简单
- 服务之间的负载平衡
- 服务的拓展
- 服务监控
- 服务降级
- 服务鉴权
- 服务上线与下线
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<ins class=”adsbygoogle”
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-4279907681900931"
data-ad-slot="6812672741"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
3. Dubbo 中服务治理
以下来自于官网的 Dubbo 服务治理架构图:
其中 Dubbo 反对的服务治理能力包含:服务发现注册、服务监控、集群容错、负载平衡、黑白名单、标签路由、条件路由、权重调节、服务降级等等。
4. 小结
在本大节中咱们次要学习了 Dubbo 中服务治理,别离从单体架构到分布式架构的演进进行剖析咱们为什么要一直的改良咱们的架构设计。同时也晓得了服务治理次要作用是扭转运行时服务的行为和选址逻辑、达到限流、权重配置等目标,其中 Dubbo 服务治理提供了:服务发现注册、服务监控、集群容错、负载平衡、黑白名单、标签路由、条件路由、权重调节等能力。
本节课程的重点如下:
- 了解 Dubbo 服务治理
- 理解架构演进背景
- 学习 Dubbo 中提供的服务治理形式
作者
集体从事金融行业,就任过易极付、思建科技、某网约车平台等重庆一流技术团队,目前就任于某银行负责对立领取零碎建设。本身对金融行业有强烈的喜好。同时也实际大数据、数据存储、自动化集成和部署、散布式微服务、响应式编程、人工智能等畛域。同时也热衷于技术分享创建公众号和博客站点对常识体系进行分享。关注公众号:青年 IT 男 获取最新技术文章推送!
博客地址: http://youngitman.tech
微信公众号: