CN112615666B - Micro-service high-availability deployment method based on RabbitMQ and HAproxy - Google Patents

Micro-service high-availability deployment method based on RabbitMQ and HAproxy Download PDF

Info

Publication number
CN112615666B
CN112615666B CN202011512205.XA CN202011512205A CN112615666B CN 112615666 B CN112615666 B CN 112615666B CN 202011512205 A CN202011512205 A CN 202011512205A CN 112615666 B CN112615666 B CN 112615666B
Authority
CN
China
Prior art keywords
rabbitmq
haproxy
server
service
message
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.)
Active
Application number
CN202011512205.XA
Other languages
Chinese (zh)
Other versions
CN112615666A (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.)
Henan Fangda Space Information Technology Co ltd
Original Assignee
Henan Fangda Space 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 Henan Fangda Space Information Technology Co ltd filed Critical Henan Fangda Space Information Technology Co ltd
Priority to CN202011512205.XA priority Critical patent/CN112615666B/en
Publication of CN112615666A publication Critical patent/CN112615666A/en
Application granted granted Critical
Publication of CN112615666B publication Critical patent/CN112615666B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18519Operations control, administration or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/546Message passing systems or structures, e.g. queues
    • 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
    • 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/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/1034Reaction to server failures by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Abstract

The invention provides a micro-service high-availability deployment method based on RabbitMQ and HAproxy, which comprises the following steps: carrying a framework of a distributed micro-service system, taking an HAproxy module as a calling inlet and taking a RabbitMQ cluster as a message queue; message persistence and message confirmation mechanisms are arranged in the RabbitMQ nodes, and a RabbitMQ cluster is configured, so that communication messages can be reliably transmitted; defining a state machine Saga instance, defining a corresponding state machine through a fluent grammar, and registering the state machine Saga instance on a receiveEndpoint to realize the configuration of the final consistency of communication message data; and (4) setting KeepAlived in the HAproxy module, and continuously detecting faults on the nodes of the two HAproxy servers. The invention can rapidly switch the standby HAproxy server, minimize the system outage time, improve the reliability of the micro-service system and greatly reduce the fault loss; and multi-system cooperative operation can be realized, flexible deployment and expansion performance improvement can be realized.

Description

