The essence of dubbo: a Jar package, a distributed framework, and a distributed framework for remote service calls.
1. What is dubbo?
#1) Since this is a tutorial for novices, many students must not understand what distributed and remote service calls are, why they need to be distributed, and why they need remote calls. I will simply draw a comparison chart to illustrate (see Figure 1 in Figure 2. It is drawn on a drawing board, please do not spray).
Think about it, everything used to be on the same server, and the calling method was called directly and naturally, no problem. Now due to the increase in demand, so many of them have been split and deployed on different servers. Is it different from the fact that they were all on one server before? Now that they are distributed, the services of the web layer calling the service layer have become remote calls? So how can we naturally call methods on the same server as before? dubbo to solve it. This is the benefit of dubbo below.
2. What are the benefits of Dubbo?
1. Transparent remote method invocation, just like calling local methods, requires simple configuration without any API intrusion.
2. Soft load balancing and fault tolerance mechanisms can replace hardware load balancers such as F5 on the intranet, reducing costs and single points.
3. Automatic service registration and discovery, no longer need to hard-code the service provider address. The registration center queries the IP address of the service provider based on the interface name, and can smoothly add or delete service providers. (Explained below)
Dubbo uses a full Spring configuration method to transparently access applications without any API intrusion into the application. You only need to use Spring to load Dubbo's configuration. Dubbo loads based on Spring's Schema extension.
3. Dubbo architecture diagram is as follows:
Before explaining his architecture diagram, let’s popularize a few concepts.
Node role description:
Provider (producer): The service provider that exposes services.
Consumer: The service consumer that calls the remote service.
As shown in the figure, we can simply understand that web1234 needs to call the service of service1234, so web1234 is the consumer and service1234 is the producer.
If the consumer calls the producer's service according to the above, is it as shown below:
You Are you dizzy looking at it? Faint or not? Faint or not? Anyway, I was dizzy, what if it was distributed even more? , so we need him:
Registry (registration center): the registration center for service registration and discovery. Dubbo recommends zookeeper. What is zookeeper? Zookeeper is a framework for consistency processing in distributed systems. For more information, you can check out my previous article: Let’s put it this way, zookeeper is very simple. In fact, it is just a framework, used for consistency processing. To put it simply, ZooKeeper is an intermediary. Property sellers (producers) put property information on the intermediary (registration center), and people who want to buy properties (consumers) go to the intermediary to obtain a list of property resources. So, our picture becomes like this:
Isn’t it much better? If it's not enough, we also need a monitoring center (what is it used for? Of course it is for monitoring. What should I do if the call fails? What should I do if it hangs?): Monitor: Monitoring center that counts the number of calls and the call time of the service. (No more drawing)
Then, the Provider is run in the container, which is called the Container service to run the container. (No more drawing)
The final dubbo architecture, as shown in the picture (starting from 0):
Related recommendations:
Taobao Amoeba architecture MySQL distributed database environment_MySQL
Daily average million PV architecture fourth bullet (distributed monitoring)_MySQL
The above is the detailed content of Dubbo+zokeeper basic explanation. For more information, please follow other related articles on the PHP Chinese website!

本文来写个详细的例子来说下dubbo+nacos+Spring Boot开发实战。本文不会讲述太多的理论的知识,会写一个最简单的例子来说明dubbo如何与nacos整合,快速搭建开发环境。

前言在介绍Dubbo之前先了解一下基本概念:Dubbo是一个RPC框架,RPC,即RemoteProcedureCall(远程过程调用),相对的就是本地过程调用,在分布式架构之前的单体应用架构和垂直应用架构运用的都是本地过程调用。它允许程序调用另外一个地址空间(通常是网络共享的另外一台机器)的过程或函数,并且不用程序员显式编码这个远程调用的细节。而分布式架构应用与应用之间的远程调用就需要RPC框架来做,目的就是为了让远程调用像本地调用一样简单。Dubbo框架有以下部件Consumer即调用远程服

[[443126]]先说两句我常常在散步时思考很多技术上的「为什么问题」,有时一个问题会想很久,直到问题的每一个点都能说服自己时,才算完结。于是想把这些思考记录下来,形成文章,可以当做一个新的系列。这些文章中你可能看不到代码,但能窥探到一些容易被忽视的问题,以及问题更深层次的「为什么」。今天带来第1篇,Dubbo为什么要用Go重写?诞生于阿里巴巴,2011年开源的Dubbo已经走过了10个年头。在2019年,它被用Go重写并开源,如今两年过去,已经从当初的V1.0.0版本发展到了V3.0.0,截

简介Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。概述2020年06月23日,ApacheDubbo官方发布了ApacheDubbo远程代码执行的风险通告,该漏洞编号为CVE-2020-1948,漏洞等级:高危。ApacheDubbo是一款高性能、轻量级的开源JavaRPC框架,它提供了三大核心能力:面向接口的远

尊敬的读者朋友们,今天我们将为您精心奉上一篇关于Dubbo在Go语言方面的探讨文章。Dubbo作为一款优秀的分布式服务框架,在Java语言中得到了广泛的应用和支持。而随着Go语言在近年来的快速发展,许多开发者对于Dubbo是否已经支持Go语言这一问题产生了浓厚的兴趣。本文将从Dubbo在Go语言方面的支持情况、具体实现方法以及代码示例等方面展开阐述,希望能为

SPI有什么用?举个栗子,现在我们设计了一款全新的日志框架:「super-logger」。默认以XML文件作为我们这款日志的配置文件,并设计了一个配置文件解析的接口:packagecom.github.kongwu.spisamples;publicinterfaceSuperLoggerConfiguration{voidconfigure(StringconfigFile);}然后来一个默认的XML实现:packagecom.github.kongwu.spisamples;publiccl

随着互联网的不断发展,分布式架构已经成为了现代应用开发的标配之一。对于这类架构而言,高效地处理分布式事务成为了一项必要的技能。而Redis作为一个基于内存的高速缓存数据库,在分布式应用中被广泛应用。在分布式应用中将Dubbo作为服务框架进行应用,Redis作为缓存数据库提供数据支撑,能够在保证服务高性能的同时,提供快速数据读写。本文将详细介绍Redis在Du


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1
Powerful PHP integrated development environment
