Kafka学习笔记 - 4 - 实战 - 1 - 微信小程序开发

Posted by WZhong on Wednesday, August 31, 2022

TOC

基本介绍

  • 掌握:微信小程序后台开发
  • 掌握:微信小程序发布与部署流程
  • 掌握:Kafka Producer实战开发

微信小程序后台开发

  • 业务介绍

    • 准备工作
      • 预定义小程序作用,并开发后端服务
      • 后端服务增加 HTTPS 支持
      • 注册个人小程序并发布前端服务
    • 接口文档(接口URL、接口请求方式、请求参数、请求参数实例、响应结果、result、template、响应结果演示)
      • 查询模板
      • 结果查询
      • 结果统计
  • 基础环境

    • 依赖 lombok、guava、fastjson
    • controller、service、common(BaseResponseVO、CorsFilter)、utils(FileUtils)
  • 微信模板配置

    • conf/WechatTemplateProperties.java
    • application.yml
    • template/template.json、template/templateResult.json
  • 业务逻辑

    • WechatTemplateService.java
      • getTemplate()
      • getStatistics()
      • report()

Kafka Producer实战开发

  • 创建 producer

    • application.yml 添加 kafka 配置
    • conf/KafkaProperties.java
    • conf/KafkaConf.java
      • kafkaProducer() - 注入bean
  • report()

    • 构建 producerRecord
    • producer.send()
  • 注意点:

    • Kafka producer 是线程安全的,建议多线程复用:如果每个线程都创建producer,会出现大量上下文切换或争抢的情况,影响
    • Kafka producer 的 key:
      • 可根据 key 完成 partition 的负载均衡
      • 合理的 key 设计可以让 Flink、Spark streaming 之类的实时分析工具做快速处理
      • ack=all 时,kafka 层面就已经有了只有一次的消息投递保障,如果还不放心,可以自行处理异常

微信小程序发布与部署流程

  • 后端

    • 域名绑定ip
    • 后端服务增加 HTTPS 支持
      • 云商申请 SSL 证书
      • 集成到工程
        • 端口 443
        • ssl.key-store ssl.key-store-password
    • 打包并上传服务器
      • template、application.yml、logback.xml、jar、pfx
      • 打包zip 或 tar -zcvf xxx.tgz xxx/
      • 上传
      • 修改 yml
        • 文件路径
        • server地址
      • vi start.sh
        • nohup java -jar kafka-template.jar &
        • chmod u+x start.sh
    • 安全组打开 443
    • 测试
  • 前端

    • 安装 node.js 并配置环境变量
    • 安装小程序开发工具
      • project.config.json 中替换 appId
      • config.ts 中替换服务地址 baseUrl
    • 安装 node 依赖
    • 导入开发工具

「真诚赞赏,手留余香」

WZhong

真诚赞赏,手留余香

使用微信扫描二维码完成支付