node.js中kafka的封装和高并发消费限流优雅降级以及egg-kafka的封装说明

HI!,你好,我是zane,zanePerfor是一款我开发的一个前端性能监控平台,现在支持web浏览器端和微信小程序端。

我定义为一款完整,高性能,高可用的前端性能监控系统,这是未来会达到的目的,现今的架构也基本支持了高可用,高性能的部署。实际上还不够,在很多地方还有优化的空间,我会持续的优化和升级。

开源不易,如果你也热爱技术,拥抱开源,希望能小小的支持给个star。

项目的github地址:https://github.com/wangweianger/zanePerfor

项目开发文档说明:https://blog.seosiwei.com/performance/index.html

 

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 
这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 
这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 
针对于zanePerfor这样的用户访问行为,页面性能监控系统,但又要求实时处理的限制,这是一个可行的解决方案。

 

zanePerfor中对于kafka的应用使用了kafka-node包,并在此基础上封装了egg-kafka插件。

zanePerfor初步的探索了kafka在node.js中的应用,以下内容主要讲解kafka在zanePerfor项目中的使用方式。

如果你对在node.js中使用kafka有更多的建议和心得,也希望能跟我一起分享。

 

zanePerfor项目中kafka应用介绍:

启用kafka配置说明:

// config/config.default.js
// kafka 配置 (report_data_type=kafka生效)
// 配置参考 https://www.npmjs.com/package/kafka-node
config.kafka = {
    client: {
        kafkaHost: 'localhost:9092',
    },
    producer: {
        web: {
            topic: 'zane_perfor_web',
            partition: 0, // default 0
            attributes: 0, // default: 0
            // timestamp: Date.now(),
        },
        wx: {
            topic: 'zane_perfor_wx',
        },
    },
    // consumer 和 consumerGroup消费任选其一即可
    // 优先选择consumer消费,两种消费配置任留一种即可
    consumer: {
        web: {
            topic: 'zane_perfor_web',
            offset: 0, // default 0
            partition: 0, // default 0
            isone: false, // 此参数默认不可更改
            total_limit: 10000, // 消息队列消费池限制数, 0:不限制 number: 限制条数 高并发时服务优雅降级方案
      
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值