OpenIM 的集群化设计 | Kubernetes 部署 | 方案讨论 | 会议总结

会议和参考链接 会议参考文档:https://nsddd.notion.site/2899028707604b8090b36677c031cdf8?pvs=4 视频回放:Bilibili: https://www.bilibili.com/video/BV1s8411q7Um/?spm_id_from=333.999.0.0 评论: 那个中间件我觉得可以换成 https://kubeblocks.io 可以帮你管理多个数据库中间件 im 读取配置信息,读取的是 config/ 目录,代码中硬编码补充的 config.yaml,是否可以自动化来对 不同 服务的 rpc 划分,然后统一目录,默认读取的是二进制运行路径的上两层 openim version: https://github.com/openimsdk/open-im-server/blob/main/docs/conversions/version.md 存储可以考虑使用 : https://github.com/openebs/openebs https://github.com/rook/rook 核心目标: 开源项目和非开源项目的最大的区别,就是一套完整的解决方案。 非开源项目的 集群化部署方案的设计,比较在乎稳定,以及高效,快速,最好一键部署。 开源项目的 集群化部署方案的设计,比较在乎通用性,上手的难度,后期的维护难度,基础架构的稳定性。后面的开发者或者是贡献者,使用者,可以基于此创建自己的集群化部署方案,以及解决方案,并且成为 OpenIM 的集群化部署方案的使用案例。 OpenIM 集群化部署讨论会记录 先总结,后详细解读 ~ 关于开源部署环境的演变与变化 新部署方法:一种集二进制和部署于一体的一键操作。 Kubernetes 部署:在 Kubernetes 环境中实现一键部署的新型方案。 现存问题:涉及日志收集、服务重启追踪等,将在后续对这些问题进行改进并寻求解决方案。 CICD的开发与维护策略 CICD 概念:通过CICD实现Code Streaming。 开发阶段:需要编写出镜像文件。GitHub的CSD功能:已实现但尚待深入研究。 版本标记策略:推荐使用local branch而非直接标签。 关于软件开发与测试的实践经验分享 本地开发:推荐使用“auto-compile”工具快速生成稳定版本的镜像。 团队协作:介绍了各团队间如何协同进行开发、测试和发布。 代码重用:提及将库中的函数或方法封装为组件,实现跨项目调用。 Docker Deployment与Service Configuration 配置传递:主要通过如K8S中的配置文件。 部署方式:介绍了二进制部署和可部署两种策略,并讨论了各自的优缺点。 关于容器化部署和代码优化的探讨 容器化:提议将多个进程合并为一个容器进行管理。 部署方式兼容性:讨论了如何实现并进行微调。 技术架构和组件:如Helm chat、OpenM等,及其在系统中的作用和重要性。 关于一键部署的技术问题与解决方案 一键部署问题:可能的问题有无法翻墙、无法安装等。 解决方案:1) 将现有方案通用化;2) 采用第三方服务实现一键部署。 K8S部署与自动化的优化策略 部署工具:如使用Shell实现一键部署、K ks部署等。 组件整合:考虑如何将不同组件组合成完整解决方案,并保持不同环境中的一致性。 微服务架构中的最佳实践 应用程序部署:建议将应用程序划分为不同的容器,每个容器内运行一个业务进程。 代码整合:提议将相关代码整合为一个文件进行管理。 微服务的优化与部署策略 微服务划分:强调避免过于细致的模块分割。 自动化:部署时不增加额外维护工作量,采用自动化策略。 关于存储方式和编排工具的选择 文件存储:如使用NFS作为本地分布式文件存储。 编排工具:推荐使用 rook 进行对象存储编排,数据库使用专用编排器。 NFS与Flexible File System的应用 苹果手机上的MFS:讨论了其使用情况和如何同步全局配置文件到各业务模块。 PV/PVC管理数据:示例讲解如何使用此文件系统进行数据管理。 二进制代码与配置文件的应用 代码适配:通过配置文件进行,涉及传递配置路径、文件映射等细节。 关于软件开发中的优化与改进 项目脚本编写:讨论了性能瓶颈、部署统一处理、服务发现模块的优化建议。 关于Web应用配置文件的编写与优化 IP分配:配置文件用于IP分配和模块间分段处理。 接口应用:如在不同环境使用不同的接口实现心跳等功能。 技术架构改进:优化轻量化、提高开发效率和维护效果等。 结论:本次讨论会涉及了开源部署环境的多个方面,从软件开发、部署、测试到微服务架构和存储方式等多个领域。希望通过此次讨论,可以为OpenIM的集群化部署提供有力的参考和指导。...

September 17, 2023 · 2 分钟 · 342 字 · 熊鑫伟,我