一、技术
1、架构师的技术升级要点:用两个字来描述:集群,用三个字:分布式,再用多点的文字:把海量的流量和数据合理分摊到数量合适的机器上。
想明白这点,后面就能知道该学哪些了,比如流量分摊时得负载均衡,存储海量数据时得靠数据库集群,或分库分表,为了防止单点失效,得设计冗余系统,系统间通讯时得用消息中间件,不能让每次请求都走后台,所以可以搭建缓存,单个缓存容易失效,所以可以搭建分布式缓存,为了监控性能,所以得上一些监控措施,比如监控JVM,监控数据等的,为了等看日志,所以得上一些日志组件。等等。
2.node.js适合运用在高并发、I/O密集、少量业务逻辑的场景。
通过node.js可以提升适配性。还可以实现前后端分离。
在开发过程中,经常会给pc端、mobile、app端各自研发一套前端。其实对于这三端来说,大部分端业务逻辑是一样的。唯一区别就是交互展现逻辑不同。
3.消息队列,属于生产者-消费者模式。
消息队列做为中间件模式的的优点:解耦、异步、削峰。
解耦:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要做任何修改。
异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度
削峰:系统A慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。
常用的MQ有ActiveMQ,RabbitMQ,RocketMQ,Kafka。
削峰:系统A慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。
常用的MQ有ActiveMQ,RabbitMQ,RocketMQ,Kafka。
4.网卡位于物理层和链路层,最终把数据传递给网络层(IP 层)
应用层一切都源于 Socket,那些千万并发最终会经过传输层(TCP层)变成千万个 Socket
5.freemarker不能使用java代码,只能使用el表达式,来输出展示数据。
freemarker 的原则或初衷:数据+模板=输出
freemarker 的原则或初衷:数据+模板=输出
二、工作
1、中小型软件公司,慎用前后端分离架构!人手不够,后端可能会被逼着去学vue.js,node.js,增加了负担。
2.毕业后的头 5 年,你可以去选择各种开发,前端后端或者移动端,可以随便选。这是为了什么呢?就是为了找到自己感兴趣的和自己的长处并且打算一辈子一直做下去的方向。如果你还看不到自己未来发展的路,那么可以考虑把眼界放的更广一点,去找寻自己真正感兴趣的方向。所谓真正感兴趣的,是指如同熬夜打游戏一样毫不困倦,如果某个方向你能做到不是公司强迫你加班,自己写代码写到深夜或者通宵也毫不厌倦,那么这一定是你感兴趣的。方向一旦确定就不会迷茫,朝着目标狂奔吧。
三、思维
四、生活
五、家庭