CN110809047B - 一种外网单域名连接内网kafka集群的实现方法及系统 - Google Patents

一种外网单域名连接内网kafka集群的实现方法及系统 Download PDF

Info

Publication number
CN110809047B
CN110809047B CN201911085334.2A CN201911085334A CN110809047B CN 110809047 B CN110809047 B CN 110809047B CN 201911085334 A CN201911085334 A CN 201911085334A CN 110809047 B CN110809047 B CN 110809047B
Authority
CN
China
Prior art keywords
kafka cluster
domain name
vip
external network
intranet
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
CN201911085334.2A
Other languages
English (en)
Other versions
CN110809047A (zh
Inventor
李珂
于沈课
张建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911085334.2A priority Critical patent/CN110809047B/zh
Publication of CN110809047A publication Critical patent/CN110809047A/zh
Application granted granted Critical
Publication of CN110809047B publication Critical patent/CN110809047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

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

Abstract

本发明公开了一种外网单域名连接内网kafka集群的实现方法及系统,属于云计算领域,本发明要解决的技术问题为如何实现外网通过单域名访问内网kafka集群的需求,且能够用于公有云租户侧连接管理侧服务的场景,采用的技术方案为:该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群。该系统包括kafka集群搭建单元、haproxy安装单元、keepalived安装单元、VIP与单域名映射关系建立单元和Broker修改单元。

Description

一种外网单域名连接内网kafka集群的实现方法及系统
技术领域
本发明涉及云计算领域,具体地说是一种外网单域名连接内网kafka集群的实现方法及系统。
背景技术
Kafka是一个分布式、支持分区、多副本、多订阅者,基于zookeeper协调的分布式消息系统,最大特性是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/spark流式处理引擎、web/nginx日志、消息服务等。客户端连接kafka集群生产或消费数据,建立初始连接时需要配置主机和端口列表。该列表不需要包括所有的brokers信息,因为客户端在建立连接后能够获取所有brokers的信息。但建议至少包括两个,防止一个broker宕机,客户端仍然能够通过另外一个broker连接到集群。这种默认的连接方式基于客户端与kafka集群brokers相互可以网络连通,但这并不适合公有云场景下租户侧的客户端连接管理侧的kafka集群的需求,因为租户侧和管理侧的网络是不连通的。
故如何实现外网通过单域名访问内网kafka集群的需求,且能够用于公有云租户侧连接管理侧服务的场景是目前现有技术中急需解决的问题。
专利号为CN107666516A的专利文献公开了一种基于消息热度保证kafka集群数据一致性的方法,属于数据存储与消息中间件领域。该方法包括以下步骤:S1:建立计算机编程函数partition热度模型;S2:建立热度预估模型;S3:计算副本partition的更新频率;S4:建立副本自适应一致性策略。该技术方案结合了kafka消息队列可靠性和云存储系统中的自适应同步策略的各自优点,提出基于集群消息访问热度的kafka集群副本数据同步的自适应算法,并且在预测文件热度时结合了LRU算法和LFU算法,兼顾了访问时间和访问频率,使得预测结果更加符合实际值;保证了数据的可靠性,同时降低了集群内网络开销与内存、CPU等额外源开销,有效地平衡了系统的可用性和性能,但是不能实现外网通过单域名访问内网kafka集群的需求,且能够用于公有云租户侧连接管理侧服务的场景。
发明内容
本发明的技术任务是提供一种外网单域名连接内网kafka集群的实现方法及系统,来解决如何实现外网通过单域名访问内网kafka集群的需求,且能够用于公有云租户侧连接管理侧服务的场景的问题。
本发明的技术任务是按以下方式实现的,一种外网单域名连接内网kafka集群的实现方法,该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群。
作为优选,该方法的具体步骤如下:
S1、内网机器搭建kafka集群;
S2、在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
S3、在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
S4、在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
S5、kafka集群的broker有任何修改,按照步骤S1到步骤S4进行处理。
更优地,所述步骤S1中的内网机器主机名配置成外网域名的形式,方便最终添加到外网DNS服务器中。
更优地,所述步骤S1中内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
更优地,所述代理机器的个数与安装kafka集群的内网机器相同。
更优地,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
一种外网单域名连接内网kafka集群的实现系统,该系统包括,
kafka集群搭建单元,用于完成内网机器搭建kafka集群;
haproxy安装单元,用于在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
keepalived安装单元,用于在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
VIP与单域名映射关系建立单元,用于在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
Broker修改单元,用于修改kafka集群的broker。
作为优选,所述内网机器主机名配置成外网域名的形式,方便最终添加到外网DNS服务器中;
内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
作为优选,所述代理机器的个数与安装kafka集群的内网机器相同。
作为优选,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
本发明的外网单域名连接内网kafka集群的实现方法及系统具有以下优点:
(一)本发明既实现了从外网连接内网kafka集群的需求,又简化了客户端的配置并保证了配置的稳定,用单域名的形式替代原生的主机列表形式,并不用感知kafka集群broker的修改,大大提升kafka集群的易用性;
(二)、本发明解决了外网通过单域名就可以访问内网kafka集群的需求,可以用于公有云租户侧连接管理侧服务的场景;同时单域名访问的形式简化了客户端的配置,并不用感知kafka集群的修改,保证了配置的稳定,大大提升kafka集群的易用性;
(三)、单域名的配置方式,提供了外网环境连接内网kafka集群的可行性;同时单域名的方式,既简化了外网客户端的配置,又保证了配置的稳定性,不受kafka集群broker改变的影响。
附图说明
下面结合附图对本发明进一步说明。
附图1为外网单域名连接内网kafka集群的实现方法的流程框图;
附图2为外网单域名连接内网kafka集群的实现系统的结构框图;
附图3为一个三节点的外网单域名连接内网kafka集群的示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种外网单域名连接内网kafka集群的实现方法及系统作以下详细地说明。
实施例1:
本发明的外网单域名连接内网kafka集群的实现方法,该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群。如附图1所示,具体步骤如下:
S1、内网机器搭建kafka集群;
S2、在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
S3、在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
S4、在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
S5、kafka集群的broker有任何修改,按照步骤S1到步骤S4进行处理。
其中,步骤S1中的内网机器主机名配置成外网域名的形式,方便最终添加到外网DNS服务器中。
步骤S1中内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
代理机器的个数与安装kafka集群的内网机器相同。
VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
实施例2:
如附图2所示,本发明外网单域名连接内网kafka集群的实现系统,该系统包括,
kafka集群搭建单元,用于完成内网机器搭建kafka集群;内网机器主机名配置成外网域名的形式,方便最终添加到外网DNS服务器中;内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
haproxy安装单元,用于在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;代理机器的个数与安装kafka集群的内网机器相同。
keepalived安装单元,用于在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
VIP与单域名映射关系建立单元,用于在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
Broker修改单元,用于修改kafka集群的broker。
该系统的建立过程具体如下:
(1)、内网机器主机名配置成外网域名的形式,因为需要最终添加到外网DNS服务器中;
(2)、在内网机器上搭建kafka集群,每个broker暴露名称为配置的主机名;
(3)、创建具有外网和外网地址的代理机器,代理机器个数与安装kafka集群的内网机器相同;其中,kafka集群的内网机器个数为三个,代理机器个数也为三个,如附图3所示,为一个三节点的外网单域名连接内网kafka集群;
(4)、代理机器安装haproxy,配置外网地址与kafka集群每一个broker的内网地址的映射;
(5)、代理机器安装keepalived,暴露外网VIP地址;
(6)、代理机器haproxy增加配置VIP与所有kafka集群的broker的内网地址的映射;
(7)、外网DNS服务器添加每个代理机器的外网地址与内网机器主机名的映射;
(8)、外网DNS服务器添加VIP与客户端使用的单域名的映射;
(9)、客户端配置VIP映射的单域名,即可连接内网的kafka集群;
(10)、后期如果对kafka集群的broker有任何修改,可以按照前面的步骤进行处理;只要保证VIP以及DNS服务器中VIP与域名的映射的不更改,客户端可以保证正常连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种外网单域名连接内网kafka集群的实现方法,其特征在于,该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群;具体步骤如下:
S1、内网机器搭建kafka集群;
S2、在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
S3、在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
S4、在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
S5、kafka集群的broker有任何修改,按照步骤S1到步骤S4进行处理。
2.根据权利要求1所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述步骤S1中的内网机器主机名配置成外网域名的形式。
3.根据权利要求1或2所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述步骤S1中内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
4.根据权利要求3所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述代理机器的个数与安装kafka集群的内网机器相同。
5.根据权利要求4所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
6.一种外网单域名连接内网kafka集群的实现系统,其特征在于,该系统包括,
kafka集群搭建单元,用于完成内网机器搭建kafka集群;
haproxy安装单元,用于在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
keepalived安装单元,用于在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
VIP与单域名映射关系建立单元,用于在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
Broker修改单元,用于修改kafka集群的broker。
7.根据权利要求6所述的外网单域名连接内网kafka集群的实现系统,其特征在于,所述内网机器主机名配置成外网域名的形式;
内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
8.根据权利要求6或7所述的外网单域名连接内网kafka集群的实现系统,其特征在于,所述代理机器的个数与安装kafka集群的内网机器相同。
9.根据权利要求8所述的外网单域名连接内网kafka集群的实现系统,其特征在于,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
CN201911085334.2A 2019-11-08 2019-11-08 一种外网单域名连接内网kafka集群的实现方法及系统 Active CN110809047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911085334.2A CN110809047B (zh) 2019-11-08 2019-11-08 一种外网单域名连接内网kafka集群的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911085334.2A CN110809047B (zh) 2019-11-08 2019-11-08 一种外网单域名连接内网kafka集群的实现方法及系统

Publications (2)

Publication Number Publication Date
CN110809047A CN110809047A (zh) 2020-02-18
CN110809047B true CN110809047B (zh) 2022-05-03

Family

ID=69501586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911085334.2A Active CN110809047B (zh) 2019-11-08 2019-11-08 一种外网单域名连接内网kafka集群的实现方法及系统

Country Status (1)

Country Link
CN (1) CN110809047B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022325A (zh) * 2022-06-07 2022-09-06 深圳市和讯华谷信息技术有限公司 一种Kafka集群间数据传输方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714358A (zh) * 2019-01-15 2019-05-03 广东工业大学 一种微服务化的注塑mes云平台

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9843601B2 (en) * 2011-07-06 2017-12-12 Nominum, Inc. Analyzing DNS requests for anomaly detection
US10990605B2 (en) * 2018-02-26 2021-04-27 Servicenow, Inc. Instance data replication
CN109151092B (zh) * 2018-10-11 2021-07-02 深圳互联先锋科技有限公司 一种域名解析方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714358A (zh) * 2019-01-15 2019-05-03 广东工业大学 一种微服务化的注塑mes云平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kafka集群常见的跨网络访问详解;任志远Ray;《https://blog.51cto.com/renzhiyuan/2429386》;20190814;正文 *
域名到站点的负载均衡技术一览;weixin_34189116;《https://www.cnblogs.com/wade-luffy/p/6406394.html》;20170216;正文 *

Also Published As

Publication number Publication date
CN110809047A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN108199897B (zh) 一种支持缓存管理的opc ua多服务器聚合方法
Etemad et al. Using DEVS for modeling and simulating a Fog Computing environment
CN113572831B (zh) Kubernetes集群间的通信方法、计算机设备及介质
CN113949707A (zh) 基于OpenResty和K8S的容器云服务发现和负载均衡方法
CN112042170B (zh) 用于虚拟机的节点上dhcp实现
AU2015370268A1 (en) System and method for discovering a lan synchronization candidate for a synchronized content management system
CN111970362B (zh) 基于lvs的车联网网关集群方法及系统
CN109525590B (zh) 数据包的传输方法及装置
CN107210924A (zh) 用于配置通信系统的方法和设备
CN110809047B (zh) 一种外网单域名连接内网kafka集群的实现方法及系统
CN110209498B (zh) 基于私有云的跨可用区资源调度方法
CN109582479B (zh) 一种基于反射内存卡的OpenDDS分布式通信方法
CN113810492B (zh) 基于智能网关的数据点表生成方法、装置和计算机设备
CN116896511B (zh) 一种专线入云的服务限速方法、装置、设备及存储介质
CN111064643B (zh) 一种节点服务器及其数据交互方法和相关装置
US11363113B1 (en) Dynamic micro-region formation for service provider network independent edge locations
CN116743845B (zh) 边缘服务发现方法、装置、节点设备和可读存储介质
CN101170544A (zh) 一种高可用群集系统采用单一实ip地址的通讯方法
CN112910939B (zh) 一种数据处理方法及相关装置
CN116506404A (zh) 一种域名解析方法、装置、计算机设备及存储介质
CN111865994B (zh) 一种软硬件结合网关防火墙的构建方法及其网络防护方法
KR102108526B1 (ko) 서버 내 네트워크 지연시간 측정 방법 및 그 시스템
CN111090503B (zh) 一种基于fpga芯片的高性价比云计算服务系统
CN115225450A (zh) 一种基于边缘计算的多数据机房虚拟化集群管理系统
CN117675391A (zh) 一种基于规则的分布式统一http门禁方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant after: Inspur cloud Information Technology Co.,Ltd.

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant before: Tidal Cloud Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant