Java 开发工作 4 年还是只会“增删改查”,java 技术栈太广
单体应用几乎不涉及到系统间的交互,或者有些通过老旧的 WebService 的形式进行交互,互联网分布式系统倾向于采用轻量化的、更高效率的通讯方式,比如基于 HTTP、RPC 协议等
=======================================================================
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。消息队列在电商系统、消息通讯、日志收集等应用中扮演着关键作用,以阿里为例,其研发的消息队列(MQ)服务于阿里集团超过 11 年,在历次天猫双十一活动中支撑了万亿级的数据洪峰,为大规模交易提供了有力保障。目前在生产环境,使用较多的消息队列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 等。
=======================================================================
微服务架构的普及,离不开分布式事务在其中所起的举足轻重的作用,分布式事务保证了多项服务间的数据一致性,是分布式系统的根基。
===========================================================================
同步的一问一答,能比较及时的处理业务,但当业务量大的时候,为提高系统可用性、处理效率,往往会进行异步、多线程方式进行处理。线程池技术,高并发编程显的尤为重要。高并发知识是开发高并发系统的基础,同时也是面试中的重要考点。Synchronized 以及 ReenTrantLock 的底层原理、AQS、常见的原子类这些知识点几乎只要是一线大厂面试都会问到。
========================================================================
缓存可谓是提高应用效率的大杀器,在互联网产品应用非常广泛,掌握几个常见的缓存中间件是很有必要的。也很多应用场景中,也只能缓存才能保证应用的完整性,比如秒杀场景。
======================================================================
系统性能优化涉及面非常广,涵盖方案设计优化、编码优化、并发优化、JVM 调优、发现瓶颈、性能评估等诸多方面的知识。对于 Java 技术栈的工程师,掌握系统性能优化是进阶的必由之路。同时,系统性能优化也是 BAT 面试中的“常客”。
=======================================================================
微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。概念一经提出迅速火遍全球。当前 Hailo 有 160 个不同服务构成,NetFlix 有大约 600 个服务。国内方面,阿里巴巴、腾讯、360、京东、58 同城等很多互联网公司都进行了微服务化实践。分布式事务问题被著名架构师 Chris Richardson 称为微服务的三大难题之一,而且当前 Dubbo、SpringCloud 等微服务框架均为提供可行的分布式事务解决方案。
==================================================================
评论