Micro-service high-availability deployment method based on RabbitMQ and HAproxy
Technical Field
The invention relates to the technical field of service communication, in particular to a micro-service high-availability deployment method based on RabbitMQ and HAproxy.
Background
The remote sensing satellite data receiving system mainly has the tasks of searching and tracking satellites, and receiving and recording satellite remote sensing data, remote sensing data and satellite attitude data. The remote sensing satellite data receiving system is functionally divided into an antenna feeding subsystem, a transmitting subsystem, a receiving channel subsystem, a multifunctional digital baseband subsystem, a modem subsystem, a monitoring subsystem and the like.
A software system of the traditional remote sensing satellite data receiving system adopts a centralized architecture, the deployment structure is simple, all service units of the whole system are deployed on a single node in a centralized mode, and all functions are processed in a centralized mode. The method can adapt to the characteristics of independent deployment, single function and small user quantity of the traditional remote sensing ground station to a certain extent, but also brings code coupling, is difficult to develop and maintain, cannot carry out targeted optimization on different modules, and has the problems of poor expansibility, low single-point fault tolerance rate and the like.
With the rapid development of the remote sensing field, a remote sensing satellite data receiving system is required to have a more flexible deployment mode, more and more complex functional services and higher availability and reliability. The traditional remote sensing satellite data receiving system can not meet the increasing remote sensing satellite data receiving requirement, and has the following defects:
(1) the existing remote sensing satellite data receiving system generally adopts a single client/server system architecture, the redundant backup design of equipment and software is simple, single-point failure is easy to occur, the failure recovery process is complex, the long-time stable operation performance is poor, and the system reliability and maintainability are low.
(2) The traditional remote sensing satellite data receiving system adopts centralized deployment, cannot adapt to the expansion of the current data receiving service function and the deployment modes of multi-station multiple access and multi-station coordination, and has limited expansibility and flexibility.
Disclosure of Invention
Aiming at the technical problems of low reliability and maintainability and limited expansibility and flexibility of the existing remote sensing satellite data receiving system, the invention provides a micro-service high-availability deployment method based on RabbitMQ and HAproxy, which meets the characteristics of single-point control, allopatric deployment and long-time stable work of the remote sensing satellite data receiving system.
In order to achieve the purpose, the technical scheme of the invention is realized as follows: a micro-service high-availability deployment method based on RabbitMQ and HAproxy comprises the following steps:
the method comprises the following steps: carrying a framework of a distributed micro-service system, taking an HAproxy module as a system calling inlet, and taking a RabbitMQ cluster as a message queue;
step two: a micro service node in the micro service system is connected with a RabbitMQ node in a RabbitMQ cluster through a MassTransit, a message persistence and message confirmation mechanism is arranged in the RabbitMQ node, and the RabbitMQ cluster is configured to ensure that communication messages are reliably transmitted;
step three: an Automation state machine component provided in MassTransit defines a state machine Saga instance, defines a corresponding state machine through fluent syntax, and registers the state machine Saga instance to a ReceiveEndpoint to realize the configuration of the final consistency of communication message data;
step four: and (4) KeepAlived is set in the HAProxy module, fault detection is continuously carried out on the nodes of the two HAProxy servers, and the RabbitMQ cluster can be normally accessed.
The micro-service system comprises an HAproxy module, a RabbitMQ cluster and a micro-service node, wherein the HAproxy module is connected with an access switch, the access switch is connected with an access router, and the access router is connected with a client of the monitoring system through a network; the access switch is connected with a core switch, and the core switch is respectively connected with the Mysql cluster, the RabbitMQ cluster and the micro-service node.
The load balance of the MySQL database of the MySQL cluster and the RabbitMQ cluster is controlled by an HAproxy module, and the micro-service node accesses the MySQL cluster and the RabbitMQ cluster through the HAproxy module; the monitoring system comprises a plurality of servers, wherein the servers of the monitoring system comprise a plurality of micro-service nodes, the system can be configured and connected with the plurality of servers, and a program written on the monitoring system dynamically monitors the connection states of all the online servers and dynamically configures the main and standby relations among the servers.
The RabbitMQ cluster is provided with a plurality of RabbitMQ nodes, the RabbitMQ nodes are connected with a MassTransit message bus of the micro-service node through an RPC calling unit, the MassTransit is a message bus mechanism constructed on a message queue, and the RabbitMQ nodes can be integrated to realize the functions of message subscription, release and processing; a series of micro service nodes are integrated into a server side, and service logic processing and service required by a satellite data receiving system are provided for a client side; a plurality of distributed Mysql databases are arranged in the Mysql cluster, and a virtual single database logical image is formed through the clustering technology; the server is connected with the Mysql cluster through an HAproxy module; the client is connected to an HAproxy server of the HAproxy module through a network, the HAproxy server connects the client to a RabbitMQ node of a corresponding RabbitMQ cluster according to load balancing configuration, and a message middleware of the RabbitMQ node completes information interaction between the client and a micro service node and completes message publishing and message processing.
The HAproxy module can be configured with a plurality of RabbitMQ nodes, and the actually connected RabbitMQ nodes are calculated and determined through a load balancing algorithm in the HAproxy server; the HAproxy module comprises an HAproxy server I and an HAproxy server II, and connection state detection, connection control and active-standby switching of the HAproxy server I and the HAproxy server II are completed through KeepAlived.
The information interaction between the client and the monitoring system server is realized by accessing an HAproxy module, selecting a proper RabbitMQ node by the HAproxy module and transmitting the proper RabbitMQ node to the server, configuring system working parameters by the server or scheduling the system to execute related processes, and updating and feeding back the system state to the client; if the service end needs to feed back to the client end when executing service logic processing, the information needing to feed back is packaged into a piece of RabbitMQ message, and then the RabbitMQ node is selected through the HAproxy server to release the message; the client is also connected with the RabbitMQ node through the HAproxy server, the client subscribes messages of the RabbitMQ as required, the server issues the messages, and the client receives and processes the messages to complete information interaction between the client and the server;
the RabbtiMQ cluster configuration method comprises the following steps: assuming that both nodes have started a RabbitMQ; adding a RabbitMQServer-A server and a RabbitMQServer-B server into a cluster, and operating on the RabbitMQServer-A server; restarting RabbitMQServer-A server on RabbitMMQ service; the following commands are input on the RabbitMQ instruction terminal: stopping RabbitmQctl stop _ app from RabbitMQServer-A server; inputting a command on a RabbitMQ instruction terminal: the rabbitmqctl reset resets the rabbitMQ service on the rabbitMQServer-A server; the following commands are input on the RabbitMQ instruction terminal: adding the RabbitmQctl joint _ cluster-ram rabbitit @ RabbitMQServer-B cluster into the RabbitMQServer-B cluster; inputting a command on a RabbitMQ instruction terminal: starting a rabbitmQctl start _ app, and starting a rabbitMQ on a rabbitMQServer-A server; inputting a command on a RabbitMQ instruction terminal: and checking the cluster state at any node by using the rabbitmqctl cluster _ status.
The micro-service system is based on an API gateway, the API gateway is an intermediate layer and serves as a service inlet of the whole system, and the intermediate layer also serves as an edge service to disclose the whole system as a hosted API gateway to an external user; the MassTransit uses the service of a RabbitMQ node as an infrastructure of service communication, the RabbitMQ node consists of a switch, a queue and a binding, and the switch is used for receiving messages sent by a producer and routing the messages to the queue in the server; the queue is used for storing the messages until the messages are sent to the consumers, the messages are always in the queue, and the consumers are waited to be connected to the queue to take the messages away; the binding associates the switch and the queue according to the routing key rule, and determines the message sending direction.
The method for transmitting the communication message comprises the following steps:
a) switches, queues and messages of the RabbitMQ node are set to be persistent, so that related communication messages can be kept from being lost, and the problem of message loss caused by abnormal breakdown of a message middleware server is mainly solved;
b) setting a message confirmation mechanism to ensure that a producer of the message knows that the message has correctly arrived at a destination; while ensuring that the consumer of the message has sufficient time to process the message;
configuring a message middleware of a RabbitMQ node through an API (application programming interface) provided by a MassTransit framework to realize message persistence and confirmation, wherein specific codes are as follows:
message acknowledgement mechanism: publisherconfigration = true;
message persistence: durable = true; wherein h represents a RabbitMQ service entity; publishConfirmation means that the communication mechanism is set to the acknowledgement mechanism, cfg means the message entity, Durable means the message persistence, true means "true";
c) configuring the RabbitMQ cluster ensures that the system failure cannot be caused by the failure of any RabbitMQ node.
The state machine Saga instance serially connects messages through a corrlationId field of a Guid type to maintain the state of the messages, meanwhile, the MassTransit integrates NHibernate, EF, MongDB and Redis to complete the persistence work of the state machine Saga instance; NHibarnate is a mapping tool of an object and a relational database, and EF is ORM (object relational mapping framework); the MongDB is a database based on distributed file storage; redis is a high performance key-value database;
the method for defining the Saga instance of the state machine is: public Guid CorrelationId (get, set), the corresponding state machine instance is defined as: 1) initializing events and states; 2) defining the relation between the state and the event; 3) defining a state; 4) defining an event; and finally, registering the state machine instance to the receiveEndpoint by using a LoadStatemMechine-sag () method of an IRabbitMqBusFactoryConconfigurator type defined by MassTransit to complete the configuration of the final consistency of the communication message data.
The configuration method of the HAproxy server I and the HAproxy server II comprises the following steps:
haproxy configuration: cfg file is opened, and haproxy is configured;
configuring global parameters: cfg "write in" haproxy.
global
nbproc 1
daemon;
Configuring default parameters: writing default parameters under the global parameters;
configuring MySQL: using the created Haproxy to detect a user 'Haproxy _ root' and a MySQL state, and writing configuration parameters under default parameters;
configuring RabbitMq: writing a RabbitMq configuration parameter under the default parameter;
monitoring the configuration state: writing monitoring configuration state parameters;
opening a monitoring interface according to the set port and the user name and password, and monitoring the states of the MySQL database and the RabbitMq node;
the KeepAlived configurations are all in keepalived.conf configuration files; the method for KeepAlived configuration comprises the following steps: configuring keepalived global parameters; making a monitoring HAPproxy progress script; configuring and monitoring HAPproxy parameters; configuring relevant parameters of a main HAPProxy server; and configuring relevant parameters of the backup HAPproxy server.
Compared with the prior art, the invention has the beneficial effects.
(1) Reliability enhancement
The HAproxy module rapidly switches a standby HAproxy server through an HAproxy load balancing clustering technology when a satellite data receiving system fails, can still continue to work when the failure occurs, minimizes the system outage Time, greatly improves indexes of Mean Time Between Failures (MTBF) and mean repair interval (MTTR) of the system, improves the reliability of the micro-service system, and greatly reduces the failure loss.
(2) Flexible deployment and extended performance boosting
By adopting a distributed architecture, the system can rapidly realize expansion and multi-point deployment with lower cost, simultaneously deploy a plurality of service terminals and a plurality of client terminals, and realize flexible hot switching between the main and standby terminals. Aiming at the distributed station arrangement requirement, software can be quickly set up, and multi-system cooperative operation is realized.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic diagram of a microservice system of the present invention.
Fig. 2 is a schematic diagram of the RabbitMQ basic concept.
Fig. 3 is a configuration flow method of a RabbitMQ cluster of the present invention.
FIG. 4 is a flowchart illustrating the state machine definition according to the present invention.
Fig. 5 is a flow chart of the HAProxy server configuration of the present invention.
FIG. 6 is the code for the Haproxy server configuration of the present invention.
Fig. 7 is a flow chart of KeepAlived configuration of the present invention.
Detailed Description
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 only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without inventive effort based on the embodiments of the present invention, are within the scope of the present invention.
A micro-service high-availability deployment method based on RabbitMQ and HAproxy comprises the following steps:
the method comprises the following steps: the architecture for carrying the distributed micro-service system takes an HAproxy module as a system call inlet and a RabbitMQ cluster as a message queue.
As shown in fig. 1, the micro-service system includes an HAProxy module, a RabbitMQ cluster and a micro-service node, the HAProxy module is connected to an access switch, the access switch is connected to an access router, and the access router is connected to a client of the monitoring subsystem through a network; the access switch is connected with a core switch, and the core switch is respectively connected with the Mysql cluster, the RabbitMQ cluster and the micro-service node. The access switch and the access router are used for constructing complete network connection and connecting a client, a server (micro service node), an HAproxy server, a Mysql database, a RabbitMQ node and the like. The load balance of the database of the MySQL cluster and the RabbitMQ cluster is controlled through an HAproxy module, and the micro-service node accesses the MySQL cluster and the RabbitMQ cluster through the HAproxy module.
The monitoring system server of the satellite data receiving system comprises a plurality of micro service nodes, a plurality of monitoring system servers can be connected to the core switch, and the main and standby relationship of the monitoring system servers is controlled by a program. The connection states of all online service ends are dynamically monitored through a program of the monitoring system, and the main and standby relations among the service ends are dynamically configured. When the main service end can not access, the program control switches the standby service end to the main service end. And configuring a plurality of RabbitMQ nodes in the RabbitMQ cluster.
The user of the system can be external software or a monitoring system client of the satellite data receiving system, and a plurality of monitoring system clients/external software can be simultaneously connected to the access router to access the monitoring system server. If the server side is configured with the main-standby relation, a plurality of client sides access one main-standby server side, and other server sides are used as standby. When the main service end is down, the switching is controlled by a program, and one standby service end is switched to be the main service end for the client to access.
The HAproxy server is a system access entrance, the client is connected to the HAproxy server through a network, the HAproxy server connects the client to the RabbitMQ node of the corresponding RabbitMQ cluster according to the load balancing configuration of the HAproxy server, and the message middleware of the RabbitMQ node completes the information interaction between the client and the service end (micro service node) and completes the message issuing and message consumption processing. For example, the server issues a message through the rabbitMQ node, and the client subscribes the message through the rabbitMQ node and completes the processing of the message; or the client side publishes the message through the RabbitMQ node, and the server side subscribes the message through the RabbitMQ node and completes the processing of the message. The server side refers to a server side of a satellite data receiving system/monitoring system, can be integrated by a series of micro service nodes, and provides service logic processing and service required by the satellite data receiving system for the client side.
The Mysql cluster is used for arranging a plurality of distributed Mysql databases to provide redundancy and backup functions of the databases, and a virtual single database logical mapping is formed through the clustering technology, but for a server connected to the virtual single database logical mapping, the Mysql cluster is just connected to one Mysql database. The server is connected with the Mysql cluster through the HAproxy module. Suppose that two Mysql databases, namely a database A and a database B, are distributed on two computers, the data of the two databases are mutually backed up, the data of the database A is updated, and the corresponding data update is synchronized to the database B. In the HAProxy server, two databases are configured, and a unified virtual database connection address is set, when the server accesses the database by connecting with the HAProxy server, the database a or the database B can be actually accessed, but for the server, the server does not need to care about the point. If database A is not available, the HAproxy server switches database B for the server to access.
The HAproxy module comprises an HAproxy server I and an HAproxy server II, and the HAproxy server I and the HAproxy server II realize connection state detection and switching through KeepAlived. The RabbitMQ cluster is composed of at least one RabbitMQ node, the RabbitMQ node is connected with a MassTransit message bus of the micro-service node through an RPC calling unit, the MassTransit is a message bus mechanism constructed on a message queue, and the RabbitMQ node can be integrated to realize the functions of message subscription/publishing/processing and the like. The invention uses MassTransit bus to call RabbitMQ node through RPC mechanism to realize the specific functions of sending/receiving message. The Nhibernate in the microservice node is an object/relational database mapping tool. Log4Net is employed to provide convenient Log information output. The Autofac is an IoC-dependent injection container.
The client and the server interact information through accessing an HAproxy module, the HAproxy module selects a proper RabbitMQ node and transmits the node to the server, the server configures system working parameters or schedules the system to execute related processes, and the system state is updated and fed back to the client. The HAproxy module configures a plurality of RabbitMQ nodes, and the selection of which RabbitMQ node is used is determined by calculation of a load balancing algorithm in the HAproxy server. On the HAproxy server, a RabbitMQ node is virtualized, for a service end, the virtual RabbitMQ node set by the HAproxy server is directly connected, and the actual RabbitMQ node is connected and selected through the HAproxy server. The process of configuring the working parameters of the system or scheduling the system to execute the relevant processes is a service function possessed by the server, for example, the process of configuring the device parameters of the tracking satellite and scheduling the tracking satellite. The server also has service functions of updating the system state and the like, for example, the server executes the first step in the process of tracking the satellite, the corresponding state is reported to the client, and the client interface can display the progress state of the process execution. The specific implementation process is as follows: when the service end executes service logic processing, the information needing to be fed back to the client end is encapsulated into a piece of RabbitMQ message, and then the message is issued through the RabbitMQ node selected by the HAproxy server; the client is also connected with the RabbitMQ node through the HAproxy server, the client can subscribe the messages of the RabbitMQ as required, the server issues the messages, and the client can receive and process the corresponding messages to complete the information interaction between the client and the server.
Multiple servers can be connected to the core switch, and their main-standby relationship is controlled by program. And the server accesses the MySQL database and the RabbitMQ node through the HAproxy server. And a plurality of clients can be connected to the access router, connected to the HAproxy server and further connected to the RabbitMQ node, and perform information interaction with the main monitoring system server through the RabbitMQ node.
The invention adopts integrated HAProxy, KeepAlived, MassTransit and RabbitMQ middleware to build the architecture of the micro-service system, and can well support the operation of the software application of the micro-service system developed under the net framework. The microservice system is essentially a collection of services, each implementing a single lightweight business function, and each loosely coupled, and ideally independently developed, tested, published, deployed, extended, integrated, and maintained. For the microservice architecture to be truly successful, the problem between cross-service/systems needs to be solved, such as:
(1) service registration and discovery: enabling a mechanism for searching for service and searching for a service endpoint;
(2) high availability: the opportunity for the service to automatically take corrective action during the fault;
(3) service communication: providing reliable messaging between services.
Step two: the micro service node in the micro service system is connected with the RabbitMQ node in the RabbitMQ cluster through the MassTransit, a message persistence and message confirmation mechanism is arranged in the RabbitMQ node, and the RabbitMQ cluster is configured, so that communication messages can be reliably transmitted.
The micro-service system of the invention designs a micro-service system based on the API gateway style, and the API gateway is an intermediate layer which is used as a service entrance of the whole system and can also be used as an edge service to disclose the whole system as a hosted API gateway to an external user. The service entrance refers to the architecture consisting of an HAproxy server, a RabbitMQ node and the like. The client and/or other software are connected through the network, and the server and the microservice node can be accessed by adopting corresponding software interfaces. The micro service node has the functions of service registration and discovery, load balancing, high availability, final data consistency and the like. The invention realizes high availability, load balance and fault migration based on micro-service access by using the mutual combination of HAProxy and KeepAlived, and completes the reliable transmission of service communication, service registration and discovery and the final consistency of data of the whole system through MassTransit and RabbitMQ clusters.
The microservice system is essentially a distributed software system, and communication between service nodes or with external users needs to consider the problems of reliable transmission of communication messages, final consistency of data of the communication messages and the like. In response to these problems, the present invention employs a MassTransit framework to accomplish communication between microservices. MassTransit is a free, open source, lightweight message bus for creating distributed applications using a net framework. MassTransit provides a broad set of functionality over existing message transport, enabling developers to comfortably use message-based conversational mode asynchronous connection services.
MassTransit defaults to using RabbitMQ services as the infrastructure for service communication, RabbitMQ being an open-source message broker and queue server, sharing data between disparate applications through AMQP protocol, or simply queuing the roles for processing by a staging server. The RabbitMQ consists of a switch (Exchange), a Queue (Queue) and a Binding (Binding), and the switch is used for receiving the messages sent by the producer and routing the messages to the Queue in the server as shown in FIG. 2; the queue is used for storing the messages until the messages are sent to the consumer, is a container of the messages, is always in the queue, and waits for the consumer to be connected to the queue to take the messages away; the binding associates the switch and the queue according to the routing key rule, and determines the message sending direction. In FIG. 2, publish is a message producer, and is also a client application that issues messages to the switch; the Broker is a message queue server entity which is used as a carrier of RabbitMQ service; the Connection is a Connection relation and is used for the application program to perform associated Connection with the message queue server entity; the Channel is a message Channel, each message Channel represents a call-back task, and all operations can be carried out in the message Channel; consumer is a message Consumer that identifies the client application that retrieves a message from a message queue.
Communication messages are unreliable to be transmitted in a distributed system, and the communication messages are lost due to the fact that the communication message agent nodes or the communication message consumption nodes are abnormal and links are abnormal. To ensure reliable delivery of messages, the following method may be used:
a) switches, queues and messages of the RabbitMQ node are set to be persistent, so that related communication messages can be kept from being lost, and the problem of message loss caused by abnormal breakdown of a message middleware server is mainly solved;
b) setting a message confirmation mechanism to ensure that a generator of the message knows that the message has correctly arrived at a destination; meanwhile, the message consumers are guaranteed to have enough time to process the messages, the problem that the messages are lost after the consumer processes for processing the messages hang up in the message processing process is solved, and the RabbitMQ nodes can wait and hold the messages until the message consumers confirm the messages. The producer of the message refers to the program entity that produced the message; a consumer of a message refers to a program entity that receives and uses the message.
Through an API (application programming interface) provided by a MassTransit framework, RabbitMQ message middleware can be configured to realize message persistence and confirmation, and specific codes are as follows: and a message confirmation mechanism: publisherconfigration = true;
message persistence: durable = true. Wherein h represents a RabbitMQ service entity; PublisherConfirmation indicates that the communication mechanism is set to the acknowledgement mechanism, cfg indicates the message entity, Durable indicates the message persistence, and true indicates set to "true".
c) By configuring the RabbitMQ cluster, the condition that system failure is caused by the failure of any RabbitMQ node is ensured. The RabbitMQ cluster configuration method, as shown in fig. 3, assumes that both nodes have started RabbitMQ; adding RabbitMQServer-A and RabbitMQServer-B into a cluster, and operating on the RabbitMQServer-A; restarting RabbitMQServer-A RabbitMQ service; the following commands are input on the RabbitMQ instruction terminal: stopping the RabbitmQctl MQ on the RabbitMQServer-A; the following commands are input on the RabbitMQ instruction terminal: rabbitmqctl reset, resetting the RabbitMQ on the RabbitMQServer-a; the following commands are input on the RabbitMQ instruction terminal: adding a RabbitmQctl joint _ cluster-ram rabbitit @ RabbitMQServer-B cluster into the RabbitmQServer-B cluster; the following commands are input on the RabbitMQ instruction terminal: starting _ app, starting a RabbitMQServer-A on RabbitMQServer-A; the following commands are input on the RabbitMQ instruction terminal: and (5) checking the cluster state at any node by using the rabbitmqctl cluster _ status.
Step three: and the Automatonomouss state machine component provided in the MassTransit defines a state machine Saga instance, defines a corresponding state machine through a fluent grammar, and registers the state machine Saga instance on a Receiveendpoint to realize the configuration of the final consistency of the communication message data.
The final consistency of the data of the distributed system is that all requests for acquiring the data finally return the last updated value before the data object has no new update. Under the architecture of a distributed environment microservice system, different microservices have own data sources, and data inconsistency can be caused if one stage of task fails in multi-stage transaction execution, so that the data consistency of business transaction in the execution of transactional transactions among multiple services and the availability of obtaining consistent data from multiple services need to be ensured.
The framework of the micro service system can ensure the data consistency of the distributed system through the Saga component provided by MassTransit. The Saga component was first proposed in 1987 by Hector Garcia-Molina and Kenneth Salem as a replacement for distributed transactions to solve the problem of long running distributed transactions.
The Automatonyms State machine component definition State machine Saga instances are provided in MassTransit and the corresponding State machines are defined by the fluent syntax. In the Saga example of the state machine, messages are connected in series through a corrlationId field of a Guid type to maintain the state of the messages, and meanwhile, the MassTransit can also integrate NHiberate, EF, MongDB and Redis to complete the persistence work of the Saga example of the state machine. NHibarnate is an object/relational database mapping tool, EF is ORM, and an object relational mapping framework (data persistence framework); MongDB is a database based on distributed file storage; redis is a high performance key-value database. The realized system does not adopt EF: the ORM/MongDB/Redis frameworks or databases mentioned here are used for explaining that the system can integrate the frameworks or databases in the future, and have huge expandability.
The method for defining the Saga instance of the state machine is: public Guid CorrelationId (get, set), which corresponds to the state machine instance definition-see fig. 4, 1) initialization of events and states; 2) defining the relation between the state and the event; 3) defining a state; 4) an event is defined. And finally, registering the state machine instance to a receiveEndpoint by an IrabbitMqBusFactoryConconfigurator LoadStatemEmachine-sag () method defined by MassTransit, and finishing the configuration of the final consistency of the communication message data.
The instances of the micro-services in the micro-service environment may change dynamically according to the operating environment and the service requirements, and it becomes relatively more complicated to implement service registration and discovery. The invention adopts RabbitMQ as a communication mechanism, so that the service caller (the monitoring system server) and the micro-service instance are completely decoupled, and the service caller does not need to know the existence of the micro-service instance and vice versa. As long as the service caller can send the service call message to the RabbitMQ node, the RabbitMQ node can forward the service call message to an instance of the available microservice, all of which is completely transparent to the service caller.
Step four: and the HAProxy module is internally provided with a KeepAlived, and fault detection is continuously performed on nodes of the two HAProxy servers, so that the RabbitMQ cluster can be normally accessed.
The invention adopts the micro-service system architecture to disperse the service logic into each micro-service, and the micro-services communicate with each other through the network layer. Network communication introduces additional delay and complexity, requiring multiple physical and logical components to cooperate, which may all fail.
In order to minimize the influence caused by local faults, the invention adopts HAproxy and KeepAlived to realize high-availability access of the whole micro-service framework. The HAProxy server is a piece of proxy open source software developed by WillyTarreau that provides high availability, load balancing, and TCP (layer four) and HTTP (layer seven) based applications. The HAproxy server supports functions of a virtual host, a fully transparent proxy, connection rejection and the like, can be simply and safely integrated into the architecture of the existing system, and supports various load balancing algorithms such as a node polling algorithm, node weight polling, a minimum user algorithm, a source IP address algorithm, a URI selection algorithm and the like.
The KeepAlived is a service high availability scheme realized based on a virtual Router Redundancy protocol (vrrp) (virtual Router Redundancy protocol), can realize source software required by multi-machine hot standby, and can simply realize a high availability function of multi-machine hot standby by using a floating IP function provided by the KeepAlived.
As shown in fig. 1, HAProxy server I and HAProxy server II provide access to RabbitMQ cluster, and by setting KeepAlived, fault detection is continuously performed on nodes of HAProxy server I and HAProxy server II to ensure that RabbitMQ cluster can be normally accessed. After the switch is accessed, an HAproxy server I and an HAproxy server II are configured to realize load balancing of the RabbitMQ cluster, and when the access amount of a user sharply increases, the problem that a single server in the RabbitMQ cluster becomes an access bottleneck can be effectively solved. Keep alive constantly detects HAproxy server I and HAproxy server II's state, if HAproxy server I crashes or then work breaks down, accomplishes the fault migration automatically and provides access service for the user by HAproxy server II, and HAproxy server I recovers for use, and keep alive adds it in detecting the cluster automatically, does not need artificial intervention, guarantees the high availability of whole system. As shown in fig. 6, the hamoxy server is configured with the main code.
As shown in fig. 5, the configuration method of the HAProxy server I and the HAProxy server II is as follows:
haproxy configuration: cfg file is opened and haproxy is configured.
Configuring global parameters: cfg "file write the following:
global
nbproc 1
daemon;
configuring default parameters:
the default parameters are written below the global parameters as follows:
defaults
mode tcp
retries 3
option abortonclose
maxconn 2000
timeout http-keep-alive 10s
timeout check 3s
log 127.0.0.1 local0 err
configuring MySQL: using the created Haproxy to detect the user 'Haproxy _ root' and the MySQL state, and writing the following configuration parameters under the default parameters, wherein the contents are as follows:
listen mysql
bind *:7777
mode tcp
balance leastconn
timeout client 8h
timeout server 8h
timeout connect 80000ms
option tcpka
option clitcpka
option mysql-check user haproxy_root
option redispatch
server Server-B localhost:3306 check inter 500 fastinter 300 rise 2 fall 2
server Server-A 192.168.128.10:3306 check inter 500 fastinter 300 rise 2 fall 2
configuring RabbitMq: RabbitMq configuration parameters are written below the default parameters as follows:
listen rabbitMq
bind *:9999
mode tcp
balance roundrobin
timeout connect 5s
timeout client 3h
imeout server 3h
server Server-A 192.168.128.10:5672 check inter 1s fastinter 500 rise 2 fall 2
server Server-B 192.168.128.11:5672 check inter 1s fastinter 500 rise 2 fall 2
listen rabbitMqCtrl
bind *:9998
timeout connect 5s
timeout client 5s
timeout server 5s
option redispatch
option httpchk
option forwardfor
mode http
balance leastconn
server Server-A 192.168.128.10:15672 check inter 2s rise 2 fall 3
server Server-B 192.168.128.11:15672 check inter 2s rise 2 fall 3 backup
monitoring the configuration state: and finally, writing in monitoring configuration state parameters, wherein the contents are as follows:
listen status
bind 0.0.0.0:8888
mode http
timeout connect 5s
timeout client 5s
timeout server 5s
stats refresh 30s
stats uri /
stats auth admin:admin
stats hide-version
stats admin if TRUE
and opening a monitoring interface according to the set port and the user name and password, and monitoring the states of the MySQL database and the RabbitMq node.
As shown in fig. 7, the KeepAlived configuration method includes: configuring keepalived global parameters; manufacturing a monitoring HAPproxy progress script; configuring and monitoring HAPproxy parameters; configuring main server related parameters; and configuring relevant parameters of the backup server.
KeepAlived configurations are all in KeepAlived. conf's configuration file, as shown in fig. 6.
The invention provides a high-availability deployment method of a remote sensing satellite data receiving system, which takes system client software and an HAproxy module as a system call inlet, takes a RabbitMQ cluster as a message queue, utilizes the characteristics of the HAproxy module load balancing cluster and the high reliability of the RabbitMQ cluster, and increases the flexibility, reliability and maintainability of system deployment.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (10)

