CN110809047A - 一种外网单域名连接内网kafka集群的实现方法及*** - Google Patents
一种外网单域名连接内网kafka集群的实现方法及*** Download PDFInfo
- Publication number
- CN110809047A CN110809047A CN201911085334.2A CN201911085334A CN110809047A CN 110809047 A CN110809047 A CN 110809047A CN 201911085334 A CN201911085334 A CN 201911085334A CN 110809047 A CN110809047 A CN 110809047A
- Authority
- CN
- China
- Prior art keywords
- kafka cluster
- domain name
- external network
- vip
- single domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种外网单域名连接内网kafka集群的实现方法及***,属于云计算领域,本发明要解决的技术问题为如何实现外网通过单域名访问内网kafka集群的需求,且能够用于公有云租户侧连接管理侧服务的场景,采用的技术方案为:该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群。该***包括kafka集群搭建单元、haproxy安装单元、keepalived安装单元、VIP与单域名映射关系建立单元和Broker修改单元。
Description
技术领域
本发明涉及云计算领域,具体地说是一种外网单域名连接内网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 (10)
1.一种外网单域名连接内网kafka集群的实现方法,其特征在于,该方法是使用每个haproxy代理kafka集群的每个broker,再通过keepalived暴露VIP代理kafka集群的所有broker,结合外网DNS服务器添加对每个haproxy和VIP与域名的映射,实现外网单域名连接内网kafka集群。
2.根据权利要求1所述的外网单域名连接内网kafka集群的实现方法,其特征在于,该方法的具体步骤如下:
S1、内网机器搭建kafka集群;
S2、在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
S3、在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
S4、在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
S5、kafka集群的broker有任何修改,按照步骤S1到步骤S4进行处理。
3.根据权利要求1或2所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述步骤S1中的内网机器主机名配置成外网域名的形式。
4.根据权利要求3所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述步骤S1中内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
5.根据权利要求2所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述代理机器的个数与安装kafka集群的内网机器相同。
6.根据权利要求1或2所述的外网单域名连接内网kafka集群的实现方法,其特征在于,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
7.一种外网单域名连接内网kafka集群的实现***,其特征在于,该***包括,
kafka集群搭建单元,用于完成内网机器搭建kafka集群;
haproxy安装单元,用于在具有外网和内网地址的代理机器安装haproxy,建立代理机器的外网地址与kafka集群broker的内网地址的一一映射关系;
keepalived安装单元,用于在代理机器安装keepalived,暴露外网VIP地址并建立VIP与所有kafka集群broker的一对多映射关系;
VIP与单域名映射关系建立单元,用于在外网DNS服务器添加VIP与客户端使用的单域名的映射,代理机器的外网地址与内网机器主机名的映射,实现外网的客户端配置单域名便能够连接内网的kafka集群;
Broker修改单元,用于修改kafka集群的broker。
8.根据权利要求7所述的外网单域名连接内网kafka集群的实现***,其特征在于,所述内网机器主机名配置成外网域名的形式;
内网机器搭建kafka集群时,每个broker暴露名称为配置的主机名。
9.根据权利要求7所述的外网单域名连接内网kafka集群的实现***,其特征在于,所述代理机器的个数与安装kafka集群的内网机器相同。
10.根据权利要求7所述的外网单域名连接内网kafka集群的实现***,其特征在于,所述VIP以及外网DNS服务器中VIP与域名的映射不更改,客户端便能够正常连接内网的kafka集群。
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 true CN110809047A (zh) | 2020-02-18 |
CN110809047B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124976A (zh) * | 2021-11-30 | 2022-03-01 | 北京中电普华信息技术有限公司 | 一种实现内外网穿透的业务请求处理***及方法 |
CN115022325A (zh) * | 2022-06-07 | 2022-09-06 | 深圳市和讯华谷信息技术有限公司 | 一种Kafka集群间数据传输方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065611A1 (en) * | 2011-07-06 | 2016-03-03 | Nominum, Inc. | Analyzing dns requests for anomaly detection |
CN109151092A (zh) * | 2018-10-11 | 2019-01-04 | 深圳互联先锋科技有限公司 | 一种域名解析方法 |
CN109714358A (zh) * | 2019-01-15 | 2019-05-03 | 广东工业大学 | 一种微服务化的注塑mes云平台 |
US20190266276A1 (en) * | 2018-02-26 | 2019-08-29 | Servicenow, Inc. | Instance data replication |
-
2019
- 2019-11-08 CN CN201911085334.2A patent/CN110809047B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065611A1 (en) * | 2011-07-06 | 2016-03-03 | Nominum, Inc. | Analyzing dns requests for anomaly detection |
US20190266276A1 (en) * | 2018-02-26 | 2019-08-29 | Servicenow, Inc. | Instance data replication |
CN109151092A (zh) * | 2018-10-11 | 2019-01-04 | 深圳互联先锋科技有限公司 | 一种域名解析方法 |
CN109714358A (zh) * | 2019-01-15 | 2019-05-03 | 广东工业大学 | 一种微服务化的注塑mes云平台 |
Non-Patent Citations (2)
Title |
---|
WEIXIN_34189116: "域名到站点的负载均衡技术一览", 《HTTPS://WWW.CNBLOGS.COM/WADE-LUFFY/P/6406394.HTML》 * |
任志远RAY: "Kafka集群常见的跨网络访问详解", 《HTTPS://BLOG.51CTO.COM/RENZHIYUAN/2429386》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124976A (zh) * | 2021-11-30 | 2022-03-01 | 北京中电普华信息技术有限公司 | 一种实现内外网穿透的业务请求处理***及方法 |
CN115022325A (zh) * | 2022-06-07 | 2022-09-06 | 深圳市和讯华谷信息技术有限公司 | 一种Kafka集群间数据传输方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110809047B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Etemad et al. | Using DEVS for modeling and simulating a Fog Computing environment | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
CN110809047B (zh) | 一种外网单域名连接内网kafka集群的实现方法及*** | |
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) | 用于配置通信***的方法和设备 | |
CN113810492B (zh) | 基于智能网关的数据点表生成方法、装置和计算机设备 | |
CN110209498B (zh) | 基于私有云的跨可用区资源调度方法 | |
CN109582479B (zh) | 一种基于反射内存卡的OpenDDS分布式通信方法 | |
CN116896511B (zh) | 一种专线入云的服务限速方法、装置、设备及存储介质 | |
CN111064643B (zh) | 一种节点服务器及其数据交互方法和相关装置 | |
US11363113B1 (en) | Dynamic micro-region formation for service provider network independent edge locations | |
CN112910939B (zh) | 一种数据处理方法及相关装置 | |
CN116743845B (zh) | 边缘服务发现方法、装置、节点设备和可读存储介质 | |
CN101170544A (zh) | 一种高可用群集***采用单一实ip地址的通讯方法 | |
CN113746653B (zh) | 网关配置方法、客户机、服务器和存储介质 | |
CN116506404A (zh) | 一种域名解析方法、装置、计算机设备及存储介质 | |
CN111865994B (zh) | 一种软硬件结合网关防火墙的构建方法及其网络防护方法 | |
KR102108526B1 (ko) | 서버 내 네트워크 지연시간 측정 방법 및 그 시스템 | |
CN118400339A (zh) | 一种租户管理方法、装置、控制器及存储介质 | |
CN115225450A (zh) | 一种基于边缘计算的多数据机房虚拟化集群管理*** | |
CN117675391A (zh) | 一种基于规则的分布式统一http门禁方法 | |
CN117082033A (zh) | 存储设备与主机网络连接建立方法、装置、设备及介质 |
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 |