Dubbo+zokeeper basic explanation
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!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics



This article will write a detailed example to talk about the actual development of dubbo+nacos+Spring Boot. This article will not cover too much theoretical knowledge, but will write the simplest example to illustrate how dubbo can be integrated with nacos to quickly build a development environment.

Preface Before introducing Dubbo, let’s first understand the basic concepts: Dubbo is an RPC framework. RPC is Remote Procedure Call (remote procedure call). The opposite is local procedure call. It is used in single application architecture and vertical application architecture before distributed architecture. They are all local procedure calls. It allows a program to call a procedure or function in another address space (usually another machine shared on a network) without the programmer having to explicitly code the details of the remote call. Remote calls between distributed architecture applications require the RPC framework to make remote calls as simple as local calls. The Dubbo framework has the following component Consumer, which calls the remote service

[[443126]] Let me start with a few words. I often think about a lot of technical "why questions" when I'm walking. Sometimes I think about a question for a long time, and it's not finished until I can convince myself of every point in the question. So I want to record these thoughts and form an article, which can be used as a new series. You may not be able to see the code in these articles, but you can get a glimpse of some problems that are easily overlooked, as well as the deeper "why" of the problem. Today we bring the first article, why should Dubbo be rewritten in Go? Dubbo, which was born in Alibaba and open sourced in 2011, has gone through 10 years. In 2019, it was rewritten in Go and open sourced. Now two years later, it has developed from the original V1.0.0 version to V3.0.0.

If you are already proficient in using Dubbo, this article is not suitable for you, but if you want to understand Dubbo and learn Dubbo, it is very suitable for you.

Introduction Dubbo is a high-performance and excellent service framework open sourced by Alibaba, which enables applications to realize service output and input functions through high-performance RPC, and can be seamlessly integrated with the Spring framework. It provides three core capabilities: interface-oriented remote method invocation, intelligent fault tolerance and load balancing, and automatic service registration and discovery. Overview On June 23, 2020, ApacheDubbo officially released a risk notice about ApacheDubbo remote code execution. The vulnerability number is CVE-2020-1948, and the vulnerability level is: high risk. ApacheDubbo is a high-performance, lightweight open source JavaRPC framework. It provides three core capabilities: interface-oriented remote

What is SPI used for? For example, now we have designed a new logging framework: "super-logger". By default, XML files are used as the configuration files of our log, and an interface for configuration file parsing is designed: packagecom.github.kongwu.spisamples; publicinterfaceSuperLoggerConfiguration{voidconfigure(StringconfigFile);} Then there is a default XML implementation: packagecom.github .kongwu.spisamples;publiccl

Explanation of dubbo principles and mechanisms: 1. Core components; 2. Communication principles; 3. Cluster fault tolerance; 4. Automatic discovery and registration; 5. Load balancing and routing; 6. Serialization and transmission; 7. Monitoring and logging; 8 , Scalability; 9. Security; 10. Integration with Spring; 11. Integration with other technologies. Detailed introduction: 1. Core components, including registration center, monitoring center, service consumer and service provider; 2. Communication principle, Dubbo uses the network communication framework to make service calls, and it provides a variety of long-term connections based on it.

Dear readers, today we will provide you with an article discussing Dubbo’s Go language. As an excellent distributed service framework, Dubbo has been widely used and supported in the Java language. With the rapid development of Go language in recent years, many developers have become keenly interested in whether Dubbo already supports Go language. This article will elaborate on Dubbo’s support for the Go language, specific implementation methods, and code examples. I hope it can help