1. A micro-service high-availability deployment method based on RabbitMQ and HAproxy is characterized by comprising the following steps:
the method comprises the following steps: carrying a framework of a distributed micro-service system, taking an HAproxy module as a system call inlet, and taking a RabbitMQ cluster as a message queue;
the HAproxy module is connected with an access switch, the access switch is connected with a core switch, and the core switch is respectively connected with the MySQL cluster, the RabbitMQ cluster and the micro-service node;
the load balance of a MySQL database of the MySQL cluster and a RabbitMQ cluster is controlled through an HAproxy module, and the micro-service node accesses the MySQL cluster and the RabbitMQ cluster through the HAproxy module;
step two: a micro service node in the micro service system is connected with a RabbitMQ node in a RabbitMQ cluster through a MassTransit, a message persistence and message confirmation mechanism is arranged in the RabbitMQ node, and the RabbitMQ cluster is configured to ensure that communication messages are reliably transmitted;
step three: an Automation state machine component provided in MassTransit defines a state machine Saga instance, defines a corresponding state machine through fluent syntax, and registers the state machine Saga instance to a ReceiveEndpoint to realize the configuration of the final consistency of communication message data;
step four: and the HAProxy module is internally provided with KeepAlived, so that fault detection is continuously performed on the nodes of the two HAProxy servers, and the RabbitMQ cluster can be normally accessed.
2. The RabbitMQ and HAProxy based micro-service high availability deployment method of claim 1, wherein the micro-service system comprises an haprox module, a RabbitMQ cluster and a micro-service node, the access switch is connected with the access router, and the access router is connected with the client of the monitoring system through the network.
3. The micro-service high-availability deployment method based on RabbitMQ and HAproxy of claim 2, wherein the server of the monitoring system comprises a plurality of micro-service nodes, the system can be configured and connected with a plurality of servers, a program written on the monitoring system dynamically monitors the connection status of all online servers, and dynamically configures the main and standby relationship between the servers.
4. The micro-service high-availability deployment method based on RabbitMQ and HAproxy of claim 3, characterized in that, a plurality of RabbitMQ nodes are configured in the RabbitMQ cluster, the RabbitMQ nodes are connected with MassTransit message bus of the micro-service nodes through RPC calling unit, MassTransit is a message bus mechanism constructed on the message queue, and can integrate the RabbitMQ nodes to realize the functions of message subscription, publishing and processing; a series of micro service nodes are integrated into a server side, and service logic processing and service required by a satellite data receiving system are provided for a client side; a plurality of distributed MySQL databases are arranged in the MySQL cluster, and a virtual single database logic image is formed through the cluster technology; the server is connected with the MySQL cluster through an HAproxy module; the client is connected to an HAproxy server of the HAproxy module through a network, the HAproxy server connects the client to a RabbitMQ node of a corresponding RabbitMQ cluster according to load balancing configuration, and a message middleware of the RabbitMQ node completes information interaction between the client and a micro service node and completes message publishing and message processing.
5. The micro-service high-availability deployment method based on rabbitMQ and HAproxy of claim 4, wherein the HAproxy module can configure a plurality of rabbitMQ nodes, and calculate and determine the actually connected rabbitMQ nodes through a load balancing algorithm in an HAproxy server; the HAproxy module comprises an HAproxy server I and an HAproxy server II, and connection state detection, connection control and active-standby switching of the HAproxy server I and the HAproxy server II are completed through KeepAlived.
6. The micro-service high-availability deployment method based on RabbitMQ and HAproxy of claim 2 or 4, wherein the information interaction between the client and the monitoring system server is realized by accessing the HAproxy module, selecting a proper RabbitMQ node by the HAproxy module and transmitting the selected node to the server, configuring system working parameters by the server or scheduling the system to execute relevant processes, and feeding back the system state update to the client; if the service end needs to feed back to the client end when executing service logic processing, the information needing to feed back is packaged into a piece of RabbitMQ message, and then the RabbitMQ node is selected through the HAproxy server to release the message; the client is also connected with the RabbitMQ node through an HAproxy server, the client subscribes to the messages of the RabbitMQ as required, the server issues the messages, and the client receives and processes the messages to complete information interaction between the client and the server;
the configuration method of the RabbitMQ cluster comprises the following steps: assuming that both nodes have launched a RabbitMQ; adding a RabbitMQServer-A server and a RabbitMQServer-B server into a cluster, and operating on the RabbitMQServer-A server; restarting RabbitMQServer-A server for RabbitMQ service; the following commands are input on the RabbitMQ instruction terminal: stopping RabbitmQctl stop _ app from RabbitMQServer-A server; inputting a command on a RabbitMQ instruction terminal: the rabbitmqctl reset resets the rabbitMQ service on the rabbitMQServer-A server; the following commands are input on the RabbitMQ instruction terminal: adding the RabbitmQctl joint _ cluster-ram rabbitit @ RabbitMQServer-B cluster into the RabbitMQServer-B cluster; inputting a command on a RabbitMQ instruction terminal: starting a rabbitmQctl start _ app, and starting a rabbitMQ on a rabbitMQServer-A server; inputting a command on a RabbitMQ instruction terminal: and (5) checking the cluster state at any node by using the rabbitmqctl cluster _ status.
7. The RabbitMQ and HAProxy based micro-service high availability deployment method of claim 6, wherein the micro-service system is a micro-service system based on API gateway, the API gateway is an intermediate layer, which serves as a service entrance of the whole system and also serves as an edge service to expose the whole system as a hosted API gateway to external users; the MassTransit uses the service of a RabbitMQ node as an infrastructure of service communication, the RabbitMQ node consists of a switch, a queue and a binding, and the switch is used for receiving messages sent by a producer and routing the messages to the queue in the server; the queue is used for storing the messages until the messages are sent to the consumers, the messages are always in the queue, and the consumers are waited to be connected to the queue to take the messages away; the binding associates the switch and the queue according to the routing key rule, and determines the message sending direction.
8. The RabbitMQ and HAProxy based micro-service high availability deployment method of claim 7, wherein the communication message delivery is implemented by:
a) switches, queues and messages of the RabbitMQ node are set to be persistent, so that related communication messages can be kept from being lost, and the problem of message loss caused by abnormal breakdown of a message middleware server is mainly solved;
b) setting a message confirmation mechanism to ensure that a generator of the message knows that the message has correctly arrived at a destination; while ensuring that the consumer of the message has sufficient time to process the message;
configuring a message middleware of a RabbitMQ node through an API (application programming interface) provided by a MassTransit framework to realize message persistence and confirmation, wherein specific codes are as follows:
and a message confirmation mechanism: publisherconfigration = true;
message persistence: durable = true; wherein h represents a RabbitMQ service entity; PublisherConfirmation indicates that the communication mechanism is set to the acknowledgement mechanism, cfg indicates the message entity, Durable indicates the message persistence, true indicates the setting to "true";
c) configuring the RabbitMQ cluster ensures that the system failure can not be caused by the failure of any RabbitMQ node.
9. The micro-service high-availability deployment method based on RabbitMQ and HAProxy as claimed in claim 1 or 8, characterized in that, the state machine Saga instance connects messages in series through a Guid type corelationId field to maintain the state of the messages, meanwhile, MassTransit integrates NHibernate, EF, MongDB, Redis to complete the persistence of the state machine Saga instance; NHibarnate is a mapping tool of an object and a relational database, and EF is ORM (object relational mapping framework); MongDB is a database based on distributed file storage; redis is a high-performance key-value database;
the method for defining the Saga instance of the state machine is: public Guid CorrelationId (get, set), the corresponding state machine instance is defined as: 1) initializing events and states; 2) defining the relation between the state and the event; 3) defining a state; 4) defining an event; and finally, registering the state machine instance to the receiveEndpoint by using a LoadStatemMechine-sag () method of an IRabbitMqBusFactoryConconfigurator type defined by MassTransit to complete the configuration of the final consistency of the communication message data.
10. The RabbitMQ and HAProxy based micro-service high availability deployment method of claim 9, wherein the configuration method of HAProxy server I and HAProxy server II is:
haproxy configuration: opening a 'haproxy.cfg' file, and configuring haproxy;
configuring global parameters: write in "haproxy. cfg" file:
global
nbproc 1
daemon;
configuring default parameters: writing default parameters under the global parameters;
and (3) configuring MySQL: detecting a user 'Haproxy _ root' and a MySQL state by using the created Haproxy, and writing configuration parameters under default parameters;
configuring RabbitMq: writing a RabbitMq configuration parameter under the default parameter;
monitoring the configuration state: writing monitoring configuration state parameters;
opening a monitoring interface according to the set port and the user name and password, and monitoring the states of the MySQL database and the RabbitMq node;
the KeepAlived configuration is carried out in a keepalived.conf configuration file; the configuration method of KeepAlived comprises the following steps: configuring keepalived global parameters; manufacturing a monitoring HAPproxy progress script; configuring and monitoring HAPproxy process parameters; configuring relevant parameters of a primary HAPproxy server; and configuring related parameters of the backup HAPproxy server.
CN202011512205.XA 2020-12-19 2020-12-19 Micro-service high-availability deployment method based on RabbitMQ and HAproxy Active CN112615666B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011512205.XA CN112615666B (en) 2020-12-19 2020-12-19 Micro-service high-availability deployment method based on RabbitMQ and HAproxy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011512205.XA CN112615666B (en) 2020-12-19 2020-12-19 Micro-service high-availability deployment method based on RabbitMQ and HAproxy

