CN111818147A - System and method for realizing automatic load balancing of openstack swift service - Google Patents

System and method for realizing automatic load balancing of openstack swift service Download PDF

Info

Publication number
CN111818147A
CN111818147A CN202010619780.3A CN202010619780A CN111818147A CN 111818147 A CN111818147 A CN 111818147A CN 202010619780 A CN202010619780 A CN 202010619780A CN 111818147 A CN111818147 A CN 111818147A
Authority
CN
China
Prior art keywords
service
node
load balancing
authentication
storage service
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.)
Granted
Application number
CN202010619780.3A
Other languages
Chinese (zh)
Other versions
CN111818147B (en
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202010619780.3A priority Critical patent/CN111818147B/en
Publication of CN111818147A publication Critical patent/CN111818147A/en
Application granted granted Critical
Publication of CN111818147B publication Critical patent/CN111818147B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a system for realizing automatic load balancing of openstack swift service, which comprises a client, a service registration and authentication node, a load balancing plug-in module, an acquisition monitoring module, a storage service gateway proxy node and a storage node, wherein the client is connected with the client through a network; the load balancing plug-in module and the acquisition monitoring module form a control link, and the load balancing plug-in module is used for modifying and setting a terminal address of a distributed object storage service in the service registration and authentication node or a terminal address of a server object storage service in the service registration and authentication node according to a balancing rule and monitoring state information of the acquisition monitoring module; the acquisition monitoring module is used for monitoring the state of the proxy node server of the storage service gateway and feeding the monitored state information back to the load balancing plug-in module of the service registration and authentication node. The invention has the advantages that: the openstack swift service automatic load balancing is realized, the equipment utilization efficiency is improved, and the maintenance cost is greatly saved.

Description

System and method for realizing automatic load balancing of openstack swift service
Technical Field
The invention relates to the technical field of network communication, in particular to a system and a method for realizing automatic load balancing of openstack swift service.
Background
The Openstack swift provides distributed object storage service, and a service cluster consists of three types of nodes: service registration and authentication node, proxy node, storage node. The service registration and authentication node provides an access entrance of the object storage service and user authentication login, the proxy node is used as a service gateway responsible for the object storage service, and the storage node is responsible for data storage. The client obtains the endpoint of the swift service through the keystone, then establishes connection with the proxy, and uploads data to the storage node through the proxy or downloads data from the storage node to the client. And 2 proxy nodes are configured into a high-availability cluster to realize high availability of the service. This deployment architecture is only suitable for smaller scale application scenarios. For high-throughput scenarios with high-speed, proxy is obviously a bottleneck. Therefore, in a part of production environments, 1 hardware load balancer is deployed in front of a plurality of proxy nodes to meet the needs of a high-concurrency service scene, but the deployment scheme of the hardware load balancer is added in the prior art, but the hardware load balancer can only meet the needs of the high-concurrency service scene to a certain extent, the load balancer itself can become the bottleneck of the performance of the whole storage cluster, and the service capability of the whole storage cluster is not released fundamentally. Meanwhile, due to the addition of the devices, the construction cost and the maintenance cost of the whole storage cluster are increased. The storage service gateway proxy in the prior art cannot realize automatic load balancing, and neither a proxy HA scheme nor a hardware load balancer is added to solve the performance bottleneck problem of the storage gateway fundamentally and in a high cost performance manner.
Disclosure of Invention
Aiming at the problems of load balancing bottleneck and high maintenance cost in the prior art, the invention provides a system and a method for realizing automatic load balancing of openstack swift service.
The invention discloses a system for realizing automatic load balancing of openstack swift service, which comprises a client, a service registration and authentication node, a load balancing plug-in module, an acquisition monitoring module, a storage service gateway proxy node and a storage node, wherein the client is connected with the client through a network;
the client is a terminal used by a user for uploading and downloading data, and the client is used for establishing connection with a proxy node of the storage service gateway and uploading or downloading data;
the service registration and authentication node is a node for authentication login of a user, the user accesses the storage service and performs authentication login through the service registration and authentication node, and the service registration and authentication node is an access entry for accessing the storage service;
the load balancing plug-in module is arranged in the service registration and authentication node, the load balancing plug-in module and the acquisition monitoring module form a control link, and the load balancing plug-in module is used for modifying and setting a terminal address of a distributed object storage service in the service registration and authentication node or a terminal address of a server object storage service in the service registration and authentication node according to a balancing rule and monitoring state information of the acquisition monitoring module;
a link is established between the acquisition monitoring module and the storage service gateway proxy node, and the acquisition monitoring module is used for monitoring the state of a storage service gateway proxy node server and feeding the monitored state information back to a load balancing plug-in module of the service registration and authentication node;
the storage service gateway proxy node is a service gateway responsible for object storage service, and is used for establishing connection with a client and storing or downloading data between the storage service gateway proxy node and the storage node;
the storage nodes are used for storing data.
Further, the balancing rule is to modify the terminal address in the service registration and authentication node in a polling manner according to the IP address list of the proxy node server of the storage service gateway.
Further, the load balancing plug-in module modifies the terminal address of the distributed object storage service in the service registration and authentication node in a polling mode by using the storage service gateway proxy node server IP address list to realize load balancing.
Further, the balancing rule is to set the terminal address of the server object storage service in the service registration and authentication node according to the network bandwidth occupation condition of the storage service gateway proxy node server.
Further, the load balancing plug-in module sets the terminal address of the server object storage service in the service registration and authentication node according to the network bandwidth occupation condition of the storage service gateway proxy node server.
Furthermore, the load balancing plug-in module sets the weight and the sequence of each storage service gateway proxy node server in the proxy server IP address list according to the bandwidth network state of each storage service gateway proxy node server to realize load balancing.
Further, the collection monitoring module is arranged at the service registration and authentication node.
The other purpose of the invention is to provide a method for realizing automatic load balancing of openstack swift service, an authentication link is established between a client and service registration and authentication nodes, the client acquires a terminal address of distributed object storage service through the authentication link, the client establishes a transmission link with a proxy server of a designated storage service gateway proxy node according to the acquired terminal address, a load balancing link is established between the authentication nodes and each storage service gateway proxy node, the servers of each storage service gateway proxy node are balanced, processed, collected and monitored through the load balancing link, the service registration and authentication nodes modify and set the terminal address of the distributed object storage service inside the service registration and authentication nodes or the terminal address of the server object storage service in the service registration and authentication nodes according to the results of the balancing processing and the collected and monitored, the equalization process and acquisition monitoring process are implemented by a system as claimed in claim 1.
Further, the balancing process is configured to modify the terminal address in the service registration and authentication node in a polling manner according to the IP address list of the proxy node server of the storage service gateway.
Further, the balancing process is set to set the terminal address of the server object storage service in the service registration and authentication node according to the network bandwidth occupation condition of the storage service gateway proxy node server.
Compared with the prior art, the invention has the beneficial effects that:
according to the invention, by the scheme of setting the monitoring module and setting the load balancing plug-in the service registration and authentication node, the automatic load balancing of the openstack swift proxy is realized, the utilization efficiency of the equipment is improved, all the storage service gateway proxy node servers are in an effective working state, the overall construction cost and the maintenance cost are effectively reduced, no additional hardware equipment is required, and an HA solution is not introduced.
Drawings
FIG. 1 is a diagram of a system link relationship architecture in accordance with the present invention;
fig. 2 is a functional block diagram of the system of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
The invention is described in further detail below with reference to the attached drawing figures:
referring to fig. 1 and fig. 2, the present embodiment discloses a system for implementing automatic load balancing of openstack swift service, including a client, a service registration and authentication node, a load balancing plug-in module, an acquisition monitoring module, a storage service gateway proxy node, and a storage node.
The Keystone can be used as an authentication system of a service registration and authentication node, the endpoint is a terminal address, and the proxy gateway is a proxy node gateway. In the present embodiment, automatic load balancing of multiple storage gateways proxy is implemented without adding additional hardware devices, and high availability of services is ensured. The system adopts Keystone as an authentication system, a plurality of endpoints are added under the swift service, and one proxy gateway is one endpoint. Keystone certification, although supporting multiple-endpoint, multiple-endpoint cannot achieve load balancing. The end point-based load balancing function is achieved by adding a load balancing plug-in of Keystone, namely plugin in FIG. 1.
The process of load balancing is transparent for the client, that is, the client, i.e., the APP used by the user, acquires the Endpoint of the distributed object storage service through the link 1 in fig. 1, and then connects the designated swift proxy server according to the acquired Endpoint to upload and download data. The load balancing logic process is mainly completed by the cooperative work of the acquisition monitoring and the Keystone load balancing plug-in, two load balancing modes of polling and network states are supported, and the whole system can only work in one load balancing mode.
Polling load balancing, and modifying the Endpoint of the distributed object storage service in the Keystone by using a swift proxy server, namely an IP address list of a storage service gateway proxy node in a polling mode by using a Keystone load balancing plug-in, thereby realizing load balancing. And the acquisition monitoring module continuously monitors the states of all the swift proxy servers through a link a and feeds the state information back to the Keystone plug-in unit through a link b. When a certain swift proxy server is abnormal in service, the Keystone plug-in can remove the abnormal service from the proxy server IP address list so as to ensure the availability of the service.
And based on the load balancing of the network state, setting the endPoint of the server object storage service in the Keystone according to the network bandwidth occupation condition of each swift proxy server so as to achieve the purpose of load balancing. And the acquisition monitoring module continuously monitors the states of all the swift proxy servers through a link a and feeds the state information back to the Keystone load balancing plug-in unit through a link b. And the Keystone load balancing plug-in sets the weight and the sequence of each proxy server in the proxy server IP address list according to the bandwidth network state of each proxy server generation so as to achieve the purpose of load balancing.
Specifically, the client in this embodiment is an APP used by a user and is used for a terminal for uploading and downloading data, and the client is used for establishing a connection with a storage service gateway proxy node and uploading or downloading data; the service registration and authentication node is a node for a user to perform authentication login, the user accesses the storage service and performs authentication login through the service registration and authentication node, the service registration and authentication node is an access entry for accessing the storage service, and in the specific embodiment, the service registration and authentication node can be an authentication system; the load balancing plug-in module is arranged in the service registration and authentication node, the load balancing plug-in module and the acquisition monitoring module form a control link, and the load balancing plug-in module is used for modifying and setting a terminal address of a distributed object storage service in the service registration and authentication node or a terminal address of a server object storage service in the service registration and authentication node according to a balancing rule and monitoring state information of the acquisition monitoring module; a link is established between the acquisition monitoring module and the storage service gateway proxy node, and the acquisition monitoring module is used for monitoring the state of a storage service gateway proxy node server and feeding the monitored state information back to a load balancing plug-in module of the service registration and authentication node; the storage service gateway proxy node is a service gateway responsible for object storage service, and is used for establishing connection with a client and storing or downloading data between the storage service gateway proxy node and the storage node; the storage nodes are used for storage of data, and are specifically storage devices distributed at the respective nodes.
Preferably, the collection monitoring module is disposed at the service registration and authentication node, and may be disposed at other locations in other embodiments of the present invention.
According to the invention, the acquisition monitoring module is arranged to sense the swift proxy running state in real time, so that the load balance and effectiveness are ensured. By setting a keystone load balancing plug-in, the module enables the client to obtain an ideal service URL in an endpoint updating mode, so that a load function is realized. Through the keystone and the operation framework of the acquisition monitoring module, according to the actual operation load of a keystone node, the acquisition monitoring module can be deployed together with the keystone and can also be separately deployed, and the setting is convenient.
By the scheme of setting the monitoring module and setting the load balancing plug-in the service registration and authentication node, automatic load balancing of openstack swift proxy is realized, the utilization efficiency of equipment is improved, all the storage service gateway proxy node servers are in effective working states, the overall construction cost and the maintenance cost are effectively reduced, and an HA solution is not required to be added or introduced.
The above is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes will occur to those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A system for realizing automatic load balancing of openstack swift service is characterized by comprising a client, a service registration and authentication node, a load balancing plug-in module, an acquisition monitoring module, a storage service gateway proxy node and a storage node;
the client is a terminal used by a user for uploading and downloading data, and the client is used for establishing connection with a proxy node of the storage service gateway and uploading or downloading data;
the service registration and authentication node is a node for authentication login of a user, the user accesses the storage service and performs authentication login through the service registration and authentication node, and the service registration and authentication node is an access entry for accessing the storage service;
the load balancing plug-in module is arranged in the service registration and authentication node, the load balancing plug-in module and the acquisition monitoring module form a control link, and the load balancing plug-in module is used for modifying and setting a terminal address of a distributed object storage service in the service registration and authentication node or a terminal address of a server object storage service in the service registration and authentication node according to a balancing rule and monitoring state information of the acquisition monitoring module;
a link is established between the acquisition monitoring module and the storage service gateway proxy node, and the acquisition monitoring module is used for monitoring the state of a storage service gateway proxy node server and feeding the monitored state information back to a load balancing plug-in module of the service registration and authentication node;
the storage service gateway proxy node is a service gateway responsible for object storage service, and is used for establishing connection with a client and storing or downloading data between the storage service gateway proxy node and the storage node;
the storage nodes are used for storing data.
2. The system for implementing automatic load balancing of openstack swift service according to claim 1, wherein the balancing rule is to modify the terminal address in the service registration and authentication node in a polling manner according to the IP address list of the proxy node server of the storage service gateway.
3. The system for implementing automatic load balancing of openstack swift service as claimed in claim 2, wherein said load balancing plug-in module uses storage service gateway proxy node server IP address list to modify the terminal address of distributed object storage service in service registration and authentication node in polling manner to implement load balancing.
4. The system for implementing automatic load balancing of openstack swift service according to claim 1, wherein the balancing rule is to set a terminal address of a server object storage service in a service registration and authentication node according to a network bandwidth occupation condition of a storage service gateway proxy node server.
5. The system for realizing automatic load balancing of the openstack swift service according to claim 4, wherein the load balancing plug-in module sets the terminal address of the server object storage service in the service registration and authentication node according to the network bandwidth occupation condition of the storage service gateway proxy node server.
6. The system for realizing automatic load balancing of the openstack swift service according to claim 5, wherein the load balancing plugin module sets the weight and the sequence of each storage service gateway proxy server in the proxy server IP address list according to the bandwidth network state of each storage service gateway proxy server to realize load balancing.
7. The system for implementing openstack swift service automatic load balancing according to claim 1, wherein said collection monitoring module is disposed at a service registration and authentication node.
8. A method for realizing automatic load balancing of openstack swift service, it is characterized by that between client end and service register and authentication node an authentication link is set up, the client end can obtain terminal address of distributed object storage service by means of authentication link, and according to the obtained terminal address and proxy server of designated storage service gateway proxy node a transmission link is set up, and between authentication nodes and every storage service gateway proxy node a load balance link is set up, the method comprises the steps that the servers of all the storage service gateway proxy nodes are balanced, collected and monitored through a load balancing link, the service registration and authentication nodes modify and set the terminal addresses of distributed object storage services in the service registration and authentication nodes or the terminal addresses of the server object storage services in the service registration and authentication nodes according to the balancing, collecting and monitoring results, and the balancing, collecting and monitoring processes are achieved through the system in claim 1.
9. The method of claim 8, wherein the balancing process is configured to modify the terminal address in the service registration and authentication node in a polling manner according to the IP address list of the proxy node server of the storage service gateway.
10. The method for implementing automatic load balancing of openstack swift service according to claim 8, wherein the balancing process is configured to set the terminal address of the server object storage service in the service registration and authentication node according to the network bandwidth occupation of the storage service gateway proxy node server.
CN202010619780.3A 2020-06-30 2020-06-30 System and method for realizing automatic load balancing of openstack swift service Active CN111818147B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010619780.3A CN111818147B (en) 2020-06-30 2020-06-30 System and method for realizing automatic load balancing of openstack swift service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010619780.3A CN111818147B (en) 2020-06-30 2020-06-30 System and method for realizing automatic load balancing of openstack swift service

Publications (2)

Publication Number Publication Date
CN111818147A true CN111818147A (en) 2020-10-23
CN111818147B CN111818147B (en) 2022-09-02

Family

ID=72856802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010619780.3A Active CN111818147B (en) 2020-06-30 2020-06-30 System and method for realizing automatic load balancing of openstack swift service

Country Status (1)

Country Link
CN (1) CN111818147B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157441A (en) * 2021-03-24 2021-07-23 北京云上曲率科技有限公司 Distributed decentralized load balancing method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system
CN107341044A (en) * 2017-07-13 2017-11-10 郑州云海信息技术有限公司 A kind of distributive data center unified monitoring framework and method
US20180329634A1 (en) * 2017-05-10 2018-11-15 Strato Scale Ltd. Object overlay for storage-area network (san) appliances
CN109698847A (en) * 2017-10-23 2019-04-30 航天信息股份有限公司 A kind of read method and system of the cloud storage system equally loaded based on the request processing time
CN110324194A (en) * 2019-08-08 2019-10-11 中国工商银行股份有限公司 Method, apparatus, system and medium for load balancing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system
US20180329634A1 (en) * 2017-05-10 2018-11-15 Strato Scale Ltd. Object overlay for storage-area network (san) appliances
CN107341044A (en) * 2017-07-13 2017-11-10 郑州云海信息技术有限公司 A kind of distributive data center unified monitoring framework and method
CN109698847A (en) * 2017-10-23 2019-04-30 航天信息股份有限公司 A kind of read method and system of the cloud storage system equally loaded based on the request processing time
CN110324194A (en) * 2019-08-08 2019-10-11 中国工商银行股份有限公司 Method, apparatus, system and medium for load balancing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹宁等: "基于OpenStack架构的视频监控服务平台", 《电信技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157441A (en) * 2021-03-24 2021-07-23 北京云上曲率科技有限公司 Distributed decentralized load balancing method and system
CN113157441B (en) * 2021-03-24 2023-03-14 北京云上曲率科技有限公司 Distributed decentralized load balancing method and system

Also Published As

Publication number Publication date
CN111818147B (en) 2022-09-02

Similar Documents

Publication Publication Date Title
US11150963B2 (en) Remote smart NIC-based service acceleration
US11641339B2 (en) Technologies for content delivery network with multi-access edge computing
CN107852604B (en) System for providing Global Virtual Network (GVN)
Qi et al. Assessing container network interface plugins: Functionality, performance, and scalability
US10432535B2 (en) Performing a specific action on a network packet identified as a message queuing telemetry transport (MQTT) packet
CN106713084B (en) Multi-gateway system of Internet of things
CN109391661B (en) Block chain networking method and system for terminal of Internet of things
CN105119787B (en) A kind of public internet access system and method based on software definition
CN113572835B (en) Data processing method, network element equipment and readable storage medium
CN103209108A (en) Dynamic virtual private network (DVPN)-based route generation method and equipment
CN113225214A (en) Method and device for cooperative management of edge CDN node and computer readable medium
Hasan et al. Efficient topology discovery in software defined networks: Revisited
CN113810512A (en) Internet of things terminal access system, method and device and storage medium
EP4246936A1 (en) Data processing method, function device and readable storage medium
CN111585786A (en) Realization of secret-free building method of big data cluster
CN111182022A (en) Data transmission method and device, storage medium and electronic device
CN116633934A (en) Load balancing method, device, node and storage medium
CN111818147B (en) System and method for realizing automatic load balancing of openstack swift service
CN112968965B (en) Metadata service method, server and storage medium for NFV network node
CN110601989A (en) Network traffic balancing method and device
CN105681266A (en) Communication cluster method and device for MMTel (MultiMedia Telephony)
CN111880932A (en) Data storage method and device based on multiple network ports
CN116074160A (en) Virtual networking public network forwarding method for GPU rendering computing node cluster
Kjorveziroski et al. Evaluating IPv6 Support in Kubernetes
CN108055305B (en) Storage expansion method and storage expansion device

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
GR01 Patent grant
GR01 Patent grant