10、Dubbo框架里的微服务组件

经过前面几期的讲解,你应该已经对微服务的架构有了初步的了解。简单回顾一下,微服务的架构主要包括服务描述、服务发现、服务调用、服务监控、服务追踪以及服务治理这几个基本组件。 那么每个基本组件从架构和代码设计上该如何实现?组件之间又是如何串联来实现一个完...

从0开始学微服务

11、服务发布和引用的实践

在专栏第4期,我给你讲解了服务发布和引用常见的三种方式:Restful API、XML配置以及IDL文件。今天我将以XML配置方式为例,给你讲解服务发布和引用的具体实践以及可能会遇到的问题。 首先我们一起来看下XML配置方式,服务发布和引用的具体流程...

从0开始学微服务

12、如何将注册中心落地

专栏第5期我给你讲了服务注册和发现的原理,这里面的核心是服务提供者、服务消费者和注册中心这三个概念,以及它们之间的交互关系。你可以先回顾一下这几个关键的知识点,如果有不清楚的地方,建议你先返回第5期复习一下,再开始今天的学习。 掌握了服务注册和发现的...

从0开始学微服务

13、开源服务注册中心如何选型

上一期我给你讲了服务注册中心的落地实践,以及在实际应用中可能会遇到的问题和对应的解决方案。关于注册中心,如果你的团队有足够的人才和技术储备,可以选择自己研发注册中心。但对于大多数中小规模团队来说,我的建议是最好使用业界开源的、应用比较成熟的注册中心解...

从0开始学微服务

14、开源RPC框架如何选型

专栏第6期我给你讲解了RPC远程调用的原理,简单回顾一下一个完整的RPC框架主要有三部分组成:通信框架、通信协议、序列化和反序列化格式。根据我的经验,想要开发一个完整的RPC框架,并且应用到线上生产环境,至少需要投入三个人力半年以上的时间。这对于大部...

从0开始学微服务

15、如何搭建一个可靠的监控系统

专栏第7期我给你讲解了监控系统的实现原理,先来简单回顾一下,一个监控系统的组成主要涉及四个环节:数据收集、数据传输、数据处理和数据展示。不同的监控系统实现方案,在这四个环节所使用的技术方案不同,适合的业务场景也不一样。 目前,比较流行的开源监控系统实...

从0开始学微服务

16、搭建一套服务追踪系统

专栏第8期我给你讲了服务追踪系统的原理以及实现,简单回顾一下服务追踪系统的实现,主要包括三个部分。 埋点数据收集,负责在服务端进行埋点,来收集服务调用的上下文数据。 实时数据处理,负责对收集到的链路信息,按照traceId和spanId进行串联...

从0开始学微服务

17、如何识别服务节点是否存活

今天我要与你分享如何识别服务节点是否存活,这在服务治理中是十分重要的。在进入正题之前,你可以先复习一下专栏第5期,我在讲解注册中心原理的时候,以开源注册中心ZooKeeper为例,描述了它是如何管理注册到注册中心的节点的存活的。 其实ZooKeepe...

从0开始学微服务

18、如何使用负载均衡算法

假设你订阅了一个别人的服务,从注册中心查询得到了这个服务的可用节点列表,而这个列表里包含了几十个节点,这个时候你该选择哪个节点发起调用呢?这就是今天我要给你讲解的关于客户端负载均衡算法的问题。 为什么要引入负载均衡算法呢?主要有两个原因:一个是要考虑...

从0开始学微服务

19、如何使用服务路由

专栏上一期,我给你讲解了常用的客户端负载均衡算法,它帮我们解决了服务消费者如何从众多可用的服务节点中选取一个最合适的节点发起调用的问题。但在业务中经常还会遇到这样的场景,比如服务A部署在北京、上海、广州三个数据中心,所有的服务节点按照所在的数据中心被...

从0开始学微服务