软件工程师的职业发展方向
企业级应用的架构师:1.负载均衡,集群,分布式,高并发,高可用,易管理等等 2.理论能力和动手编码能力需要同时提高 3.注重设计思想和设计模式 4.对于前沿技术要不懈的追求和钻研,在技术架构选型时做出合理的决策。
- 数据层: 重点在于集群方案的选择
比如MySQL集群,集群方案很多,需要选择符合业务的方案:比如多主,主备,读写分离
是否还需要做高可用,是用lvs还是zookeeper
是否需要sharding-proxy类中间件来管理数据库或者做数据分片等等
- 服务层:
选择GO微服务框架,主要用于高并发的系统,微服务让团队开发耦合度降低,各自关心各自模块,以服务的方式发布出去
传统一点使用Gin+RESTful
缓存的选择可以用redis
-
应用层: 选择适合适合团队的框架
-
网络层: 了解F5之类硬件负载均衡交换机
-
部署:
是否需要用Docker或者k8s部署,开源Docker容器让部署轻量化,易于扩展一个节点,对于高并发,伸缩性要求高的场景可以使用,可以实现一键部署
是否需要负载均衡:可以选择硬负载F5,也可以用软负载nginx
软负载方案可以是nginx,需要考虑session分布式部署
- 安全: 大多数安全问题在网络层就解决了,但应用的安全不容忽视
需要考虑SQL注入,授权认证
重点的安全问题来自框架本身,尽量解决开源框架中的应用漏洞
- 其他方面: 自动化测试,版本管理,大数据,人工智能