1. 简介 本篇文章,将开始分析 Dubbo 集群容错方面的源码。集群容错源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑相对比较独立,我们将会分四篇文章进行分析。本篇文章作为集群容错的开篇文章,将和大家一起分析服务目录相关的源码。在进行深入分析之前,我们先来了解一下服务目录是什么。服务目录
1. 简介 上一篇文章详细分析了服务导出的过程,本篇文章我们趁热打铁,继续分析服务引用过程。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用。服务直连的方式仅适合在调试或测试服务的场景下使用,不适合在线上环境使用。因此,本文我将重点分析通过注册中心引用服务的过程。从注册中心中获取服务配置只是服务引用过程中的一环,除此之外,服
1.简介 本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装 URL。第二部分是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程。第三部分是向注册中心注册服务,用于服务发现。本篇文章将会对这三个
可以通过服务降级功能 1 临时屏蔽某个出错的非关键服务,并定义降级后的返回策略。 向注册中心写入动态配置覆盖规则: RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension(); Registry registry = regist
当一个接口有多种实现时,可以用 group 区分。 服务 <dubbo:service group="feedback" interface="com.xxx.IndexService" /> <dubbo:service group="member" interface="com.xxx.IndexService" /> 引用 <dubbo:reference id="feedbackInde
有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式。 <dubbo:registry address="10.20.141.150:9090" dynamic="false" /> 或者 <dubbo:registry address="10.20.141.150:9090?dynamic=false" /> 服务提供者初次注册时为禁用状态,需人工启用。断线时,将不
本章介绍 Kubernetes 服务治理,包括容器应用管理、Service Mesh 以及 Operator 等。 目前最常用的是手动管理 Manifests,比如 kubernetes github 代码库就提供了很多的 manifest 示例 https://github.com/kubernetes/kubernetes/tree/master/examples https://github
准备动作 1、安装nodejs与安装express 安装nodejs教程:http://www.cnblogs.com/pigtail/archive/2013/01/08/2850486.html 安装 express 教程:https://www.wenjiangs.com/doc/f5jxm7ii 2、安装node-jsx(使nodejs支持jsx语法) $ npm install node
更新时间:2019-05-30 16:03:18 服务开发、调试完成后,需发布到云端,才能被调用。 操作步骤 在服务开发平台,单击页面右上角发布。 在弹出对话框中,填入描述信息后,单击确定。 执行结果服务发布后,IoT Studio为该服务生成默认访问域名。您便可在其他应用开发时使用该服务,或将服务进行商业化使用。 选择页面正上方**发布 > 域名管理**,查看默认域名,或配置自定义域名。
更新时间:2019-05-30 19:09:16 步骤3:调试服务 正式发布服务之前,使用虚拟设备对服务进行调试。 前提条件 已完成服务流配置、部署和启动。具体流程,请参见步骤2:编辑服务流。 背景信息 以下调试流程适用于设备触发的服务。 HTTP接口的服务调试,只需单击调试即可。日志中将显示调试结果。 定时触发的服务调试,单击调试,输入时间。服务运行后,日志中将显示调试结果。 操作步骤 在服务开
更新时间:2019-05-30 19:08:30 步骤2:编辑服务 拖拽功能节点到画布上,并配置节点名称、数据源、参数等,您就可以可视化的方式开发服务。本文介绍如何可视化的编辑服务流。 前提条件 已完成步骤1:创建项目。 操作步骤 在项目页,选择**服务开发 > 新建服务** 填写服务基本信息,创建服务。 参数 说明 服务名称 服务的唯一标识符,在项目下具有唯一性。可包含中文汉字、英文字母、数字和
服务端设计 服务端主要的问题是大数据的实时处理,截止2017年6月后端CAT的计算集群大约100台物理机,存储集群大约50台物理机,每天处理了约200TB的数据量。下面是CAT服务端一些设计细节: 架构设计 服务端单机cat-consumer的整体架构如下: 如上图,CAT服务端在整个实时处理中,基本上实现了全异步化处理。 消息接收是基于Netty的NIO实现 消息接收到服务端就存放内存队列,然后
服务端部署 1. 源码部署 CAT安装环境 Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5 Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持 Maven 3及以上 MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性
服务提供者是组件和CatLib联系的桥梁。同时也是CatLib启动的中心,所有的服务都是通过服务提供者定义的。 名词定义 组件 组件与CatLib没有任何关系,她们可以独立的运行在不同的框架中。 服务 是由服务提供者将由一个或者多个组件组合而成,并提供一组可以被开发者使用的接口。 容器 CatLib 依赖注入容器。 架构图 创建服务提供者 服务提供者是用来描述一个服务如何为使用者提供服务的,这些关
SSH代理服务即平台上的SSH服务,用于与SSH代理节点管理的虚拟机建立转发规则。 SSH代理服务即平台上的SSH服务,用于与SSH代理节点管理的虚拟机建立转发规则。系统创建完成后,会自动部署一个Pod作为SSH代理服务,当环境更新或监听地址变更时,后端将会根据实际情况更新监听地址和服务地址。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/SSH代理/SSH代理服务” 菜单