use*_*166 7 apache-kafka kafka-consumer-api kafka-producer-api
我刚刚开始学习卡夫卡。因此,尝试构建一个社交媒体Web应用程序。我很清楚如何在后端使用Kafka(从后端到数据库和其他服务的通信)。
但是,我不确定前端应如何与后端通信。我当时考虑的架构为:Frontend-> Kafka-> Backend。
前端充当生产者,后端充当消费者。在这种情况下,前端应该具有将所有必需的资源发布到Kafka经纪人(即使我在Kafka上实现了安全性)。现在,这种情况是否可行:
可以说我冒充了前端,并向我的Kafka经纪人发送了荒唐/无效的消息。现在,当它们到达我的后端时,我可以处理和过滤这些消息。但我知道Kafka会暂时存储这些消息。如果将这种“假”消息大量发布到我的Kafka服务器上,我的Kafka服务器不会面对DDOS问题,因为无论如何它们都会被存储,因为它们不会被过滤掉,直到它们被后端消耗掉为止?
如果是这样,我该如何预防呢?
还是这不是一个好选择?我还可以尝试使用REST进行前端/后端通信,然后从后端使用Kafka与数据库和其他内容进行通信。
或者,我可以有一个中间件(还是REST)来检测并过滤掉此类消息。
最简单的方法是让前端生产到 Kafka REST 代理
在此处查看详细信息https://docs.confluent.io/1.0/kafka-rest/docs/intro.html
这样,您的前端就不需要 kafka 客户端代码,您可以将 HTTP(S) 与标准的现成负载均衡器和 API 管理工具一起使用。
| 归档时间: |
|
| 查看次数: |
2504 次 |
| 最近记录: |