Publications (2)

Publication Number Publication Date
CN112615666A CN112615666A (en) 2021-04-06
CN112615666B true CN112615666B (en) 2022-07-15

Family

ID=75243643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011512205.XA Active CN112615666B (en) 2020-12-19 2020-12-19 Micro-service high-availability deployment method based on RabbitMQ and HAproxy

Country Status (1)

Country Link
CN (1) CN112615666B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240945B (en) * 2021-04-07 2022-05-10 南京莱斯信息技术股份有限公司 Flight telegraph automatic processing fault-tolerant system and method in main and standby civil aviation system
CN113159858A (en) * 2021-05-06 2021-07-23 山东白令三维科技有限公司 3D printing quotation system, method and device and storage medium
CN113794757B (en) * 2021-08-31 2024-03-19 百融至信(北京)科技有限公司 Redis cluster off-site synchronization method and system based on rabitmq
CN113726899B (en) * 2021-09-01 2022-10-04 内蒙古工业大学 Construction method of available micro data center for colleges and universities based on OpenStack
CN115865874A (en) * 2021-09-23 2023-03-28 中兴通讯股份有限公司 Conference message pushing method, conference server and electronic equipment
CN113867129A (en) * 2021-10-27 2021-12-31 珠海格力电器股份有限公司 Redundancy control method, device and system, computer equipment and storage medium
CN114035899B (en) * 2021-11-15 2022-10-25 中原银行股份有限公司 Cross-cluster parameter configuration method and device and electronic equipment
CN114389677B (en) * 2022-01-12 2022-11-22 中国人民解放军国防科技大学 High-reliability high-density large-capacity inbound signal cluster processing method and device
CN114553878B (en) * 2022-02-23 2024-04-02 南京南瑞信息通信科技有限公司 Industrial control system main and standby operation power monitoring system based on LVS
CN115640100B (en) * 2022-11-08 2023-05-23 安超云软件有限公司 Virtual machine information synchronization method and computer readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109873738A (en) * 2019-02-26 2019-06-11 启迪云计算有限公司 It is a kind of can elastic telescopic cloud computing monitor supervision platform
CN111414187A (en) * 2020-03-25 2020-07-14 中国电子科技集团公司电子科学研究院 Service integration open platform and spatial information application method
CN111897641A (en) * 2020-08-03 2020-11-06 海信电子科技(武汉)有限公司 Micro-service monitoring and scheduling method and display equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11650862B2 (en) * 2018-07-31 2023-05-16 Parallel Wireless, Inc. Service bus for telecom infrastructure
CN110099099B (en) * 2019-03-28 2021-11-16 中国电子科技集团公司电子科学研究院 Space information micro-service packaging and service integration method for ground information port
WO2020232195A1 (en) * 2019-05-14 2020-11-19 Qomplx, Inc. Method for midserver facilitation of long-haul transport of telemetry for cloud-based services
CN111343251A (en) * 2020-02-16 2020-06-26 苏州浪潮智能科技有限公司 Message queue service deployment method and device
CN111491017B (en) * 2020-04-03 2023-05-26 广州市中海达测绘仪器有限公司 CORS reference station data distribution system, method and device
CN111818128B (en) * 2020-06-15 2023-06-09 北京空间飞行器总体设计部 Container cloud-based modular simulation model operation control system, method and medium
CN112000448B (en) * 2020-07-17 2023-08-25 北京计算机技术及应用研究所 Application management method based on micro-service architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109873738A (en) * 2019-02-26 2019-06-11 启迪云计算有限公司 It is a kind of can elastic telescopic cloud computing monitor supervision platform
CN111414187A (en) * 2020-03-25 2020-07-14 中国电子科技集团公司电子科学研究院 Service integration open platform and spatial information application method
CN111897641A (en) * 2020-08-03 2020-11-06 海信电子科技(武汉)有限公司 Micro-service monitoring and scheduling method and display equipment

