一.背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 二.传统应用到分布式应用的演进过程 1.单体应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用于简化增删改查工作量的数据访问框架(ORM)是关键,例如SSM,Spring MVC,配合nginx做负载均衡使用已经满足业务需要. 2.多个垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的…
从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo)首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节.同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现.流量调度等服务治理解决方案. 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议.多服务发现模型的支持,来实现异构微服务体系间的互联互通.在实际业务场景中,这可以用来解决异构技术…
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订阅(1) 介绍 dubbo的服务订阅可以通过2种方式: 1)通过xml文件的标签<dubbo:reference /> ;2)通过注解@DubboReference. 这2种服务订阅在使用上基本没区别,因为标签<dubbo:reference />上的属性字段都可以在注解@DubboR…
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订阅(1) Dubbo系列之 (五)服务订阅(2) 服务订阅,阅读代码前的一些思考? 思考的过程和设计思想如下: 1.我们想要进行远程服务的调用,那么肯定要建立网络连接,不妨改用TCP长连接,并设计通信协议,并封装为一个类,不妨叫做ExchangeClient.用它来进行网络通信. 2.有了可以进行远…
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订阅(1) Dubbo系列之 (五)服务订阅(2) Dubbo系列之 (六)服务订阅(3) RegistryDirectory 当RegistryDirectory#substribe()方法被RegistryProtocol#refer()方法调用时,本地服务消费端会与注册中心交互,拉取最新的服务提…
版本说明: 因为之前有了Taurus.MVC-DotNet 版本框架,因此框架标了-Java后缀. .Net  版本: 开源文章:开源:Taurus.MVC-DotNet 版本框架 (支持.NET Core系列,内集成微服务服务端与客户端[2022-08-01]) 开源地址:https://github.com/cyq1162/Taurus.MVC 教程地址: 1.Taurus.MVC WebAPI 入门系列教程 2.Taurus.MVC 微服务 入门系列教程 Java   版本: 开源地址:h…
论起微服务,哪能不谈网关,老将有Zuul,后继有Gateway,但这些都和SpringCloud关系密切,其他网关如Kong,因Lua原因,玩起来略不顺手.这不,就来了个Soul,我顺便拿来整进了我在写的项目中,感觉还行,也发现了些问题,表现有待观察,另一方面发现Soul资料略少,我就出点实例供看官参考参考. 准备: Idea2019.03/Gradle6.0.1/JDK11.0.4/Lombok0.28/SpringBoot2.2.2RELEASE/mybatisPlus3.3.0/Sou2.…
前言 之前,我都是说了很多的关于微服务的概念,说到底,很多人看了之后会认为没有什么意思,因为没有实际的东西说明,即使每个概念都明白了,也很难赋之实践.所以这次,我来用一个实际的例子去说明,在实际的项目过程中我们会如何去构建我们的微服务. PS:我们只是利用场景去模拟我们微服务构建或者说拆分的整个过程,对于场景本身在实际中会出现的问题我们不做考虑,说白了就是我们不考虑场景本身在实际生活中是不是这样的. 使用SpringCloud+Gradle构建 本文目的:让你体会到服务拆分本身,引起你对服务拆分…
1. 回顾 通过上篇博客的讲解,我们知道硬编码提供者地址的方式有不少问题.要想解决这些问题,服务消费者需要一个强大的服务发现机制,服务消费者使用这种机制获取服务提供者的网络信息.不仅如此,即使服务提供者的信息发生变化,服务消费者也无须修改配置文件. 服务提供者.服务消费者.服务发现组件这三者之间的关系大致如下: 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口 各个微服…
一.本文目的         主要介绍Dubbo的产生背景和需要解决的问题 二.产生背景         随着大数据量.高并发的互联网应用越来越多,单机系统已经无法满足系统的需要.通过SOA搭建一个分布式服务框架,用于分担压力,提高处理能力,这些都是Dubbo需要解决的问题,Dubbo可以认为是一个SOA的解决方案,是阿里巴巴贡献的开源框架,由Java语言编写 三.看图说话 节点角色说明: Provider: 暴露服务的服务提供方 Consumer: 调用远程服务的服务消费方 Registry:…