互联网|你看得上瘾的斗鱼,首次开源了自家项目( 三 )


服务的可伸缩:子系统的 QPS 划分 , 根据不同 QPS 量级 , 能够对服务的容量进行估算 , 服务做到可伸缩

总的来说 , 微服务在业务规模、组织架构达到一定程度的时候 , 有很多不错的维护和治理优势 。 “ 换言之 , 不是我们选择将单体换成微服务 , 而是业务发展到一定程度需要微服务 。 评价一个企业是否需要微服务架构有个最简单的方式 , 就是两个披萨的理论 。 如果维护一个单体应用代码 , 超过了两个披萨的团队 , 就有可能人数太多导致沟通问题 , 这个时候 , 我们可能就需要做一些拆分 。 ”
拥抱开源的斗鱼
国内大厂拥抱开源的例子不在少数 。 作为一家国内知名的网络直播平台 , 斗鱼在开源界尚属新面孔 。 我们请吕超为我们分享了斗鱼的技术团队对于开源的看法 。
“ 在开源 Jupiter 之前 , 我的许多同事也都在不同程度的参与到开源社区 , 贡献代码 。 早期参与开源社区的目的 , 主要是因为因为内部需要 , 我们二开了很多开源类库 。 如果及时的把改动反馈到社区 , 能极大减轻我们的维护成本 。 随着参与次数的增多 , 逐渐产生了开源的想法 。 同时 , Go 原生的面向微服务治理的集成方案比较匮乏 。 非原生的、从其他语言生态搬过来的框架又有一定的理解成本 。 种种原因促使我们考虑把微服务框架 Jupiter 和治理平台 Juno 同时开源 , 为微服务架构方案贡献一点点力 。 ”

通过开源 Jupiter , 吕超和他的团队全面的梳理了基础框架的架构设计 , 总结了服务治理的经验 , “ 这对未来我们内部的服务架构和治理体系都有非常大的帮助 。 ” 同时 , 开源社区的积极反馈也给斗鱼的团队带来了很多有价值的意见和建议 。
“ 贡献者的反馈也还是比较多的 , 有讨论服务治理方案的、有询问架构设计的 , 甚至还有讨论到具体某行代码的 。 作为一个刚刚开源的新项目 , 这些反馈对我们都无比宝贵 。 ” 距离项目开源短短半个月的时间 , 目前 Jupiter 已经获得了 1066 个 Star。 同时 , 随着 Jupiter 社区的持续完善 , 以及与其它开源社区的互动 , 吕超相信这一定会让 Jupiter 和斗鱼内部的治理体系更加健壮 。
“ 之前更多的是个人参与 , 项目也比较分散 。 借着这次开源的机会 , 我们会整合一些开发资源 , 瞄准我们正在使用或将要使用的一些开源项目 , 参与进去 。 然后 , 推动这些项目在我们内部的使用 , 形成一个良性的互动 。 ”
吕超总结了自己对参与开源的看法 。 从个人的角度来讲 , 参与开源能有效提升个人的代码质量 。 从公司的角度来讲 , 能更有效的利用共享资源提升效率 。 总体上 , 是一件非常有益的事情 。
关于未来
斗鱼未来是否还会开源更多的项目?

吕超向我们透露 , 目前团队计划是围绕微服务框架 Jupiter 和服务治理平台 Juno , 持续的推动开源 。 过去两年 , 斗鱼内部积累了许多类库 , 比如基于内存的对象存储 bigmap , 高并发的 redis 客户端 redix , 对全链路压测的支持等 , 因为含有一些内部定制的特性 , 暂时没有开源 。 但之后团队会进一步整理 , 逐步通过 Jupiter 把这些内部的项目释放出来 。
“ 作为 Jupiter 配套的后台系统 Juno , 我们后续计划会持续完善配置中心、注册中心、监控中心、治理中心等等 , Juno 不仅会兼容 Jupiter , 也会兼容其他开源的框架 , 为 Go 微服务生态添砖加瓦 。 ”
【来源:开源中国】
声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。邮箱地址:newmedia@xxcb.cn


推荐阅读