Also Published As

Publication number Publication date
CN112615666A (en) 2021-04-06

Similar Documents

Publication Publication Date Title
CN112615666B (en) Micro-service high-availability deployment method based on RabbitMQ and HAproxy
US6996502B2 (en) Remote enterprise management of high availability systems
US7246256B2 (en) Managing failover of J2EE compliant middleware in a high availability system
US9886260B2 (en) Managing software version upgrades in a multiple computer system environment
US10203992B2 (en) Worker node rebuild for parallel processing system
US9021038B2 (en) Message delivery in messaging networks
US9626261B2 (en) Failure recovery resolution in transplanting high performance data intensive algorithms from cluster to cloud
CN102521044A (en) Distributed task scheduling method and system based on messaging middleware
WO2021088641A1 (en) Data transmission method, data processing method, data reception method and device, and storage medium
US10225142B2 (en) Method and system for communication between a management-server and remote host systems
CN111274002A (en) Construction method and device for supporting PAAS platform, computer equipment and storage medium
CN112527520A (en) Method and device for deploying message middleware
CN112559461A (en) File transmission method and device, storage medium and electronic equipment
CN116841705A (en) Distributed scheduling monitoring system based on cloud protogenesis and deployment method thereof
CN115878301A (en) Acceleration framework, acceleration method and equipment for database network load performance
CN116723077A (en) Distributed IT automatic operation and maintenance system
US20230032516A1 (en) Common platform for implementing rpa services on customer premises
Sharma et al. Implementing a resilient application architecture for state management on a paas cloud
Yongyong A Docker-based Operation and Maintenance Method for New-Generation Command and Control Systems
CN115328651A (en) Lightweight micro-cloud system based on domestic VPX server
US20230385122A1 (en) Techniques for deploying workloads in a cloud-computing environment
WO2022150995A1 (en) Supercomputer architecture implementation method
CN115766689A (en) Method for bidirectional communication between web server and unmanned aerial vehicle detection and counter-braking device
CN117082069A (en) Mixed cloud multi-activity disaster recovery system
Hu et al. Research on Key Technologies of Cloud Database Automatic Deployment System

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