CN117692510A - Codis多集群低成本高可用部署方法、装置、设备及存储介质 - Google Patents

Codis多集群低成本高可用部署方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117692510A
CN117692510A CN202311695941.7A CN202311695941A CN117692510A CN 117692510 A CN117692510 A CN 117692510A CN 202311695941 A CN202311695941 A CN 202311695941A CN 117692510 A CN117692510 A CN 117692510A
Authority
CN
China
Prior art keywords
codis
module
service request
data node
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311695941.7A
Other languages
English (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.)
Aisino Corp
Original Assignee
Aisino Corp
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 Aisino Corp filed Critical Aisino Corp
Priority to CN202311695941.7A priority Critical patent/CN117692510A/zh
Publication of CN117692510A publication Critical patent/CN117692510A/zh
Pending legal-status Critical Current

Links

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种Codis多集群低成本高可用部署方法、装置、设备及存储介质,包括:包括:负载均衡模块、注册代理模块和数据节点模块,其中:所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;所述codis代理模块向所述数据节点模块转发业务请求。通过本申请实施例方法,能够提高集群高可用性,实现资源复用,节约资源成本。

Description

Codis多集群低成本高可用部署方法、装置、设备及存储介质
技术领域
本申请实施例涉及网络处理技术领域,尤其涉及一种Codis多集群低成本高可用部署方法、装置、设备及存储介质。
背景技术
Codis是一个开源的、以Go语言写成的代理方式Redis集群框架。Redis集群是一个可以在多个Redis节点之间进行数据共享的设施。Redis集群不支持那些需要同时处理多个键的Redis命令,因为执行这些命令需要在多个Redis节点之间移动数据,并且在高负载的情况下,这些命令将降低Redis集群的性能,并导致不可预测的错误。
因此,亟需提出一种Codis多集群低成本高可用部署方法,来提高集群高可用性,实现资源复用,节约资源成本。
发明内容
本申请实施例提供了一种Codis多集群低成本高可用部署方法,来提高集群高可用性,实现资源复用,节约资源成本。
第一方面,本申请实施例提供一种codis多集群低成本高可用部署方法,包括:负载均衡模块、注册代理模块和数据节点模块,其中:
所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
所述codis代理模块向所述数据节点模块转发业务请求。
在一种可能的实施方式中,所述目的IP地址端口有且仅有一个。
在一种可能的实施方式中,所述数据节点模块中包括至少一个数据节点。
在一种可能的实施方式中,所述数据节点用于对数据进行添加、更改、删除、查询、存储或迁移。
在一种可能的实施方式中,所述注册代理模块包括基数台服务器,所述服务器用于转发所述业务请求。
在一种可能的实施方式中,所述注册代理模块包括配置中心,在接收业务请求之前,通过所述配置中心配置元数据。
在一种可能的实施方式中,所述元数据包括以下至少一项:codis集群的名称、数据节点的IP地址节点端口、所属的分组号和槽位分配。
第二方面,本申请实施例提供一种codis多集群低成本高可用部署装置,包括:负载均衡模块、注册代理模块和数据节点模块,其中:
接收单元,用于所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
第一转发单元,用于所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
第二转发单元,用于所述codis代理模块向所述数据节点模块转发业务请求。
在一种可能的实施方式中,所述目的IP地址端口有且仅有一个。
在一种可能的实施方式中,所述数据节点模块中包括至少一个数据节点。
在一种可能的实施方式中,所述数据节点用于对数据进行添加、更改、删除、查询、存储或迁移。
在一种可能的实施方式中,所述注册代理模块包括基数台服务器,所述服务器用于转发所述业务请求。
在一种可能的实施方式中,所述注册代理模块包括配置中心,在接收业务请求之前,通过所述配置中心配置元数据。
在一种可能的实施方式中,所述元数据包括以下至少一项:codis集群的名称、数据节点的IP地址节点端口、所属的分组号和槽位分配。
第三方面,本申请实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;
以及与至少一个处理器通信连接的存储器;
其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备执行如本申请实施例第一方面中任一实施例对应的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如本申请实施例第一方面任一方法。
第五方面,本公开还提供了一种计算机程序产品,该程序产品包含计算机执行指令,计算机执行指令被处理器执行时用于实现如本公开第一方面对应的任意实施例的方法。
综上,通过本申请实施例方法,能够提高集群高可用性,实现资源复用,节约资源成本,便于管理。codis集群各组件高度解耦、多点部署,不仅可以规避单点隐患,而且在集群组件迁移过程中,可以实现灵活无感迁移。使用较少的服务器资源部署多个codis集群,通过资源复用,极大的降低了资源成本;分担了应用系统的请求压力,提高缓存性能;根据不同的业务条线,持久化的数据更偏于分类查询和数据迁移,降低运维成本。codis多集群共用一套zookeeper集群(配置中心),部署一个codis-fe实例就可以通过zookeeper获取所有codis集群的元数据和运行数据,不再需要每个集群部署一个codis-fe实例,降低资源成本,提高集群监控和管理的便携性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种codis多集群低成本高可用部署架构示意图;
图2为本申请实施例提供的一种codis多集群低成本高可用部署方案示意图;
图3为本申请实施例提供的一种codis多集群低成本高可用部署方法流程示意图;
图4为本申请实施例提供的一种codis多集群低成本高可用部署装置示意图;
图5为本申请实施例提供的一种codis多集群低成本高可用部署电子设备示意图。
具体实施方式
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请实施例的实施例进行描述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Codis是一个开源的、以Go语言写成的代理方式Redis集群框架,其架构图如图1所示,在图1中,Codis有三大核心组件:
codis-server:即小改版的redis-server(开源的缓存服务,二次开发得到codis),代表一个Redis服务,主要加入了对slot(槽位)的支持与原子性的数据迁移指令。多个codis-server即组成一个codis-group,group之间相互独立,并且由一个主节点与一个或多个从节点组成。
codis-proxy:供客户端连接的Redis代理,实现了Redis协议。对于上层的应用,连接到codis-proxy和连接原生的Redis server没有显著区别,上层应用可以像单机Redis一样使用,Codis底层会处理请求的转发、不停机的数据迁移等工作,这些对客户端来说都透明。
codis-dashboard:管理Codis集群的工具,支持codis-proxy、codis-server的添加、删除、数据迁移等操作。在集群状态发生改变时,codis-dashboard维护集群下所有codis-proxy状态的一致性。
其他组件包括:
codis-fe:codis-dashboard的图形化前端。
redis-sentinel或codis-ha:redis-sentinel是Redis官方的高可用组件,用于监控集群状态,并在主节点不可用时进行切换,但当codis-server非单机部署时redis-sentinel存在bug,出现跨codis-group主从切换,导致集群混乱,所以我们选用codis提供的高可用组件codis-ha。
外部存储:可选ZooKeeper/etcd,作为集群元数据以及客户端信息的注册中心。
Codis与官方RedisCluster实现的根本不同点在于,Codis是中心化的,借助内部组件(codis-dashboard)和外部组件(redis-sentinel、ZK/etcd)进行集群管理、请求路由、探活,通过Redis协议的代理(codis-proxy)对客户端屏蔽集群细节。而Redis Cluster则是去中心化的P2P架构,所有工作都在集群内部进行,每个节点都对整个集群的信息有感知,通过gossip协议互相通信。
jodis-client,连接codis的组件;HA-主从切换,监控所有的proxy运行是否正常,把不正常的点删除;通过dashboard去获取需要监控的信息,根据获取的监控信息去监控对应的服务。
基于此,本发明提出一种Codis多集群低成本高可用部署方案,来提高集群高可用性,实现资源复用,节约资源成本。
本方案面向codis多集群部署,目标是提高集群高可用性,实现资源复用,节约资源成本,便于管理。如图2所示,系统架构共分为三层,分别是负载均衡层(负载均衡模块)、注册代理层(注册代理模块)、数据节点层(数据节点模块)。
在一种可能的实现方式中,对负载均衡层做如下配置:codis-proxy采用多实例部署,为实现高可用,需要采用软负载keepalive+(nginx/lvs/haproxy)或硬负载F5/A10配置转发策略,负载后端的多集群codis-proxy服务,部署配置方法通用,不再累述。
在一种可能的实现方式中,对注册代理层配置如下:在3台服务器上部署一套zookeeper集群,codis多集群共用,不同的codis集群拥有不同的product name来区分,codis本身的设计没有命名空间那么一说,一个codis集群只能对应一个product name。不同product name的codis集群在同一个zk上不会相互干扰。
codis-proxy负责请求的代理转发,资源占用较小,可在此3台服务器上各部署每组codis集群的一个codis-proxy代理服务实例,实现高可用。
每个集群的codis-dashboard(codis的管理节点)和codis-ha运行正常与否不影响现有集群的访问,可任意选择其中一台服务器进行部署。
codis-fe基于zookeeper可以展示所有集群的运行情况,所以只部署一个实例即可。
codis启动运行后,分别将各套codis-server主从分配至各集群codis-group,完成分片槽位slot配置。
在一种可能的实现方式中,对数据节点层配置如下:在偶数台服务器上部署多套codis-server节点实例,配置主从同步,每台服务器上的codis-server角色要求都是主节点或都是从节点,每组主从节点使用相同的服务端口,主从关系清晰,便于管理。
采用多实例部署的原因:
充分利用codis的分片优势,提高性能,分担节点实例异常风险。
codis-server基于redis3版本进行二次开发,在qps较高的应用系统中,redis3的单线程处理能力会提高访问延迟,产生性能瓶颈,部署多集群可以分担应用系统请求压力。
基于图2所示的部署方案,图3为本发明提出一种Codis多集群低成本高可用部署方法,如图3所示,包括:
S301、所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
S302、所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
S303、所述codis代理模块向所述数据节点模块转发业务请求。
在一种可能的实施方式中,所述目的IP地址端口有且仅有一个。
在一种可能的实施方式中,所述数据节点模块中包括至少一个数据节点。
在一种可能的实施方式中,所述数据节点用于对数据进行添加、更改、删除、查询、存储或迁移。
在一种可能的实施方式中,所述注册代理模块包括基数台服务器,所述服务器用于转发所述业务请求。
在一种可能的实施方式中,所述注册代理模块包括配置中心,在接收业务请求之前,通过所述配置中心配置元数据。
在一种可能的实施方式中,所述元数据包括以下至少一项:codis集群的名称、数据节点的IP地址节点端口、所属的分组号和槽位分配。
综上,通过本申请实施例方法,能够提高集群高可用性,实现资源复用,节约资源成本,便于管理。codis集群各组件高度解耦、多点部署,不仅可以规避单点隐患,而且在集群组件迁移过程中,可以实现灵活无感迁移。使用较少的服务器资源部署多个codis集群,通过资源复用,极大的降低了资源成本;分担了应用系统的请求压力,提高缓存性能;根据不同的业务条线,持久化的数据更偏于分类查询和数据迁移,降低运维成本。codis多集群共用一套zookeeper集群(配置中心),部署一个codis-fe实例就可以通过zookeeper获取所有codis集群的元数据和运行数据,不再需要每个集群部署一个codis-fe实例,降低资源成本,提高集群监控和管理的便携性。
图4本申请实施例提供一种codis多集群低成本高可用部署装置,包括:接收单元401,第一转发单元402和第二转发单元403,其中:
接收单元401,用于所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
第一转发单元402,用于所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
第二转发单元403,用于所述codis代理模块向所述数据节点模块转发业务请求。
在一种可能的实施方式中,所述目的IP地址端口有且仅有一个。
在一种可能的实施方式中,所述数据节点模块中包括至少一个数据节点。
在一种可能的实施方式中,所述数据节点用于对数据进行添加、更改、删除、查询、存储或迁移。
在一种可能的实施方式中,所述注册代理模块包括基数台服务器,所述服务器用于转发所述业务请求。
在一种可能的实施方式中,所述注册代理模块包括配置中心,在接收业务请求之前,通过所述配置中心配置元数据。
在一种可能的实施方式中,所述元数据包括以下至少一项:codis集群的名称、数据节点的IP地址节点端口、所属的分组号和槽位分配。
图5为本申请实施例提供的一个电子设备的结构示意图,如图5所示,该电子设备500包括:存储器510和处理器520。
其中,存储器510存储有可被至少一个处理器520执行的计算机程序。该算机程序被至少一个处理器520执行,以使电子设备实现如上任一实施例中提供的方法。
其中,存储器510和处理器520可以通过总线530连接。
相关说明可以对应参见方法实施例所对应的相关描述和效果进行理解,此处不予赘述。
本申请实施例一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现如图3对应的任意实施例中提供的方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例一个实施例提供了一种计算机程序产品,其包含计算机执行指令,该计算机执行指令被处理器执行时用于实现如图3对应的任意实施例中提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

