在一家软件公司里面,我们经常把开发人员分为前端开发人员,后端开发人员,那么我们怎么界定前端开发和后端开发呢。简单地说就是用户在屏幕上看到的和触摸到的体验,都是前端开发做的,反之用户在屏幕上看不到的东西,都是后端开发做的。
之前有一位前端工程师对我说后端比前端简单多了,后端无非就是将前端的数据存储在数据库里,将数据库里的数据返回给前端。如果是相对简单的web系统,这样说当然也没错,但当我们面对的是高流量,高并发的分布式系统,那么后端开发的工作就不是一句简单的增删改查能够解释的。
后端开发揽括的范围非常之广,这里以Java后端开发举例。
假设我们要开发一个电商网站,作为Java后端开发,我们需要做些什么?
1、首先我们要学会Java语言。掌握好Java语言以后我们需要学习框架,比如Srping全家桶,Hibernate等ORM映射框架,然后我们需要掌握数据库,如MySql,Oracle等。
2、掌握了Web框架和数据库以后,我们就可以编写API提供给前端调用了。
3、项目开发好以后需要准备上线,通常Java Web应用都是部署在Linux机器上,这就要求我们熟悉Linux系统,如果部署的服务多了,还需要引入持续集成来进行应用发布,常用的有Jenkins。
4、项目上线以后,有一个使用了多线程的接口出了问题,这个时候排查就需要我们掌握计算机基础,包括计算机组成原理,计算机网络,操作系统,编译原理等等。
5、随着产品使用的人越来越多,接口响应已经有点慢了,这时候我们需要引入一些中间件来协助我们提高接口响应速度,比如Elasticsearch,缓存,消息队列等等。
6、产品的访问量日益增长,单体架构或者普通的集群已经无法满足需求,这时候我们就需要引入分布式系统,这就要求我们掌握分布式系统设计,微服务等知识。
7、引入分布式以后,当系统出现问题时,排查起来比较困难,这时我们需要引入追踪功能,如追踪管理APM,CAT等,线上服务器资源越来越多,需要进行监控和报警,这就需要引入监控功能,如Prometheus全家桶,Zabix等。
8、随着系统的日渐庞大,我们还需要引入Docker和K8s等容器技术来帮助我们进行发布和部署。
9、产品运行了一段时间,积累了很多数据,这个时候还需要利用大数据来进行数据存储和分析。
相同的逻辑也可以迁移到其他的业务当中,所以,想当一名好后端,学无止境啊…
👂你曾经踩过哪些后端的坑?说出来听听啊~👂
版权声明:本内容由神州数码云基地团队整理编辑,转载请注明出处!