推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
淘系技术2021-09-03

上周,我们推出了26个好玩又有挑战的前端练习项目

不少同学留言说,那后端的呢?后端也要!

淘系工程师一呼就应,我们邀请了2位淘系技术后端工程师,筛选出10个难度层层递进,好玩且实用的后端项目,包含java类库中的“瑞士军刀”工具、可视化API展现等等,难度依然分为【初级篇:4个】【中级篇:3个】【高级篇:3个】,不同学习诉求的同学可按需选择~

初级篇

guava

guava是一个包含各种集合类型及工具类的java库,被誉为java类库中的瑞士军刀,提供多种java标准库之外的复杂集合、map、图等高级数据结构,并包含非常多常用的工具类,例如缓存、IO、哈希、并发、string工具类等。

guice

guice是一个轻量级的java依赖注入(DI)框架。开发中大型项目时基本上都离不开依赖注入框架的使用,相比spring的庞大复杂,guice是很好的DI入门框架,纯粹的DI能力及少量的代码能够让你快速使用和理解依赖注入的原理。

feign

feign是一个java HTTP客户端绑定器,使用它能通过类似spring mvc注解方式快速创建restful API接口,大大简化了调用远程http接口时所需工作量。

swagger-ui

swagger-ui是一个可视化API展现工具,它根据代码里的OpenAPI规范自动生成带有可视化文档的可交互API界面,便于后端实现和客户端使用。

中级篇

netty

Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

reactor

reactor是一个反应式编程(Reactive Streams )的一个具体实现,它使用一种优雅的易于阅读理解的流式编程方式提供java异步编程模型。

arthas

arthas是开源的java诊断工具,当你的线上JAVA服务出现问题而又无法远程debug时,此时可通过arthas查看运行中的java进程状态、监测程序处理过程等而无需修改代码或者重启服务。

高级篇

zookeeper

zookeeper是一个java编写的分布式协调框架,它基于Paxos一致性算法,为分布式系统(例如hadoop、hbase、jstorm等)提供配置、消息队列、分布式所、命名服务等能力,是分布式系统的“大脑”。

flink

flink是一个开源的流处理框架,具有强大的流处理和批处理能力。通过它你可使用简单的java代码甚至sql完成一系列复杂的实时计算或离线计算功能。

Kubernetes

Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践,这个项目偏底层,说不上好玩,但是比较硬核。

  • 官网:https://kubernetes.io/
  • github:https://github.com/kubernetes/kubernetes