Claims (10)

1.一种codis多集群低成本高可用部署方法,其特征在于,包括:负载均衡模块、注册代理模块和数据节点模块,其中:
所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
所述codis代理模块向所述数据节点模块转发业务请求。
2.根据权利要求1所述的方法,其特征在于,包括:所述目的IP地址端口有且仅有一个。
3.根据权利要求1所示的方法,其特征在于,所述数据节点模块中包括至少一个数据节点。
4.根据权利要求3所述的方法,其特征在于,所述数据节点用于对数据进行添加、更改、删除、查询、存储或迁移。
5.根据权利要求1所述的方法,其特征在于,所述注册代理模块包括基数台服务器,所述服务器用于转发所述业务请求。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述注册代理模块包括配置中心,在接收业务请求之前,通过所述配置中心配置元数据。
7.根据权利要求6所述的方法,其特征在于,所述元数据包括以下至少一项:
codis集群的名称、数据节点的IP地址节点端口、所属的分组号和槽位分配。
8.一种codis多集群低成本高可用部署装置,其特征在于,包括:负载均衡模块、注册代理模块和数据节点模块,其中:
接收单元,用于所述负载均衡模块接收业务请求,所述业务请求关联目的IP地址端口;
第一转发单元,用于所述注册代理模块基于所述目的IP地址端口,通过轮寻的方式将所述业务请求转发至所述codis代理模块;
第二转发单元,用于所述codis代理模块向所述数据节点模块转发业务请求。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
CN202311695941.7A 2023-12-11 2023-12-11 Codis多集群低成本高可用部署方法、装置、设备及存储介质 Pending CN117692510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311695941.7A CN117692510A (zh) 2023-12-11 2023-12-11 Codis多集群低成本高可用部署方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311695941.7A CN117692510A (zh) 2023-12-11 2023-12-11 Codis多集群低成本高可用部署方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117692510A true CN117692510A (zh) 2024-03-12

