一. 背景随着2018年年初国务院办公厅联合多个部委共同发布了《国务院办公厅关于促进“互联网+医疗健康”发展的意见(国办发〔2018〕26号)》,国内医疗IT领域又迎来了一波互联网医院建设的高潮。不过互联网医院多基于实体医院建设,虽说挂了一个“互联网”的名号,但互联网医院系统也多与传统的院内系统,比如:HIS、LIS、PACS、EMR等共享院内的IT基础设施。如果你略微了解过国内医院院内IT系统的
1. 简介 上一篇文章分析了集群容错的第一部分 – 服务目录 Directory。服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由。上一篇文章关于服务路由相关逻辑没有细致分析,一笔带过了,本篇文章将对此进行详细的分析。首先,先来介绍一下服务目录是什么。服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者。Dubbo
通过上面描述,我们理解了什么是灰度发布,接下来我们基于Dubbo实现灰度发布。Dubbo灰度发布常见的方式有版本控制灰度发布、路由灰度发布、基于Apollo实现灰度发布,我们把这每种灰度发布都实现一次。 在学习Dubbo灰度发布之前,我们先看准备好的案例工程,如下图:Dubbo版本控制灰度发布 如上图,我们对每个工程做个分析: dubbo-provider-v1: 版本号为 1.0.0dubbo
Dubbo提供流量灰度的服务治理能力,可以在无需重启应用的情况下,配置标签路由规则和条件路由实现灰度发布。Dubbo可以通过XML配置,注解配置,动态配置实现流量灰度,这里主要介绍动态配置的方式,其他配置方式请参考旧文档配置开始之前请确保成功运行Dubbo-Admin背景信息在产品开发中会遇到需求变化、版本迭代的场景,为了兼顾需求变化和系统稳定,发布要尽可能平滑,影响人群要由少到多,一旦有问题马上
转载 2024-06-29 18:00:26
131阅读
整合nacos(Euraka 类似)实现灰度发布在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。什么是灰度发布呢?要想了解这个问题就要先明白什么是灰度灰度从字面意思理解就
在上一篇文章《基于Spring cloud ribbon实现多版本控制》中介绍了如何扩展spring cloud ribbon实现接口多版本控制的项目 – fm-cloud-bambbo, 开发这个项目的过程,给我提供了很多想法和思路,发现只要再做一些扩展,就可以实现灰度管理,于是又有了 fm-cloud-graybunny。灰度发布灰度发布是在多版本控制的基础上进一步扩展实现出来的项目 -&gt
dubbo源码学习(三)-Router 在学习router之前先了解下灰色发布的概念 灰度发布概念:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以
转载 2024-04-05 11:57:48
318阅读
什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度
转载 2024-08-29 22:50:58
198阅读
Dubbo 文章目录Dubbo一 基本介绍1.1 软件行业1.1.1 软件分类1.1.2 架构分类1.2 背景1.2.1 单一应用架构1.2.2 垂直应用架构1.2.3 分布式服务架构1.2.4 流动计算架构1.3 架构1.3.1 节点角色说明1.3.2 调用关系说明1.3.3 连通性1.3.4 健状性1.3.5 伸缩性1.3.6 升级性1.3.7 节点角色说明二 Zookeeper2.1 工作机
转载 2024-03-15 11:52:02
82阅读
概述上两篇文章,我们讲解了灰度组件的需求和设计的思路。不管之前讲的限流、幂等框架,还是现在讲的灰度组件,功能性需求都不复杂,相反,非功能性需求是开发的重点。本章,按照上篇文章的灰度组件的设计思路,讲解如何进行编码实现。不过,本章对实现的讲解,前前面两个实战项目有所不同。在前两个项目中,我们都是手把手从最基础的 MVP 代码将其。然后讲解如何 review 代码发现问题、重构代码解决问题,最终得到一
一、持续集成     持续集成(Continuous integration,简称CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。  持续集
Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便地实现流量拦截、选址的各种
一、灰度发布系统简介灰度发布(又名金丝雀发布)是指在多版本之间,能够平滑过渡的一种发布方式。比如一个产品或服务迭代更新, 又要保证上线的影响范围,这个时候就需要一个灰度发布系统。这里我们主要介绍云客服产品的灰度发布实现方式。 灰度发布一般分为三部分:灰度部分用户请求至新版本或新服务测试、运营分析灰度效果紧急回退 或 全量灰度 我们将上面三部分从开始灰度到全量或回退或或称或称为灰度期。 l 灰度期:
之前公司内部组织进行课题小组研究,我们组选择了DUBBO灰度发布 任务到手,就是分析,灰度发布时,我们要注意哪些?一共5个注意点: 1.数据库方面:DDL语句提前1天在业务低峰期由DBA进行操作,SQL代码层面,要检查,不允许出现select * from table 类似语句,要保证表字段可以随时添加2.对外流量灰度请求判定: 这里我们的设计是,流量进来以后,在网关层进行拦截器处理interc
这里是weihubeats,觉得文章不错可以关注公众号小奏技术背景最近在做全链路灰度,服务之间调用有用到dubbo,所以需要做一下dubbo灰度环境dubbo-version:3.3.0-beta.1spring-boot: 2.7.8 源码地址:https://github.com/weihubeats/weihubeats_demos/blob/master/spring-boot-demo
转载 2024-09-23 18:29:29
115阅读
升级项目有了阶段性的进展,目前仍然在进行中。通过本⽂,我们对公司内部的 Dubbo 3 升级过程及收益等做了深⼊总结。 作者:李斌、邱炜背景我们公司从 2015 年开始就使⽤ Dubbo 作为微服务框架,当社区推出 Dubbo 3 时,我们也⽴刻跟进并做了深⼊调研,发现 Dubbo 3 的应⽤/实例级服务注册和发现模式能够在一定程度上解决我们当前注册中⼼
转载 2024-04-26 18:06:37
48阅读
适用场景:通过将一个或多个服务的提供者划分到同一个分组,约束流量只在指定分组中流转,从而实现流量隔离的目的,用于解决灰度发布、蓝绿发布问题。基本原理:通过给服务提供方的单个或多个实例指定标签,消费方在调用服务的时候,通过匹配标签筛选出符合条件的服务列表,然后再根据负载策略进行远程服务调用。基本使用:在使用标签路由的时候,需要对服务提供方和消费方做相应配置才可生效。消费方可以通过设置隐式参数指定标签
转载 2024-03-26 15:17:35
199阅读
Dubbo 架构一:zookeeper 环境安装搭建1、搭建 zookeeper 之前要确保当前的机器已经有 JDK 环境。2、将 conf 目录下 zoo_sample.cfg 文件重命名为 zoo.cfg二 :实现服务接口 dubbo-interface主要分为下面几步:创建 Maven 项目;创建接口类将项目打成 jar 包供其他项目使用项目结构:dubbo-interface 后面被打成
转载 2024-04-01 06:17:21
119阅读
routing-rule通过 Dubbo 中的路由规则做服务治理,路由规则在发起一次RPC调用前起到过滤目标服务器地址的作用,过滤后的地址列表,将作为消费端最终发起RPC调用的备选地址。条件路由。支持以服务或 Consumer 应用为粒度配置路由规则。标签路由。以 Provider 应用为粒度配置路由规则。后续我们计划在 2.6.x 版本的基础上继续增强脚本路由功能。条件路由应用粒度# app1的
转载 2024-03-18 23:31:09
41阅读
Dubbo是什么?Dubbo是由阿里开发的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 自
  • 1
  • 2
  • 3
  • 4
  • 5