从零开始学后端开发

  1. ✔︎ 开发工具:Intellij IDEA、webstorm

  2. ✔︎ 常用的代码部署方式有哪些?
    a. ftp上传代码 + java -jar xxx.jar
    b. docker抓取

  3. jvm

  4. 并发:响应时间、吞吐量、并发用户数
    提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。前者垂直扩展可以通过提升单机硬件性能,或者提升单机架构性能,来提高并发性,但单机性能总是有极限的,互联网分布式架构设计高并发终极解决方案还是后者:水平扩展。
    互联网分层架构中,各层次水平扩展的实践又有所不同:
    (1)反向代理层可以通过“DNS轮询”的方式来进行水平扩展;
    (2)站点层可以通过nginx来进行水平扩展;
    (3)服务层可以通过服务连接池来进行水平扩展;
    (4)数据库可以按照数据范围,或者数据哈希的方式来进行水平扩展;
    各层实施水平扩展后,能够通过增加服务器数量的方式来提升系统的性能,做到理论上的性能无限

  5. 高可用:
    常见互联网分布式架构如上,分为:
    (1)客户端层:典型调用方是浏览器browser或者手机应用APP
    (2)反向代理层:系统入口,反向代理
    (3)站点应用层:实现核心应用逻辑,返回html或者json
    (4)服务层:如果实现了服务化,就有这一层
    (5)数据-缓存层:缓存加速访问存储
    (6)数据-数据库层:数据库固化数据存储
    整个系统的高可用,又是通过每一层的冗余+自动故障转移来综合实现的。
    参考:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959728&idx=1&sn=933227840ec8cdc35d3a33ae3fe97ec5&chksm=bd2d046c8a5a8d7a13551124af36bedf68f7a6e31f6f32828678d2adb108b86b7e08c678f22f&scene=21#wechat_redirect

  6. 缓存:memcached HBase tair Redis LevelDB Cassandra MongoDB
    https://blog.csdn.net/Jesse_cool/article/details/76174778

    • memcached:多线程,非阻塞io复用的网络模型;比redis更适合高并发应用场景、数据一致性有保障 (参考https://www.imooc.com/article/23549?block_id=tuijian_wz), 如利用Memcache来存储共享Session数据

    • redis:单线程的io复用模型,可实现持久化

  7. gc策略
    调优实战:http://www.iteye.com/topic/212967
    JVM gc参数设置与分析:https://blog.csdn.net/yohoph/article/details/42041729

  8. 集群、分布式

  9. 部署工具:eureka、war、gretty

  10. thymeleaf
    简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。类似的框架 freemaker、beetl

  11. spring boot

    • webflux
  12. mongodb(MongoTemplate、MongoRepository)

  13. mybatis + mysql、druid

  14. elasticsearch:基于Lucene的搜索服务器

  15. 微服务架构:

    • dubbo
    • spring cloud
      • eureka
      • feign
      • Sleuth
      • Admin管理监控数据
      • Hystrix
      • Gateway
      • RabbitMQ
  16. vert.x

  17. node.js

  18. Restful (swaggerz自动生成文档)

  19. Kubernetes

  20. docker

  21. 性能优化

  22. 测试

    • 性能测试:jmeter、LoadRunner
    • 压力测试
    • 负载测试
    • 契约测试:pact
  23. 数据监控:elk、grafana

  24. GraphQL

其他:PowerDesigner

Contents
,