好未来开源第二波:Go服务开发解决方案正式开源!
好未来内部坚持开源共享,通过“开放·共享·合力开发”的模式,推动开源文化氛围的形成与技术组织变革,同时通过开源文化的建设,促进整个教育生态技术共享,提升教育科技实力。
近期由“好未来”技术团队开源的高性能Go服务开发解决方案正式上线!该解决方案覆盖大部分开发场景,从框架到组件工具,极大提升了开发效率,有效的降低了开发风险,好未来内部目前超过50个团队项目在使用该解决方案!
好未来Go服务开发解决方案
前言
Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。
Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势。
好未来Go服务开发解决方案也是传承了Go语言的设计精髓,一切面向简单编程,通过融合真实业务场景,研究用户使用习惯以及痛点,结合优秀的开源成果,对外输出了大量的开发提效类框架和组件工具。
好未来Go服务开发解决方案从2018年5月份至今已经迭代了两年半的时间,陆续输出4个框架,一个脚手架以及5个组件工具集合,覆盖了多个核心团队业务,同时通过一线业务的反馈和诉求,使我们的整个解决方案更加贴近一线业务开发。
好未来技术团队崇尚 脚踏实地、仰望星空的精神。
欢迎大家Star该项目,也欢迎大家提交PR以及社区共建。
设计方向
简单、聚焦
最初,我们只想统一框架和类库,我们从提高复用为切入点,把框架和类库做了统一,并且接入了公司各种中心平台,但是随着公司开发人员的扩张,越来越多的新伙伴对这些框架和组件的学习、使用以及培训成本变得非常高,很多伙伴需要花很久的时间搭建服务,做服务侧开发,所以我们深入思考了下,我们要做傻瓜式的框架和类库,让开发者更聚焦于他擅长的方向,服务管理,服务治理全部由框架和组件支持,并且代码管理,通用代码一键生成均可以自动化,这样开发者们可以把精力放在业务逻辑开发,不用再过多担心除业务功能以外的问题,极大的提高了开发效率,降低了学习成本,同时使门槛变得更低。
开放、包容
当我们解决了门槛问题后,我们发现有很多业务已经使用了其他组件类库,比如日志,有使用logrus,有使用zap,那我们我们怎么快速帮助业务去做统一接入,之后我们针对生态做了插件化支持,我们开放了插件开发模式,让不同的解决方案接入我们的方案更加简单,同时加强了我们的解决方案与主流技术方案的融合能力,我们提倡个性化开发,尽可能的保留开发者的所有技术想法,通过接入我们的方案,让开发变得越来越简单。
开源价值
● 安全稳定高性能
基于成熟开源框架二次开发,没有改动开源代码,背靠成熟社区
● 灵活易用配套全
拥有大量的配套类库以及工具组件,不出户足以自给自足
● 插件解决个性化
所有框架和大部分组件类库均支持插件开发,个性化定制
● 管理周到把心省
代码管理,服务管理,插件管理,进程核心代码均不用操心,一键搞定
● 业务聚焦提效高
通过大量的自动集成配置,让开发者花更多的时间聚焦于业务逻辑开发,高效赋能业务
功能介绍
好未来Go服务开发解决方案由4部分组成:
● 应用层框架
● 服务层框架
● 消息中间件框架
● 基础配套组件
性能压测
● Gaea框架压测
1.测试环境:
OS:virtualbox 虚拟机上 centos7
CPU:1
Memory:1G
2.测试结果:
● Odin性能压测
1.测试环境:
OS:CentOS Linux release 7.4.1708 (Core)
CPU:4
Memory:8G
2.测试结果:
Go服务开源项目作者
姓名 | 事业部 | 部门 |
吴国福 | 网校事业部 | 学服研发部 |
王龙飞 | 网校事业部 | 学服研发部 |
何海涛 | 网校事业部 | 学习研发部 |
武文科 | 网校事业部 | 学习研发部 |
郭雨田 | 网校事业部 | 学习研发部 |
李辉 | 网校事业部 | 学习研发部 |
谢华亮 | 网校事业部 | 学习研发部 |
田峰 | 网校事业部 | 学服研发部 |
陈雷 | 网校事业部 | 互联网研发部 |
共建规则
一切以简单为核心,聚焦业务开发效率。
共建流程:提交pr - 设计审核 - 代码review - 测试验证 - 版本审核
项目源码与文档
项目介绍:
扫描左侧二维码
查看详细项目介绍
● Web服务开发框架:
代码地址:https://github.com/tal-tech/gaea
文档地址:https://www.yuque.com/tal-tech/gaea
● 微服务开发框架:
代码地址:https://github.com/tal-tech/odin
文档地址:https://www.yuque.com/tal-tech/odin
社群交流
微信扫一扫,申请加入官方交流微信群
我就知道你“在看”