Family

ID=90127893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311695941.7A Pending CN117692510A (zh) 2023-12-11 2023-12-11 Codis多集群低成本高可用部署方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117692510A (zh)

Similar Documents

Publication Publication Date Title
US20220124049A1 (en) Distributed fair allocation of shared resources to constituents of a cluster
US9185054B2 (en) System and method for providing zero buffer copying in a middleware machine environment
US9367261B2 (en) Computer system, data management method and data management program
EP3564835A1 (en) Data redistribution method and apparatus, and database cluster
US10127077B2 (en) Event distribution pattern for use with a distributed data grid
CN113572831B (zh) Kubernetes集群间的通信方法、计算机设备及介质
CN105744001B (zh) 分布式缓存系统扩容方法、数据访问方法及装置和系统
CN111225003B (zh) 一种nfs节点配置方法和装置
JP2022505720A (ja) コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法
CN111966482B (zh) 边缘计算系统
CN115150410B (zh) 多集群访问方法和系统
US20240250918A1 (en) Node for running container group, and container group management system and method
CN111124589A (zh) 一种服务发现系统、方法、装置及设备
CN115686875A (zh) 用于在多个进程之间传输数据的方法、设备和程序产品
CN111104250B (zh) 用于数据处理的方法、设备和计算机可读介质
EP2616967B1 (en) System including a middleware machine environment
CN114500257A (zh) 网络配置分发方法、装置、控制节点及存储介质
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN113127444B (zh) 一种数据迁移方法、装置、服务器及存储介质
CN110046138B (zh) 一种iSCSI目标器多实例处理方法及分布式存储系统
CN101547209A (zh) 一种信息表项的更新方法和设备
CN117692510A (zh) Codis多集群低成本高可用部署方法、装置、设备及存储介质
CN114584545A (zh) 数据管理方法、装置、系统、存储介质及电子设备
CN115687250A (zh) 一种存储方法、设备、系统和计算机存储介质
CN118157808B (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