当前位置:首页-文章-会议活动-正文

春松客服开发者会议 20221127

本周议题

插件开发的架构设计第一次讨论

开发者发言

海良 @春松客服总工程师

https://cskefu-x.feishu.cn/docx/EcvYd9Dj2oKtCYxOyQmcbG3InPe

  • 目前整体技术框架已经能够确认

    • Java
    • Javascripts
  • 插件化的方式,需要更多的关注度,尽快开始

  • 插件化的设计分享

    • 参考的分享:Jenkins
    • 扩展能力非常强大,可以在非常细致的模块进行 Plugin 的实现
      • Jenkins Taglib references 参考
      • Handing Request 参考
    • Jenkins 开发者文档是一个非常好的实践
      • user_guide
      • references
      • 春松客服的产品文档可以参考
    • Jenkinsemptyplugin 非常好的一个初始化项目的实践
    • 参考的分享:Confluence and Jira
      • 后端插件有着非常强大的扩展能力
      • 每个插件均已一个 jar file 的形式存在
        • A plugin descri
        • Java Classes
      • 支持丰富的 Plugin module type
    • Odoo 企业级应用,ERP 作为基础场景,Python 的设计下的支持
      • Composition of a module
    • Models
      • ORM Model 的定义,标准化实现
  • 插件的生命周期

    • OSGi Java 组件化方案
      • BundleContext 是 Bundle 与 OSGi Framework 建立通信的桥梁
      • 如果我们希望他们实现插件,那就需要提供对应的插件能力(运行时)
    • 前端的实现插件化方案
      • 需要有对应的人员去介绍
  • 插件的管理

    • 上传、配置、激活
    • 卸载
    • 正式
    • 插件数据上报
  • 插件的开发

    • 新插件开发
    • 插件调试
    • 灰度测试
    • JMX
  • 插件的发布

    • 版本管理
    • 插件设计

船长 @春松客服产品经理

  • 前端页面仅是我们的一种默认使用方式,所以不应该限定, 所有 API 都应该是 OPENAPI

  • 前端可以看到插件化的模式设计

  • 插件设计模式的需要考量的内容

    • 开发上手极其简单
      • 上手教程 Sample project
    • 打破接入限制
      • 不限定语言
      • 接入时机:可以在任何时机做接入
    • 插件生命周期的管理
      • 运行时动态加载
      • 用户自管理
    • 性能与稳定性
      • 插件不可以影响到现有模式
    • 现有系统也可以轻易接入到春松客服,以插件模式
  • 技术框架的设计,尽可能的简单和易扩展

    • 复杂的能力,可 以方案形式支持
  • 产品的设计目标应该是:简洁而美丽,避免任何臃肿的实现

  • 插件的分类

    • 纯后端插件
    • 前端 + 后端插件
    • 前端插件
  • 插件的发展阶段推进

    • 分步骤走
      • 先支持,以 连接 为目的的后端插件
      • 逐步推进前端模块,提供 iframe 接入能力、容器接入方式

刘勇 @春松客服技术委员

分布式 Websocket 的高可用实现,通过 RabbitMQ 实现高可用支持

部署架构的高可用实现

Redis 的高可用实现,可以不包含在咱们的系统设计中
是否在设计时,不考虑 VIP、Keepalived、微服务网关、redis 相关

Kaifuny @春松客服核心开发者

提出了疑问:

  • 插件的边界是什么?

  • 插件是给谁使用的?

    • 使用者,一线的客服管理工作人员
    • 开发者
  • Freeswith 的交互分享,对于多工作窗口的加载实现?

    • Lua 脚本可以作参考思路
  • Jenkins 这类,在基本的 CICD 的流程化作为基座,增加对应的插件完成对应 CICD 节点的能力扩展

  • 小程序类,做系统的连接,例如 CRM 和 客服系统的对接

  • Slack,后端提供开放对应的后端 Bot 的能力的实现

插件模块的分享:

  • Vue CLI:UI 插件的 API 设计
  • 前端适合采用动态加载插件能力
    • 需要支持 Nodejs 支持这个能力
    • 小程序的实现模式
      • Iframe 的实现 支持
      • 容器化实现,定义标准方法实现,然后提供对应的渲染能力

Chen Pu @春松客服开发者

本文原创,作者:船长,其版权均为春松客服所有。
如需转载,请注明出处:https://www.cskefu.com/2022/11/27/devconf-20221127/