CN110633175B - 基于微服务的多机房数据处理方法、电子设备及存储介质 - Google Patents
基于微服务的多机房数据处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110633175B CN110633175B CN201910927223.5A CN201910927223A CN110633175B CN 110633175 B CN110633175 B CN 110633175B CN 201910927223 A CN201910927223 A CN 201910927223A CN 110633175 B CN110633175 B CN 110633175B
- Authority
- CN
- China
- Prior art keywords
- micro
- room
- machine room
- service
- data access
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于微服务的多机房数据处理方法、电子设备及存储介质,其中,在配置中心为各个微服务配置主机房和从机房;具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;该方法包括:接收针对任一微服务的数据访问请求;根据配置中心的配置信息将数据访问请求路由至微服务的主机房;若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。该方案为微服务配置主从机房,由微服务的主机房对针对该微服务的数据访问请求进行处理,还实现了从主机房至从机房的单方向的数据同步,有效地避免了在多机房场景下数据出现冲突。
Description
技术领域
本发明涉及信息处理技术领域,具体涉及一种基于微服务的多机房数据处理方法、电子设备及存储介质。
背景技术
用户可以利用客户端获取服务器提供的服务,例如从服务器中下载电子书、浏览电子书评论信息等。为了便于管理服务器及确保服务器业务正常运行,运营人员会将服务器存放在机房中,机房的温度、湿度以及防静电措施等都有严格的要求。为了防止机房中的服务器挂掉而导致服务中断的情况发生,一般会在多个地方设置机房,以便在一个机房挂掉后能够通过另外的机房提供可靠服务。用户通过任一机房都能访问到所需的服务,一般情况下域名服务器会为用户分配距离其较近的机房为其提供服务。
为了确保多个机房随时能够提供可靠服务,多个机房中的数据需要进行同步,从而使多个机房中的数据保持一致。然而,在为用户提供服务的过程中,基于流量均衡、用户位置变化等原因,很有可能会出现为同一用户前后分配的机房不一致的情况,一旦后分配的机房在为用户提供服务时尚未完成数据同步,就很可能会出现前后机房数据不一致的情况,存在数据冲突的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于微服务的多机房数据处理方法、电子设备及存储介质。
根据本发明的一个方面,提供了一种基于微服务的多机房数据处理方法,在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
该方法包括:
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至微服务的主机房;
若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
根据本发明的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至微服务的主机房;
若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
根据本发明的又一方面,提供了一种存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行以下操作:
在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至微服务的主机房;
若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
根据本发明提供的技术方案,通过在配置中心为各个微服务配置主机房和从机房,实现了基于微服务的主从机房的精准配置,并且为具有彼此调用关系的多个微服务配置同一主机房和同一从机房,确保了具有彼此调用关系的多个微服务能够实时调用,不受机房专线和公网所存在的网络抖动等不稳定因素的影响;并且,根据配置中心的配置信息将针对微服务的数据访问请求路由至微服务的主机房,使得针对微服务的数据访问请求永远都由该微服务的主机房进行处理,从机房作为热备;在数据访问请求为数据写入请求的情况下,执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,从机房执行数据写入操作,从而实现了从主机房至从机房的单方向的数据同步,有效地避免了在多机房场景下数据出现冲突,优化了多机房数据处理方式。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种基于微服务的多机房数据处理方法的流程示意图;
图2示出了根据本发明实施例二的一种基于微服务的多机房数据处理方法的流程示意图;
图3示出了根据本发明实施例四的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一的一种基于微服务的多机房数据处理方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S101,接收针对任一微服务的数据访问请求。
具体地,在配置中心预先为各个微服务配置主机房和从机房,微服务是指可被独立部署的、具有高内聚特性的服务,不同微服务之间还具有低耦合的特性。本领域技术人员可根据实际需要为各个微服务配置主机房和从机房,以确保机房流量均衡。假设电子书阅读服务器包含有4个微服务,这4个微服务分别为微服务A至微服务D,电子书阅读服务器对应有2个机房,分别为机房1和机房2,那么可将机房1配置为微服务A和微服务B的主机房,将机房2配置为微服务A和微服务B的从机房,另外,将机房2配置为微服务C和微服务D的主机房,将机房1配置为微服务C和微服务D的从机房。
另外,多个微服务之间是可以彼此调用的,为了确保具有彼此调用关系的多个微服务能够实时调用,在本发明中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房。其中,针对每个微服务,该微服务的主机房用于提供对外数据访问,在主机房提供对外数据访问的情况下,从机房并不提供对外数据访问,而是作为热备,一旦主机房出现工作异常、故障等情况,从机房可以在很短的时间内代替主机房,完全实现主机房的功能,提供可靠的对外数据访问。
当用户或业务运维人员等想要访问任一微服务的数据时,可发送针对该微服务的数据访问请求,其中,数据访问请求可携带有微服务标识、请求方法、请求内容、请求URL、请求的服务器地址、通信协议等信息;微服务标识可以为微服务名称或者微服务ID等。那么在步骤S101中接收针对任一微服务的数据访问请求。
步骤S102,根据配置中心的配置信息将数据访问请求路由至微服务的主机房。
在配置中心完成对各个微服务的主机房和从机房的配置后,生成配置信息,配置信息中记录了各个微服务的微服务标识、对应的主机房和从机房等信息,那么可根据配置信息查询数据访问请求所针对的微服务的主机房,然后将数据访问请求路由至微服务的主机房,由主机房对数据访问请求进行处理。具体地,可将数据访问请求中携带的微服务标识与配置信息中记录的各个微服务的微服务标识进行匹配,将相匹配的微服务的主机房确定为用于处理该数据访问请求的机房,然后将数据访问请求路由至该主机房。
步骤S103,若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
其中,数据访问请求可以为数据读取请求或者数据写入请求。若数据访问请求为数据读取请求,则执行数据读取操作从微服务的主机房的数据库中读取数据;若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至该微服务的主机房的数据库中,通过执行数据写入操作使得主机房的数据库中的数据得到更新,在此情况下需要及时地进行主机房和从机房之间的数据同步,具体地,可将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作,通过执行数据写入操作将数据写入至该微服务的从机房的数据库中,从而实现了从主机房至从机房的单方向的数据同步,有效地解决了在多机房场景下存在的数据冲突的问题。
利用本实施例提供的基于微服务的多机房数据处理方法,通过在配置中心为各个微服务配置主机房和从机房,实现了基于微服务的主从机房的精准配置,并且为具有彼此调用关系的多个微服务配置同一主机房和同一从机房,确保了具有彼此调用关系的多个微服务能够实时调用,不受机房专线和公网所存在的网络抖动等不稳定因素的影响;并且,根据配置中心的配置信息将针对微服务的数据访问请求路由至微服务的主机房,使得针对微服务的数据访问请求永远都由该微服务的主机房进行处理,从机房作为热备;在数据访问请求为数据写入请求的情况下,执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,从机房执行数据写入操作,从而实现了从主机房至从机房的单方向的数据同步,有效地避免了在多机房场景下数据出现冲突,优化了多机房数据处理方式。
实施例二
图2示出了根据本发明实施例二的一种基于微服务的多机房数据处理方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S201,接收针对任一微服务的数据访问请求。
其中,在配置中心预先为各个微服务配置主机房和从机房。针对每个微服务,该微服务的主机房用于提供对外数据访问,在主机房提供对外数据访问的情况下,该微服务的从机房并不提供对外数据访问,而是作为热备。
在实际使用场景中,有些微服务之间是需要彼此调用的,例如与用户生产内容相关的多个微服务之间需要彼此调用,或者与用户账户资产相关的多个微服务之间需要彼此调用。如果为具有彼此调用关系的多个微服务配置不同的主机房,则在调用微服务的过程中,需要通过机房之间的机房专线或者公网进行调用,那么微服务调用将很有可能会受到机房专线和公网本身所存在的网络抖动等不稳定因素的影响。
为了使具有彼此调用关系的多个微服务能够实现实时调用,在本发明中,将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组,并为每个微服务分组配置不同的组域名,然后以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房,以使具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房。通过这种配置方式,可使具有彼此调用关系的多个微服务在同一机房内就能进行彼此调用,无需跨机房调用,有效地实现了微服务间的实时调用。
当用户或业务运维人员等想要访问任一微服务的数据时,可发送针对该微服务的数据访问请求,那么在步骤S201中接收针对任一微服务的数据访问请求。例如,某用户想要为其电子书账户充值,请求访问充值微服务的数据,那么可发送针对充值微服务的数据访问请求,其中,该数据访问请求可携带有充值微服务的微服务标识、请求方法、请求内容、请求URL、请求的服务器地址、通信协议等信息,那么在步骤S201中接收针对充值微服务的数据访问请求。
步骤S202,根据域名服务器内存储的配置信息,确定微服务的处理机房,并依据微服务的处理机房对数据访问请求进行路由处理。
在配置中心完成对各个微服务的主机房和从机房的配置后,生成配置信息,配置信息中记录了各个微服务的微服务标识、对应的主机房和从机房等信息。域名服务器(即DNS服务器)和网关获取配置中心的配置信息,并对配置信息进行存储,以便根据配置信息对数据访问请求进行路由处理。具体地,配置中心可主动地将配置信息发送给域名服务器和网关,或者由域名服务器和网关主动地从配置中心拉取最新的配置信息,此处不做具体限定。
在接收到数据访问请求之后,先由域名服务器根据其存储的配置信息,确定微服务的处理机房,其中,可将该数据访问请求中携带的微服务标识与域名服务器内存储的配置信息中记录的各个微服务的微服务标识进行匹配,将相匹配的微服务的主机房确定为用于处理该数据访问请求的处理机房,即微服务的处理机房,然后依据所确定的微服务的处理机房对该数据访问请求进行路由处理,具体地,将该数据访问请求向微服务的处理机房进行路由。
步骤S203,根据网关内存储的配置信息,判断微服务的处理机房是否与微服务的主机房一致;若是,则执行步骤204;若否,则执行步骤205。
考虑到域名服务器更新配置信息的频率往往较低,域名服务器内存储的配置信息可能并不是配置中心最新的配置信息,那么域名服务器根据其存储的配置信息所确定的微服务的处理机房也并不一定是微服务的主机房。为了解决该问题,本发明通过网关对域名服务器针对数据访问请求的路由处理的正确性进行校验。其中,网关更新配置信息的频率要远远高于域名服务器更新配置信息的频率,优选地,网关中存储的配置信息与配置中心的配置中心保持实时同步。当数据访问请求经过域名服务器的路由到达网关时,由网关根据网关内存储的配置信息确定数据访问请求所对应的微服务的实际的主机房,具体地,将该数据访问请求中携带的微服务标识与网关内存储的配置信息中记录的各个微服务的微服务标识进行匹配,得到相匹配的微服务的主机房,然后判断域名服务器所确定的该微服务的处理机房是否与网关所确定的该微服务的主机房一致。如果一致,说明域名服务器所确定的处理机房即为该微服务的主机房,域名服务器路由处理正确,则执行步骤S204;如果不一致,说明域名服务器所确定的处理机房不为该微服务的主机房,域名服务器路由处理错误,则执行步骤S205。
步骤S204,由微服务的主机房对数据访问请求进行处理。
若经判断域名服务器所确定的微服务的处理机房与微服务的主机房一致,说明域名服务器所确定的处理机房即为该微服务的主机房,域名服务器针对数据访问请求的路由处理正确,那么直接由该微服务的主机房对数据访问请求进行处理。
步骤S205,将数据访问请求转发给微服务的主机房进行处理。
若经判断域名服务器所确定的微服务的处理机房与微服务的主机房不一致,说明域名服务器针对数据访问请求的路由处理错误,那么在该处理机房的接入层就将数据访问请求转发给微服务的主机房,由微服务的主机房对数据访问请求进行处理。通过这种处理方式,使得针对微服务的数据访问请求永远都由该微服务的主机房进行处理。
具体地,通过公网或者设置于该处理机房和微服务的主机房之间的机房专线,将数据访问请求转发给微服务的主机房进行处理。其中,为了便于机房之间进行通信,一般会在机房之间设置机房专线,通过机房专线能够快速地进行数据传输,那么优选地在该处理机房的接入层通过机房专线将数据访问请求转发给微服务的主机房进行处理,从而能够实现对数据访问请求的快速转发。考虑到机房专线可能存在出现故障而无法正常传输数据的情况,可优先通过机房专线将数据访问请求转发给微服务的主机房;若转发失败,则通过公网将数据访问请求转发给微服务的主机房。
步骤S206,若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作的操作指令写入数据访问日志中,将数据访问日志同步给微服务的从机房,以供从机房根据数据访问日志执行数据写入操作。
在微服务的主机房对数据访问请求进行处理过程中,若数据访问请求为数据读取请求,则执行数据读取操作从微服务的主机房的数据库中读取数据;若数据访问请求为数据写入请求,执行数据写入操作将数据写入至微服务的主机房的数据库中,通过执行数据写入操作使得主机房的数据库中的数据得到了更新,在此情况下需要及时地进行主机房和从机房之间的数据同步,那么可将数据写入操作的操作指令写入主机房的数据访问日志中,将数据访问日志同步给微服务的从机房,以供从机房根据数据访问日志中所记载的数据写入操作的操作指令进行执行,将数据写入至该微服务的从机房的数据库中,从而实现了从主机房至从机房的单方向的数据同步。
利用本实施例提供的基于微服务的多机房数据处理方法,将具有彼此调用关系的多个微服务划分至同一个微服务分组中,以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房,使得同一微服务分组内的多个微服务在同一机房内就能进行彼此调用,无需跨机房调用,有效地实现了微服务间的实时调用,不受机房专线和公网所存在的网络抖动等不稳定因素的影响;并且,通过网关对域名服务器针对数据访问请求的路由处理的正确性进行校验,在域名服务器所确定的微服务的处理机房与网关所确定的微服务的主机房不一致的情况下,将数据访问请求转发给微服务的主机房进行处理,在该处理机房的接入层就将数据访问请求转发给微服务的主机房,使得针对微服务的数据访问请求永远都由该微服务的主机房进行处理,从机房作为热备;另外,还实现了从主机房至从机房的单方向的数据同步,有效地避免了在多机房场景下数据出现冲突,优化了多机房数据处理方式。
实施例三
本发明实施例三提供了一种非易失性存储介质,存储介质存储有至少一可执行指令,该可执行指令可执行上述任意方法实施例中的基于微服务的多机房数据处理方法。
可执行指令具体可以用于使得处理器执行以下操作:在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;接收针对任一微服务的数据访问请求;根据配置中心的配置信息将数据访问请求路由至微服务的主机房;若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组;以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:根据域名服务器内存储的配置信息,确定微服务的处理机房,并依据微服务的处理机房对数据访问请求进行路由处理;根据网关内存储的配置信息,判断微服务的处理机房是否与微服务的主机房一致;若是,则由微服务的主机房对数据访问请求进行处理;若否,则将数据访问请求转发给微服务的主机房进行处理。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:通过公网或者设置于处理机房和微服务的主机房之间的机房专线,将数据访问请求转发给微服务的主机房进行处理。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:通过机房专线将数据访问请求转发给微服务的主机房;若转发失败,则通过公网将数据访问请求转发给微服务的主机房。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:将数据写入操作的操作指令写入数据访问日志中,将数据访问日志同步给微服务的从机房,以供从机房根据数据访问日志执行数据写入操作。
实施例四
图3示出了根据本发明实施例四的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图3所示,该电子设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述基于微服务的多机房数据处理方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;接收针对任一微服务的数据访问请求;根据配置中心的配置信息将数据访问请求路由至微服务的主机房;若数据访问请求为数据写入请求,则执行数据写入操作将数据写入至微服务的主机房的数据库中,并将数据写入操作同步给微服务的从机房,以供从机房执行数据写入操作。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组;以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:根据域名服务器内存储的配置信息,确定微服务的处理机房,并依据微服务的处理机房对数据访问请求进行路由处理;根据网关内存储的配置信息,判断微服务的处理机房是否与微服务的主机房一致;若是,则由微服务的主机房对数据访问请求进行处理;若否,则将数据访问请求转发给微服务的主机房进行处理。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:通过公网或者设置于处理机房和微服务的主机房之间的机房专线,将数据访问请求转发给微服务的主机房进行处理。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:通过机房专线将数据访问请求转发给微服务的主机房;若转发失败,则通过公网将数据访问请求转发给微服务的主机房。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:将数据写入操作的操作指令写入数据访问日志中,将数据访问日志同步给微服务的从机房,以供从机房根据数据访问日志执行数据写入操作。
程序310中各步骤的具体实现可以参见上述基于微服务的多机房数据处理实施例中的相应步骤对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,实现了基于微服务的主从机房的精准配置,并且确保了具有彼此调用关系的多个微服务能够实时调用,不受机房专线和公网所存在的网络抖动等不稳定因素的影响;并且,使得针对微服务的数据访问请求永远都由该微服务的主机房进行处理,从机房作为热备;还实现了从主机房至从机房的单方向的数据同步,有效地避免了在多机房场景下数据出现冲突,优化了多机房数据处理方式。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (15)
1.一种基于微服务的多机房数据处理方法,在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
所述方法包括:
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至所述微服务的主机房;
若所述数据访问请求为数据写入请求,则执行数据写入操作将数据写入至所述微服务的主机房的数据库中,并将所述数据写入操作同步给所述微服务的从机房,以供所述从机房执行所述数据写入操作;
其中,所述在配置中心为各个微服务配置主机房和从机房进一步包括:将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组;以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房。
2.根据权利要求1所述的方法,所述根据配置中心的配置信息将数据访问请求路由至所述微服务的主机房进一步包括:
根据域名服务器内存储的配置信息,确定所述微服务的处理机房,并依据所述微服务的处理机房对所述数据访问请求进行路由处理;
根据网关内存储的配置信息,判断所述微服务的处理机房是否与所述微服务的主机房一致;
若是,则由所述微服务的主机房对所述数据访问请求进行处理;
若否,则将所述数据访问请求转发给所述微服务的主机房进行处理。
3.根据权利要求2所述的方法,所述将所述数据访问请求转发给所述微服务的主机房进行处理进一步包括:
通过公网或者设置于所述处理机房和所述微服务的主机房之间的机房专线,将所述数据访问请求转发给所述微服务的主机房进行处理。
4.根据权利要求3所述的方法,所述通过公网或者设置于所述处理机房和所述微服务的主机房之间的机房专线,将所述数据访问请求转发给所述微服务的主机房进行处理进一步包括:
通过所述机房专线将所述数据访问请求转发给所述微服务的主机房;
若转发失败,则通过公网将所述数据访问请求转发给所述微服务的主机房。
5.根据权利要求1-4任一项所述的方法,所述将所述数据写入操作同步给所述微服务的从机房,以供所述从机房执行所述数据写入操作进一步包括:
将所述数据写入操作的操作指令写入数据访问日志中,将所述数据访问日志同步给所述微服务的从机房,以供所述从机房根据所述数据访问日志执行所述数据写入操作。
6.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至所述微服务的主机房;
若所述数据访问请求为数据写入请求,则执行数据写入操作将数据写入至所述微服务的主机房的数据库中,并将所述数据写入操作同步给所述微服务的从机房,以供所述从机房执行所述数据写入操作;
其中,所述可执行指令进一步使所述处理器执行以下操作:将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组;以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房。
7.根据权利要求6所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
根据域名服务器内存储的配置信息,确定所述微服务的处理机房,并依据所述微服务的处理机房对所述数据访问请求进行路由处理;
根据网关内存储的配置信息,判断所述微服务的处理机房是否与所述微服务的主机房一致;
若是,则由所述微服务的主机房对所述数据访问请求进行处理;
若否,则将所述数据访问请求转发给所述微服务的主机房进行处理。
8.根据权利要求7所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
通过公网或者设置于所述处理机房和所述微服务的主机房之间的机房专线,将所述数据访问请求转发给所述微服务的主机房进行处理。
9.根据权利要求8所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
通过所述机房专线将所述数据访问请求转发给所述微服务的主机房;
若转发失败,则通过公网将所述数据访问请求转发给所述微服务的主机房。
10.根据权利要求6-9任一项所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
将所述数据写入操作的操作指令写入数据访问日志中,将所述数据访问日志同步给所述微服务的从机房,以供所述从机房根据所述数据访问日志执行所述数据写入操作。
11.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:
在配置中心为各个微服务配置主机房和从机房;其中,具有彼此调用关系的多个微服务被配置为同一主机房和同一从机房;
接收针对任一微服务的数据访问请求;
根据配置中心的配置信息将数据访问请求路由至所述微服务的主机房;
若所述数据访问请求为数据写入请求,则执行数据写入操作将数据写入至所述微服务的主机房的数据库中,并将所述数据写入操作同步给所述微服务的从机房,以供所述从机房执行所述数据写入操作;
其中,所述可执行指令进一步使所述处理器执行以下操作:将具有彼此调用关系的多个微服务划分至同一个微服务分组中,得到多个微服务分组;以微服务分组为单位,在配置中心为各个微服务分组配置主机房和从机房。
12.根据权利要求11所述的存储介质,所述可执行指令进一步使所述处理器执行以下操作:
根据域名服务器内存储的配置信息,确定所述微服务的处理机房,并依据所述微服务的处理机房对所述数据访问请求进行路由处理;
根据网关内存储的配置信息,判断所述微服务的处理机房是否与所述微服务的主机房一致;
若是,则由所述微服务的主机房对所述数据访问请求进行处理;
若否,则将所述数据访问请求转发给所述微服务的主机房进行处理。
13.根据权利要求12所述的存储介质,所述可执行指令进一步使所述处理器执行以下操作:
通过公网或者设置于所述处理机房和所述微服务的主机房之间的机房专线,将所述数据访问请求转发给所述微服务的主机房进行处理。
14.根据权利要求13所述的存储介质,所述可执行指令进一步使所述处理器执行以下操作:
通过所述机房专线将所述数据访问请求转发给所述微服务的主机房;
若转发失败,则通过公网将所述数据访问请求转发给所述微服务的主机房。
15.根据权利要求11-14任一项所述的存储介质,所述可执行指令进一步使所述处理器执行以下操作:
将所述数据写入操作的操作指令写入数据访问日志中,将所述数据访问日志同步给所述微服务的从机房,以供所述从机房根据所述数据访问日志执行所述数据写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927223.5A CN110633175B (zh) | 2019-09-27 | 2019-09-27 | 基于微服务的多机房数据处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927223.5A CN110633175B (zh) | 2019-09-27 | 2019-09-27 | 基于微服务的多机房数据处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110633175A CN110633175A (zh) | 2019-12-31 |
CN110633175B true CN110633175B (zh) | 2020-07-28 |
Family
ID=68973124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910927223.5A Active CN110633175B (zh) | 2019-09-27 | 2019-09-27 | 基于微服务的多机房数据处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110633175B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464592B (zh) * | 2020-03-09 | 2023-07-25 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN115004662A (zh) * | 2020-04-24 | 2022-09-02 | 深圳市欢太科技有限公司 | 数据同步方法、装置、数据存储系统及计算机可读介质 |
WO2022037359A1 (zh) * | 2020-08-18 | 2022-02-24 | 百果园技术(新加坡)有限公司 | 配置数据访问方法、装置、设备、配置中心及存储介质 |
CN112052091A (zh) * | 2020-09-04 | 2020-12-08 | 掌阅科技股份有限公司 | 多机房部署下服务调用请求的处理方法及计算设备 |
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN113810474B (zh) * | 2021-08-30 | 2023-04-28 | 福建天泉教育科技有限公司 | 一种请求的分流方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794155A (zh) * | 2015-03-12 | 2015-07-22 | 北京奇虎科技有限公司 | 数据加载的方法、装置及系统 |
CN104980519A (zh) * | 2015-06-29 | 2015-10-14 | 北京奇虎科技有限公司 | 多机房存储系统 |
CN109324942A (zh) * | 2018-08-07 | 2019-02-12 | 顺丰科技有限公司 | 微服务的双活处理方法、装置及系统、设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
US10484410B2 (en) * | 2017-07-19 | 2019-11-19 | Cisco Technology, Inc. | Anomaly detection for micro-service communications |
-
2019
- 2019-09-27 CN CN201910927223.5A patent/CN110633175B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794155A (zh) * | 2015-03-12 | 2015-07-22 | 北京奇虎科技有限公司 | 数据加载的方法、装置及系统 |
CN104980519A (zh) * | 2015-06-29 | 2015-10-14 | 北京奇虎科技有限公司 | 多机房存储系统 |
CN109324942A (zh) * | 2018-08-07 | 2019-02-12 | 顺丰科技有限公司 | 微服务的双活处理方法、装置及系统、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110633175A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633175B (zh) | 基于微服务的多机房数据处理方法、电子设备及存储介质 | |
CN110673941B (zh) | 多机房中微服务的迁移方法、电子设备及存储介质 | |
US9378068B2 (en) | Load balancing for a virtual networking system | |
CN108712332B (zh) | 一种通信方法、系统和装置 | |
US20170070597A1 (en) | Client-initiated leader election in distributed client-server systems | |
US20060253848A1 (en) | Method and apparatus for solutions deployment in a heterogeneous systems management environment | |
CN107078969A (zh) | 实现负载均衡的计算机设备、系统和方法 | |
US11095716B2 (en) | Data replication for a virtual networking system | |
CN106031116A (zh) | 一种ns与vnf的关联方法、装置及系统 | |
CN107005435B (zh) | 一种网络服务描述符上架方法及装置 | |
CN106059946B (zh) | 一种报文转发方法和装置 | |
CN109995842B (zh) | 一种用于分布式服务器集群的分组方法及装置 | |
CN105791344A (zh) | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 | |
CN112910685B (zh) | 实现对容器网络统一管理的方法及装置 | |
CN112035216B (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
JP6741872B2 (ja) | リソーススケジューリング | |
CN110855488B (zh) | 一种虚拟机接入方法及装置 | |
EP1589424A2 (en) | Vertical perimeter framework for providing application services in multi-CPU environments | |
CN113141405A (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN110213365B (zh) | 基于用户分区的用户访问请求处理方法及电子设备 | |
US10243920B1 (en) | Internet protocol address reassignment between virtual machine instances | |
CN114172753B (zh) | 地址预留的方法、网络设备和系统 | |
CN111600833B (zh) | 网络操作系统及报文转发方法 | |
CN104917800A (zh) | 建立用于虚拟机的冗余连接的方法及装置 |
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 |