目       录

1.      概述... 2

2.      原有结构(带kafka)... 2

3.      改造后的结构(去掉kafka)... 3

4.      对比... 4


1.   概述

我们主要面向钢铁行业工业互联网公有云和私有去建设,偏向PAAS层和SAAS层应用,框架是支撑这个体系建设。现在我们的公有云的IAAS资源层使用的是第三方云平台,现在有50个左右的站点,1个站点就是一个生产单位,1个站点每天传输到公有云平台的数据大概为300-500MB,1个站点的数据包括:一级PLC及传感器的数据、原燃料的化验数据、模型计算结果数据、产量数据及人工填报的数据,我们大致把这些数据分为两大类:设备数据和业务数据,暂时不包括:经营数据、物流数据、资产数据等。数据的实时性,基本上是现场产生了数据,会秒级检测,立即上传。数据的完整性,设备数据一般用于监测,可以有丢失的情况,业务数据一般用于报表、统计和分析,要求完整性和一致性,不能多数据也不能少数据

上述就是我们的公有云平台的大致情况,下面把我们的原来的结构和改造完成的结构和大家分享一下,大家可以充分讨论。

2.   原有结构(带kafka)

接收到全国站点的数据后:

(1)    把本次传输的数据写入到redis缓存中。

(2)    把本次传输的数据编号存储到mysql数据库,形成待处理的任务。

(3)    把本次传输的数据编号发送给kafka消息列队,负载平衡通知处理端处理本次传输的数据。

(4)    处理端接收到kafka的本次传输的数据编号,从redis取出来数据,进行入库操作,关系数据、文件数据、视频数据、图片数据等。

(5)    本次传输的数据处理完成。

以上描述是接收数据后的整体流程,结构示意,如下图:

3.   改造后的结构(去掉kafka)

接收到全国站点的数据后:

(1)把本次传输的数据写入到redis缓存中。

(2)把本次传输的数据编号存储到mysql数据库,同时指定哪个处理端负责处理数据,形成待处理的任务。

(3)处理端定周期从mysql取得自己负责处理的任务,再从redis取出来数据,进行入库操作,关系数据、文件数据、视频数据、图片数据等。

(4)如果处理端服务异常挂掉,那么接收数据端会重新分配该处理端无法处理的数据处理任务。

(5)本次传输的数据处理完成

以上描述是改造后,接收数据后的整体流程,结构示意,如下图:

4.   对比

(1)    原有结构,实时的效率更高,kafka直接负载分配给处理端。

改造后结构,处理端需要定周期从mysql取得自己的处理任务,有周期耗时时间。

(2)    原有结构,如果一个处理端处理数据事务超时,kafka重新分配分区,会影响所有处理端,造成待处理任务堆积。

改造后结构,如果一个处理端挂掉了,重新分配的时间比较快,并且不影响其他处理端。

(3)    原有结构,处理环节比较多。

改造后结构,少了kafka的环节。

(4)其他网友补充……。


文章:

.NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

[视频演示].NET Core开发的iNeuOS物联网平台,实现从设备&PLC、云平台、移动APP数据链路闭环

.NET Core开发的iNeuOS物联网平台部署树霉派(raspbian),从网关到云端整体解决方案

.NET Core开发的iNeuOS物联网平台部署在Ubuntu操作系统,无缝跨平台

iNeuOS 物联网云操作系统2.0发布,集成设备容器、视图建模、机器学习三大模块

iNeuOS云操作系统,.NET Core全系打造


物联网&大数据技术 QQ群:54256083

物联网&大数据合作 QQ群:727664080

网站:http://www.ineuos.net

联系QQ:504547114

合作微信:wxzz0151

[讨论] 平台建设,我们从架构中去掉kafka?的更多相关文章

  1. Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理

    Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明:Java生鲜电商平台中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务 ...

  2. Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案

    Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...

  3. Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析

    Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析 说明:Java生鲜电商平台中,由于服务进行了拆分,很多的业务服务导致了请求的网络延迟与性能消耗,对应的这些问题,我们 ...

  4. Zookeeper在分布式架构中的应用

    Zookeeper 是一个高性能.高可靠的分布式协调系统,是 Google Chubby 的一个开源实现.Zookeeper 能够为分布式应用提供一致性服务,提供的功能包括:配置维护.域名服务.分布式 ...

  5. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

  6. 39、生鲜电商平台-redis缓存在商品中的设计与架构

    说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc ...

  7. Java生鲜电商平台-redis缓存在商品中的设计与架构

    Java生鲜电商平台-redis缓存在商品中的设计与架构 说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而 ...

  8. 时间序列大数据平台建设(Time Series Data,简称TSD)

    来源:https://blog.csdn.net/bluishglc/article/details/79277455 引言在大数据的生态系统里,时间序列数据(Time Series Data,简称T ...

  9. 天马行空-Ops平台建设概述

    1           概述 什么是Ops平台,Ops平台的目标是什么,建设的考虑点有哪些?本章节以实际生活中医院的例子来进行各形象的阐述. 医院包含各种诊断治疗设备,病历库,医生.一个孕妇需要到医院 ...

随机推荐

  1. 【Java杂货铺】用Security做权限极简入门

    原来大多数单体项目都是用的shiro,随着分布式的逐渐普及以及与Spring的天生自然的结合.Spring Security安全框架越受大家的青睐.本文会教你用SpringSecurity设计单项目的 ...

  2. python类的书写、调用

    注意:stu1=Luffy('xing',19)   和  Luffy.__init__(stu1,'xing',19) 是等价的. 查看类的使用方法 粘贴一个网上python学习资料

  3. day13-面向对象

    #解决同一类问题,使用面向对象的思想.类是制造对象的模具,类是抽象的,我们能知道它有哪些属性(name,age,saraly),但不知道具体的属性值. #看下面代码:类Penson制造了实例化对象re ...

  4. 吴裕雄--天生自然python学习笔记:python处理word文档

    Office 文件是我们日常工作生活中都经常用到的文件格 式,其中以 Word 格式的文件最为常用 . Python 可通过 Win32com 纽件对 Micro so位 Office 文件 进行存取 ...

  5. Kafka、RabbitMQ、RocketMQ、ActiveMQ

    一.资料文档 Kafka:中.有kafka作者自己写的书,网上资料也有一些.rabbitmq:多.有一些不错的书,网上资料多.zeromq:少.没有专门写zeromq的书,网上的资料多是一些代码的实现 ...

  6. VisionPro控件的使用 C# 开发篇

    VisionPro 常用控件的说明 工具设置窗体 CogPMAlignEditV2  [ 模版匹配设置窗体控件 ] CogPMAlignEditV2.Subject : 工具关联对象 如:CogPMA ...

  7. made his acquaintance|adequate|advisable|announce|contrived to|made up|toss|considering that

    PHRASE 与(某人)初次相识;结识(某人)When you make someone's acquaintance, you meet them for the first time and ge ...

  8. [LC] 240. Search a 2D Matrix II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  9. Python之configparser配置文件的读取

    配置文件名 config.ini 文件内容: [linux] ip:10.0.13.26 port:22 username:root password:W2ynE6b58wheeFho [mysql] ...

  10. OpenResty+缓存穿透基本介绍

    OpenResty                1.lua表达式                 2.Nginx的安装                3.OpenResty              ...