你们好,今天开始给你们分享 — Dubbo 专题之 Dubbo 服务治理简介。在前面的章节中咱们介绍了 Dubbo 序列化,了解到了 Dubbo 中支持的序列化方式以及其实现原理。那么从这个章节开始咱们讨论服务治理相关话题,在这个章节中咱们会继介绍 Dubbo 服务治理。那么什么是服务治理呢?为何须要服务治理?Dubbo 中提供哪些服务治理方式呢?。那就让咱们快速开始吧!git
首先在讨论咱们的服务治理以前咱们先看看咱们的软件架构设计的发展。在传统的企业应用或桌面应用中,每每都是一个单体的应用架构设计以下图所示:数据库
能够看到咱们的单体架构很简单一个 Java 进程和数据库就能够搞定。可是随着业务的发展,咱们的业务逻辑愈来愈复杂好比:咱们一个电商系统主要包含用户系统、商品系统、订单系统、评价系统、支付系统、门店管理等等,同时咱们的项目团队也可能随着业务增加不断扩大,那么若是咱们还在之前的单体系统上进行开发可能会致使咱们的系统代码变得没法维护、一个系统上线可能致使全部服务不能使用等等问题。那么这个时候咱们就使用多应用架构把功能在一个领域的放在一个系统中,同时应用之间不能直接的交互架构以下图所示:编程
咱们能够很直观的感觉到当咱们的系统发展到必定量的时候咱们就须要对其进行拆分。固然上面的架构有一个明显的问题:应用系统相互独立后共同的业务或代码没法复用。那怎么解决这个问题呢?接下来就是咱们讨论的重点分布式系统架构,在大型的电商系统中分布式架构是咱们经常使用的解决大数据量、高并发的有效解决方案,同时咱们在实践过程当中经常遇到有不少的服务或者组件是共用的、用户需求变动快、快速迭代等等问题。所以,咱们但愿分离变与不变,从而使组件或服务获得更好的复用和更容易拓展和维护,上层的业务系统更加灵活多变的业务场景组合底层通用的公共服务能力来实现复杂多变的应用场景。如下是简要的分布式架构图:微信
从图中咱们能够看出应用层调用底层公共的抽象能力来组合成上层业务逻辑。架构
Tips:这里的架构缺乏接入网关系统。
从上面介绍的架构演进中,咱们能够知道当咱们系统随着业务增长须要面对:高并发、大数据量、高吞吐量等问题。那么咱们就须要调整咱们的系统架构使咱们的系统服务化。服务治理主要做用是改变运行时服务的行为和选址逻辑、达到限流、权重配置等目的。下面咱们经过服务化的特色、优点和所面临的挑战维度来进行阐述。并发
服务化的特色:负载均衡
服务化所带来的优点:async
服务化面临的挑战:分布式
<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>
如下来自于官网的 Dubbo 服务治理架构图:
其中 Dubbo 支持的服务治理能力包括:服务发现注册、服务监控、集群容错、负载均衡、黑白名单、标签路由、条件路由、权重调节、服务降级等等。
在本小节中咱们主要学习了 Dubbo 中服务治理,分别从单体架构到分布式架构的演进进行分析咱们为何要不断的改进咱们的架构设计。同时也知道了服务治理主要做用是改变运行时服务的行为和选址逻辑、达到限流、权重配置等目的,其中 Dubbo 服务治理提供了:服务发现注册、服务监控、集群容错、负载均衡、黑白名单、标签路由、条件路由、权重调节等能力。
本节课程的重点以下:
我的从事金融行业,就任过易极付、思建科技、某网约车平台等重庆一流技术团队,目前就任于某银行负责统一支付系统建设。自身对金融行业有强烈的爱好。同时也实践大数据、数据存储、自动化集成和部署、分布式微服务、响应式编程、人工智能等领域。同时也热衷于技术分享创立公众号和博客站点对知识体系进行分享。关注公众号: 青年IT男 获取最新技术文章推送!
博客地址: http://youngitman.tech
微信公众号: