又到了写年终总结的时候了。每当这个时候思绪总是翻江倒海,因为太久没有反思和总结的缘故,一年才总结一次,确实是有点久,欠的账的太多,梳理起来有点费劲。这里依旧还是写跟点跟工作/技术相关的总结。

盘点

2017这一年自己从前到后主导了个小项目,技术体系使用的openresty + spring boot/cloud + postgres + statsd + graphite + grafana + sentry + elasticsearch + kafka + docker + kubernetes。这一年依旧是延续上面的技术架构进行深入:

  • docker & kubernetes(使用级别)
  • spring cloud(实践及扩展级别)
  • spring security(使用及扩展级别)
  • kafka(使用及了解基本原理)
  • redis / postgres / mongo / elasticsearch(使用级别)

说说关系型数据库,一直对SQL不感兴趣,也没有深入研究,大底是面向对象看的太多了,另外看过了太多复杂业务需求写复杂SQL然后把系统搞挂的例子,总是觉得通过其他方式的实现是可以替代复杂SQL的,而且性能更优。NOSQL的出现,很多非事务性的查询,基本都可以通过将数据按查询需求结构化/冗余化同步到NOSQL里头来实现。

其他几个NOSQL,若要排行,估计redis得优先,毕竟使用太广了,明年估计得再深入学学redis;对mongo不是太有好感,像分片复制啥的,感觉都不如elasticsearch成熟,这里头要在排序,elasticsearch排在mongo前面;elasticsearch的话,以前有想过要深入学习的,不过版本变化太快了,以前还是1.x版本,如今都6.x版本了,欲哭无泪,特别是java api的使用,学的疲于奔命。还有就是mongo跟elasticsearch的查询语法学习成本太高了,elasticsearch还好一点,有ES SQL插件大部分场景可以用SQL来查询,还是比较爽歪歪的,mongo就没有SQL插件来查,于是就更不想学mongo了。

  • rabbitmq(基本使用)
  • openresty(稍微上手)
  • arch / system design(入门级别)

评价

  • 收获

体验了一下从零到一的后端技术架构与实现,期望是初步具备了一个人出去创业拉起一整套后端技术架构与实现的能力

  • 不足

系统访问量太低,不容易暴露问题,部分技术实现在访问量在百万级、千万级、亿级是不同的,而且高并发场景会把一些技术实现的不是太好的问题给暴露出来,这点算是今年做的这个项目的硬伤的。

目标完成情况

  • 继续每天sg博客,继续提升sg声望(完成)
  • 多回答stackoverflow的问题(不达标)
  • 每周末技术复盘(没完成)
  • 夏天还是需要继续跑步,期望能学会游泳(完成)
  • 少加班、多提升时间以及项目管理能力(不达标)

展望

2018年学习计划:

  • 重点学习

非技术类,目标是研究金融投资相关以及跟技术的结合。

  • 前沿技术探索

具体指标

  • 继续每天sg,sg声望突破10000
  • stackoverflow声望突破1000
  • 每周技术复盘/CASE STUDY(完成let it crash系列)
  • 每周完成至少一篇投资类文章(逐步深入金融业务知识)
  • 年度跑步公里数达到100+公里
  • 完成系统安全、分布式缓存、open-tracing、nginx/openresty的学习
  • service mesh研究与实践
  • 金融技术相关尝试
  • 高并发多找机会实践
  • 多研究优秀的开源项目架构/代码
  • 多写开源项目

文章导航

docker / kubernetes

http / tcp / network / io

nginx / openresty

tomcat

java / jvm

image / pdf

spring-boot

spring-cloud

security / spring security / oauth2

jdbc / redis / elasticsearch / mongo

kafka

监控

arch / design / data structure

mac /linux /app build

测试 / 部署

doc

03-05 19:07