工作十年,从创业公司到知名大厂。感慨良多。从一个小公司的伪全栈工程师,负责后端,前端,运维上线,包括数据统计跑sql这些杂七杂八的事情。到跳槽到知名大厂。由伪全栈到专一的事情再到做架构。对于技术实施层面,有很多的思考。最近一直在设想一个问题,真的要走创业这条路。从技术来讲。选择什么是能够最快,最好,最合适的来完成公司的一套技术体系。
重点干货:
我从事的一直偏重于后端,所以前端并不是我擅长的领域,所以我不讲。本人一直做过的语言是java,所以技术栈和选型会以java为主,但是其他语言的工具也会涉及
这个专题我会分部分来做细化讲解:
1)代码库选型:gitlab
2)构建层面:maven(nexus3):搭建私服
3)ci:jenkins+gitlab hook+ssh+jmeter(测试框架):定时跑单元测试
4)框架层面:spring全家桶(spring boot+spring cloud)
5)注册中心:consul
6)负载均衡:ribbion,feign
7)nginx负载均衡:consul-template
8)网关:zuul+filter
9) 全链路监控:zipkin(通过改造,支持mysql)
10) API文档:swagger
11)存储层面:mysql(m-s),如何搭建和实施,如何通过sharding-sphere来做代码层面主从
慢sql配置,如何使用anemometer搭建慢sql监控体系
12)缓存:codis,环境搭建,应用程序接入
13)zookeeper:(3台机器):分布式搭建,自动化脚本
14)kafka:3台机器:分布式搭建,kafka-manager监控搭建
15)配置中心:apollo搭建。docker化,搞定apollo-client上传私服
16)监控体系:
falcon搭建(收集多台机器数据,报警配置,自动发送邮件,改造发送邮件程序)
elk:如何搭建,收集多台机器日志
17)docker:
重头戏:
如何结合spring boot+docker来做程序镜像(踩了很多坑)
nexus3的docker私服搭建,如何通过私服拉取镜像,上传镜像,打tag
docker在阿里云上和宿主机互通问题的解决
docker-compose如何来做编排,搭建测试环境
18)知识管理和项目管理:
confluence:个人认为最好用的工具,没有之一。但是破解麻烦,尤其是linux上
项目跟踪和管理:jira
---------------------------------------------------------------------------------------------------------------------------
东西很多,但是我亲自做过实操的,希望能和朋友们进行讨论和研究,同时也希望大神来指点!
作为简书的开题文章,希望大家多多支持