怎么从初、中级Java程序员过渡到高级Java程序员?

扩展性
分为垂直扩展和横向扩展,垂直扩展就是增加单台服务器的处理能力,需要你熟悉硬件、操作系统、中间件的知识;横向扩展一般就是指集群式部署,这都有行业解决方案,你需要做的只是将你的系统设计的具有可扩展性,说白了就是系统可以多份部署,但对外表现为单一应用。

分布式
在这里插入图片描述

单台服务器处理能力有他的极限,但是我们可以将某一个业务拆分成多个子业务,分别部署在不同的服务器上,说白了就是在设计的时候要注意业务的拆分,比如某一个交易平台,你把他拆分成几个子系统,做一个订单处理的应用,再做一个支付的应用等等,做成分布式应用。

技术类——数据读写分离
在这里插入图片描述

数据库资源宝贵,扩展性较差,一般读多写少,读操作尽量可以通过缓存技术去读取缓存,使用自动进程定期将数据库中的数据写入缓存(EHCACHE/MEMCAHCE/REDIS等)中,这样可以大大降低交易数据库的连接压力,提高系统的并发能力。

技术类——连接池、队列、数据压缩等技术
在这里插入图片描述

通过连接池、队伍等实现方式来减少系统的开销,通过数据压缩技术减少带宽压力。

业务类
在这里插入图片描述

可能某些时候我们改变一下业务处理方式和业务流程,就可以大大降低系统开销,比如把某些耗时较长的同步处理转为异步处理。

以上是高并发、高性能系统建设中最常见的几种做法或者思路。

哈利法塔和民房使用的材料都是混凝土和钢筋,前者需要系统的知识面、科学的方法论、良好的设计、灵活的工具使用,后者只需要把材料往上堆、往上糊就可以了,这就是民工与工程师的区别。

实际一点,做软件成长最快的方式当然是不断的写,不断的做项目,不断的学习,熟能生巧,不断的总结形成自己科学的方法论和知识库,这样才能游刃有余。如果接触不到更多项目,可以到GitHub上开开视野。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值