CN111209127A - Method for integrating Istio service grid by Dubbo frame - Google Patents

Method for integrating Istio service grid by Dubbo frame Download PDF

Info

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
Application number
CN202010031678.1A
Other languages
Chinese (zh)
Inventor
陈正伟
王刚
高传集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010031678.1A priority Critical patent/CN111209127A/en
Publication of CN111209127A publication Critical patent/CN111209127A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event 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

Method for integrating Istio service grid by Dubbo frame
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.
CN202010031678.1A 2020-01-13 2020-01-13 Method for integrating Istio service grid by Dubbo frame Pending CN111209127A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
阿里云云栖号: ""Dubbo 在 K8s 下的思考"", 《知乎,HTTPS://ZHUANLAN.ZHIHU.COM/P/88816865》 *

Cited By (10)

* Cited by examiner, † Cited by third party
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