2020年浑浑噩噩的过去了,一年里自己也接触了一些知识。当然也欠缺许多东西。
20年自己学习了SpringCloud全家桶,包括Eureka注册中心、Ribbon负载均衡、Openfeign远程服务调用、Hystrix服务熔断以及降级、Gateway服务网关、Sleuth链路追踪等相关组件;也学习了Apollo做分布式配置中心;并学习了SpringcloudAlibaba相关知识,包括Nacos做服务注册中心和服务配置中心、Sentinel限流熔断以及降级、Seata分布式事务的简单实用。
也学习了RabbitMQ,并得以在项目中实际运用,包括其死信队列、延时队列等。关于分布式相关组件还学习了xxl-job分布式服务调度中心、flyway分布式脚本管理等,并且有幸实际运用。
也学习了 ElasticSearch搜索引擎,并且搭建了ELK日志搜索引擎。ElasticSearch的运用场景还是非常多的,在分布式系统中,日志的分析以及搜索底层都是通过ES进行的。当然ES也可以作为数据库来进行使用,尤其是在处理大量的文本信息的时候,比如文档管理系统以及其他文本处理系统。还有一种使用方式是ES结合Mysql进行使用,mysql表中记录ES中的Mapping字段映射关系,然后根据Mysql记录的Mapping映射关系,动态的去ES中查询Document。
也学习了Jenkins自动部署工具的使用以及搭建了Jenkins服务器。Jenkins结合Webhook可以实现自动部署,另外Jenkins也可以实现前端vue项目的自动打包、部署以及后端Maven项目的自动打包部署,其实可以理解为可以在Jenkins服务器上安装一些Maven、Node环境,然后执行打包命令之后上传到远程服务器并执行相应的启动脚本。
另外学习了Docker,并且有幸在实际生产环境中基于docker制作了自己的镜像并且离线的方式部署到客户的内网环境中。现在安装软件基于docker安装是非常方便的,比如在学习RabbitMQ的时候,如果自己手动安装需要安装Erlang以及RabbitMQ,基于docker安装就比较方便了。直接将别人制作好的镜像拉取下来就可以启动运行。另外Maven也有相应的docker插件,可以将自己的boot项目快速制作成docker镜像并发布到远程仓库。
自己接下来要学习的东西包括: k8s、netty、Kafka、Hadoop、Spring的源码阅读等。主要目标是多学一些分布式相关知识与大数据相关。当然了,也会继续学习python、node.js等相关知识;深入理解vue原理以及用vue开发一些web以及app的东西,以及微信小程序等。