CN111209127A - Method for integrating Istio service grid by Dubbo frame - Google Patents
Method for integrating Istio service grid by Dubbo frame Download PDFInfo
- Publication number
- CN111209127A CN111209127A CN202010031678.1A CN202010031678A CN111209127A CN 111209127 A CN111209127 A CN 111209127A CN 202010031678 A CN202010031678 A CN 202010031678A CN 111209127 A CN111209127 A CN 111209127A
- Authority
- CN
- China
- Prior art keywords
- service
- dubbo
- istio
- component
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Abstract
The invention discloses a method for integrating an Istio service grid by a Dubbo frame, and belongs to the technical field of cloud computing. The method for integrating the Istio service grid by the Dubbo frame deeply combines the service discovery and remote calling functions of the Dubbo frame with the service governance function of the Istio service grid, and realizes service governance of the application using the Dubbo service. The method for integrating the Istio service grid by the Dubbo frame can seamlessly deploy and use the Dubbo-based service on the cloud, reduces the service failure rate, can conveniently perform data statistics on the communication result and the communication efficiency between services, and has good popularization and application values.
Description
Technical Field
The invention relates to the technical field of cloud computing, and particularly provides a method for integrating an Istio service grid by a Dubbo framework.
Background
At present, cloud computing technology is becoming mature, and more applications and services are used and deployed on the cloud. With the development and evolution of software, micro-service shelves constitute the mainstream architecture at present, and under such architecture, programs with different functions are deployed as a service in the operating environment, that is, in the cloud. And the Dubbo is a distributed framework for remote service invocation, can transparently invoke remote method invocation among services, just like invoking local methods, and only needs simple configuration without any API intrusion. However, Dubbo does not have the function of service governance, and if the Dubbo is combined with the Istio service grid, the deficiency of the function can be made up. However, the method of directly using the Dubbo RPC remote call bypasses the scope of the issue of issue service governance, so the purpose of implementing the Dubbo service governance by deeply combining the Dubbo framework and the issue service grid becomes an urgent problem to be solved.
Disclosure of Invention
The technical task of the present invention is to provide a method for integrating an isio service grid with a Dubbo framework, which can seamlessly deploy and use services based on Dubbo on the cloud, reduce the service failure rate, and conveniently perform data statistics on the communication result and the communication efficiency between services, aiming at the existing problems.
In order to achieve the purpose, the invention provides the following technical scheme:
a method for integrating an Istio service grid with a Dubbo frame deeply combines service discovery and remote calling functions of the Dubbo frame with service governance functions of the Istio service grid to realize service governance of applications using the Dubbo service.
Preferably, the method for integrating the Istio service grid by the Dubbo framework comprises the following steps:
s1, modifying an Istio Pilot component, increasing the type of a monitoring registration center, converting the acquired data into a general configuration and issuing the general configuration to a data plane;
the registry stores the remote services registered by the service provider and notifies the service invoker of the service list managed by the registry, and the registry, the provider and the service invoker are all in long connection, so that the change condition of the services issued by the provider can be acquired, and the latest service list is pushed to the service invoker. The Pilot acts as a bridge between the control plane of the Istio to the Envoy of the data plane and monitors the service registration of the service registration center (e.g., Kubernets). Under the Kubernets environment, resource information such as service, endpoint, point, node and the like is monitored. Therefore, only the Pilot component is needed to monitor the registration center of the Dubbo, obtain the service data therein, and send the service change to the invoy of the data layer in time, so that the function of service discovery can be ensured to be available. The current Pilot monitoring registry is mainly kubernets, and does not monitor the functions of the Dubbo common registry, so that the type of monitoring registry needs to be increased.
S2, adapting the Dubbo protocol on the data layer, and adding a Filter interface for processing the Dubbo protocol in the Envoy component;
in the Istio service grid, the data plane uses the Envoy component, from which all service traffic will complete service discovery and routing transit. Therefore, a Filter interface for processing the Dubbo protocol needs to be added to Envoy.
S3, the Dubbo framework and the Istio service grid interact.
Preferably, the monitoring registry type added in step S1 is Zookeeper.
Preferably, the Envoy component receives the Dubbo RPC request and dynamically creates a Fitler for processing, forwards the request to a corresponding Filter for processing, acquires the service to be accessed by the Dubbo RPC request in the Filter, extracts the service, forwards the request to other Filter interfaces, and performs subsequent traffic governance.
Preferably, step S3 specifically includes the following steps:
1) starting a system, namely starting a Pilot component for monitoring control layers of a registry Zookeeper and an Istio;
2) starting the Dubbo application, and registering the information of the Dubbo into a monitoring registration center Zookeeper;
3) and communication among the Dubbo components, calling the service of the A component by the B component, sending an RPC request by the B component, finding IP addresses of all instances of the service provider of the A component when the RPC request is sent by the Dubbo, and selecting one IP address as a destination address for access.
Preferably, the Pilot component of the Istio control plane listens to the information of the Dubbo service provider stored in the Zookeeper, and when the service changes, Pilot senses in time.
Preferably, after information of the Dubbo itself is registered in the Zookeeper, the Pilot component senses the change of data of the registration center, pulls a new service configuration, and issues the configuration to each data layer, namely, the Envoy component.
Preferably, the B component calls the a component service and accesses the a component service using the service name of the a component as the destination address.
Preferably, after the B component sends an RPC request, it is intercepted by Envoy at the data plane, which determines that the request is a request of the Dubbo protocol, and forwards the request to an Envoy filter. EnvoyFilter extracts the destination address of the request and forwards the request to the next processing Filter in the Filter chain. Before that, Pilot already acquires all instance IP addresses corresponding to the service by monitoring the registry Zookeeper, and issues the configuration to Envoy, so that Envoy can find all instance IP corresponding to the destination address at this time, and select an instance IP, and send the request.
Compared with the prior art, the method for integrating the Istio service grid by the Dubbo framework has the following outstanding beneficial effects:
the method for integrating the Istio service grid by the Dubbo framework can seamlessly deploy and use Dubbo-based business on the cloud, thereby reducing the service failure rate;
(II) services which use Dubbo RPC to communicate can be brought into the range of the Istio service grid, and flow governance is carried out on the services;
and thirdly, services communicated by using the Dubbo RPC can be monitored more conveniently, data statistics can be performed on communication results and communication efficiency among the services conveniently, and the method has good popularization and application values.
Drawings
FIG. 1 is a flow chart of configuration change when a Dubbo application is started in the method for integrating an Istio service grid by a Dubbo framework according to the present invention;
fig. 2 is a flowchart of communication between Dubbo applications in the method for integrating the isto service grid by the Dubbo framework of the present invention.
Detailed Description
The method for integrating the Istio service grid by the Dubbo framework of the present invention will be described in further detail with reference to the accompanying drawings and examples.
Examples
The method for integrating the Istio service grid by the Dubbo frame deeply combines the service discovery and remote calling functions of the Dubbo frame with the service governance function of the Istio service grid, and realizes service governance of the application using the Dubbo service.
The method for integrating the Istio service grid by the Dubbo framework comprises the following steps:
and S1, modifying the Istio Pilot component, increasing the type of the monitoring registration center, converting the acquired data into general configuration and issuing the general configuration to the data plane.
The registry stores the remote services registered by the service provider and notifies the service invoker of the service list managed by the registry, and the registry, the provider and the service invoker are all in long connection, so that the change condition of the services issued by the provider can be acquired, and the latest service list is pushed to the service invoker. The Pilot acts as a bridge between the control plane of the Istio to the Envoy of the data plane and monitors the service registration of the service registration center (e.g., Kubernets). Under the Kubernets environment, resource information such as service, endpoint, point, node and the like is monitored. Therefore, only the Pilot component is needed to monitor the registration center of the Dubbo, obtain the service data therein, and send the service change to the invoy of the data layer in time, so that the function of service discovery can be ensured to be available. The current Pilot monitoring registry is mainly kubernets, and does not monitor the functions of the Dubbo common registry, so that the type of monitoring registry needs to be increased. The added type of monitoring registry is Zookeeper.
S2, the data layer adapts to the Dubbo protocol, and a Filter interface for processing the Dubbo protocol is added in the Envoy component.
In the Istio service grid, the data plane uses the Envoy component, from which all service traffic will complete service discovery and routing transit. Therefore, a Filter interface for processing the Dubbo protocol needs to be added to Envoy. The Envoy component receives the Dubbo RPC request, dynamically creates a Fitler for processing, forwards the request to a corresponding Filter for processing, acquires the service to be accessed by the Dubbo RPC request in the Filter, extracts the service, forwards the request to other Filter interfaces, and performs subsequent flow control.
S3, the Dubbo framework and the Istio service grid interact.
The method specifically comprises the following steps:
1) the system starts, and firstly, a Pilot component for monitoring control layers of the registry Zookeeper and the Istio is started.
The Pilot component of the Istio control layer monitors the information of the Dubbo service provider stored in the Zookeeper, and when the service is changed, Pilot timely senses the change.
2) The Dubbo application starts up, and registers the information of the Dubbo itself in the monitoring registry Zookeeper as shown in fig. 1. The information registered in Zookeeper contains the name of this method (e.g., com. xxx. api. interface. yyy) and a list of the service Provider (Provider) IP addresses of this method, if there are three instances of an application.
After the information of the Dubbo itself is registered in the Zookeeper, the Pilot component senses the change of the data of the registry, and pulls the new service configuration, namely the name "com. After that, Pilot issues these configurations to each data plane, i.e. the Envoy component.
3) And communication among the Dubbo components, calling the service of the A component by the B component, sending an RPC request by the B component, finding IP addresses of all instances of the service provider of the A component when the RPC request is sent by the Dubbo, and selecting one IP address as a destination address for access.
As shown in fig. 2, if the B component wants to call the service of the a component (com.xxx.api.interface.yyy), the B component sends an RPC request, where, unlike the general request, when the Dubbo sends the RPC request, it finds the IP addresses of all instances of the a component's service provider and selects one IP address as the destination address for access. Here, this flow is changed, and when the a-component service is called, the IP address of the service provider in the a-component does not need to be acquired, but the service name "com.xxx.api.interface.yyy" of the a-component is used as the destination address to access. After the request is sent, the request is intercepted by the Envoy at the data plane, the Envoy judges that the request is the request of the Dubbo protocol, and then the request is forwarded to an Envoy filter. The Envoy filter extracts that the destination address of the request is com. Before that, Pilot already obtains all instance IP addresses corresponding to the com.xxx.api.interface.yyy service by monitoring the registry Zookeeper, and issues the configuration to Envoy, so that Envoy can find all instance IP corresponding to the com.xxx.api.interface.yy destination address at this time, and select an instance IP, and send the request.
The above-described embodiments are merely preferred embodiments of the present invention, and general changes and substitutions by those skilled in the art within the technical scope of the present invention are included in the protection scope of the present invention.
Claims (9)
1. A method for integrating an Istio service grid by a Dubbo framework is characterized in that: the method deeply combines the service discovery and remote calling functions of the Dubbo frame with the service governance function of the Istio service grid, and achieves service governance of the application using the Dubbo service.
2. The method of Dubbo framework integrated Istio service grid as claimed in claim 1, wherein: the method comprises the following steps:
s1, modifying an Istio Pilot component, increasing the type of a monitoring registration center, converting the acquired data into a general configuration and issuing the general configuration to a data plane;
s2, adapting the Dubbo protocol on the data layer, and adding a Filter interface for processing the Dubbo protocol in the Envoy component;
s3, the Dubbo framework and the Istio service grid interact.
3. The method of Dubbo framework integrated Istio service grid as claimed in claim 2, wherein: the type of the monitoring registry added in step S1 is Zookeeper.
4. The method of Dubbo framework integrated Istio service grid as claimed in claim 3, wherein: the Envoy component receives the Dubbo RPC request, dynamically creates a Fitler for processing, forwards the request to a corresponding Filter for processing, acquires the service to be accessed by the Dubbo RPC request in the Filter, extracts the service, forwards the request to other Filter interfaces, and performs subsequent flow control.
5. The method of Dubbo framework integrated Istio service grid as claimed in claim 4, wherein: step S3 specifically includes the following steps:
1) starting a system, namely starting a Pilot component for monitoring control layers of a registry Zookeeper and an Istio;
2) starting the Dubbo application, and registering the information of the Dubbo into a monitoring registration center Zookeeper;
3) and communication among the Dubbo components, calling the service of the A component by the B component, sending an RPC request by the B component, finding IP addresses of all instances of the service provider of the A component when the RPC request is sent by the Dubbo, and selecting one IP address as a destination address for access.
6. The method of Dubbo framework integrated Istio service grid as claimed in claim 5, wherein: the Pilot component of the Istio control layer monitors the information of the Dubbo service provider stored in the Zookeeper, and when the service is changed, Pilot timely senses the change.
7. The method of Dubbo framework integrated Istio service grid as claimed in claim 6, wherein: after information of the Dubbo is registered in the Zookeeper, the Pilot component senses the change of data of the registration center, pulls new service configuration, and issues the configuration to each data layer, namely the Envoy component.
8. The method of Dubbo framework integrated Istio service grid as claimed in claim 7, wherein: when the component B calls and calls the component A, the service name of the component A is used as a destination address to access.
9. The method of Dubbo framework integrated Istio service grid as claimed in claim 8, wherein: after the component B sends an RPC request, the RPC request is intercepted by the Envoy of the data layer, the Envoy judges that the request is the request of the Dubbo protocol, and the request is transferred to the Envoy filter. EnvoyFilter extracts the destination address of the request and forwards the request to the next processing Filter in the Filter chain.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031678.1A CN111209127A (en) | 2020-01-13 | 2020-01-13 | Method for integrating Istio service grid by Dubbo frame |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031678.1A CN111209127A (en) | 2020-01-13 | 2020-01-13 | Method for integrating Istio service grid by Dubbo frame |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209127A true CN111209127A (en) | 2020-05-29 |
Family
ID=70787945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010031678.1A Pending CN111209127A (en) | 2020-01-13 | 2020-01-13 | Method for integrating Istio service grid by Dubbo frame |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209127A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286705A (en) * | 2020-11-24 | 2021-01-29 | 四川长虹电器股份有限公司 | Kubernetes-based container web service interface aggregation system |
CN113098942A (en) * | 2021-03-25 | 2021-07-09 | 网易(杭州)网络有限公司 | Data processing method and device for distributed system |
CN113515458A (en) * | 2021-07-23 | 2021-10-19 | 浩鲸云计算科技股份有限公司 | Method and system for reducing resource consumption of test environment based on Envoy plug-in |
CN113746825A (en) * | 2021-08-28 | 2021-12-03 | 苏州浪潮智能科技有限公司 | Method, system, equipment and storage medium for identifying protocol type of service |
CN114237704A (en) * | 2021-11-15 | 2022-03-25 | 贵州大学 | Method for integrating spring-closed-alibaba nacos framework with istio |
CN114637549A (en) * | 2022-02-22 | 2022-06-17 | 阿里巴巴(中国)有限公司 | Data processing method, system and storage medium for service grid-based application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246251A (en) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | A kind of micro services call method, device, system, equipment and readable storage medium storing program for executing |
CN109587246A (en) * | 2018-12-06 | 2019-04-05 | 国云科技股份有限公司 | A kind of implementation method of the micro services frame of integrated multiple kinds independent assortment |
WO2019104975A1 (en) * | 2017-11-30 | 2019-06-06 | 平安科技(深圳)有限公司 | Dubbo framework–based remote invoking method, server, and storage medium |
-
2020
- 2020-01-13 CN CN202010031678.1A patent/CN111209127A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019104975A1 (en) * | 2017-11-30 | 2019-06-06 | 平安科技(深圳)有限公司 | Dubbo framework–based remote invoking method, server, and storage medium |
CN109246251A (en) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | A kind of micro services call method, device, system, equipment and readable storage medium storing program for executing |
CN109587246A (en) * | 2018-12-06 | 2019-04-05 | 国云科技股份有限公司 | A kind of implementation method of the micro services frame of integrated multiple kinds independent assortment |
Non-Patent Citations (1)
Title |
---|
阿里云云栖号: ""Dubbo 在 K8s 下的思考"", 《知乎,HTTPS://ZHUANLAN.ZHIHU.COM/P/88816865》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286705A (en) * | 2020-11-24 | 2021-01-29 | 四川长虹电器股份有限公司 | Kubernetes-based container web service interface aggregation system |
CN113098942A (en) * | 2021-03-25 | 2021-07-09 | 网易(杭州)网络有限公司 | Data processing method and device for distributed system |
CN113098942B (en) * | 2021-03-25 | 2022-07-12 | 网易(杭州)网络有限公司 | Data processing method and device for distributed system |
CN113515458A (en) * | 2021-07-23 | 2021-10-19 | 浩鲸云计算科技股份有限公司 | Method and system for reducing resource consumption of test environment based on Envoy plug-in |
CN113515458B (en) * | 2021-07-23 | 2024-04-16 | 浩鲸云计算科技股份有限公司 | Method and system for reducing test environment resource consumption based on Envoy plug-in |
CN113746825A (en) * | 2021-08-28 | 2021-12-03 | 苏州浪潮智能科技有限公司 | Method, system, equipment and storage medium for identifying protocol type of service |
CN113746825B (en) * | 2021-08-28 | 2023-02-21 | 苏州浪潮智能科技有限公司 | Method, system, equipment and storage medium for identifying protocol type of service |
CN114237704A (en) * | 2021-11-15 | 2022-03-25 | 贵州大学 | Method for integrating spring-closed-alibaba nacos framework with istio |
CN114237704B (en) * | 2021-11-15 | 2023-06-09 | 贵州大学 | Method for integrating Istio by spring-closed-alibaba sacos framework |
CN114637549A (en) * | 2022-02-22 | 2022-06-17 | 阿里巴巴(中国)有限公司 | Data processing method, system and storage medium for service grid-based application |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209127A (en) | Method for integrating Istio service grid by Dubbo frame | |
US11218420B2 (en) | Virtual network interface objects | |
WO2020147466A1 (en) | Method for invoking server and proxy server | |
US9614748B1 (en) | Multitenant data center providing virtual computing services | |
JP4822713B2 (en) | Method and apparatus for operating an open API network including a proxy | |
CN111935738B (en) | Method and system for multi-operator core network docking MEC | |
EP4075867A1 (en) | Application instance determination method, device, and system | |
US20040230965A1 (en) | Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server | |
CN113596110A (en) | Heterogeneous cloud-oriented cloud native micro-service platform | |
WO2022046222A1 (en) | Configuring service mesh networking resources for dynamically discovered peers or network functions | |
CN111010304A (en) | Method for integrating Dubbo service and Kubernetes system | |
WO2009062414A1 (en) | Integrate client and method of desktop application communicating with net web application | |
WO2021203126A1 (en) | Cloud-native proxy gateway to cloud resources | |
CN113826424B (en) | Entity for providing external services to a network | |
CN112104640B (en) | Data processing method, device and equipment of gateway and readable storage medium | |
CN111970362A (en) | Vehicle networking gateway clustering method and system based on LVS | |
US20220264419A1 (en) | Method and apparatus for user plane resource optimization | |
CN116633775A (en) | Container communication method and system of multi-container network interface | |
US10069715B2 (en) | Method for deploying resource in cloud computing environment | |
MXPA05003667A (en) | Method and apparatus for a service integration system. | |
WO2022089645A1 (en) | Communication method, apparatus, device, system, and computer readable storage medium | |
CN111147345B (en) | Cloud environment network isolation device and method and cloud system | |
CN108810037A (en) | The method and system of distributed type assemblies service | |
JP2005292954A (en) | Server device and control method thereof | |
CN116366670A (en) | Service synchronization device, service unified registration system and method for business center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |