程序员如何进化成架构师?

作为程序员的上端,每一个架构师都承担着艰巨的任务:不仅仅要和产品进行周旋,还需要有十分坚实的技术作为基础打底。

那么,架构师都在考虑什么呢?

说到底还是程序架构、结构性的问题。

比如最近十分火爆的分布式系统,可谓是每个架构师心中的大坑。

什么是分布式系统?

分布式系统,顾名思义,就是一种互联网分布式架构。

主要用于合理分批分次分配资源实现效益最大化的一种系统建模方式,这实在是老板心中的一个非常值得关注和投入资金开发的部分。

程序员如何进化成架构师?_第1张图片

因为这不仅仅是解决的了任务分配的问题,同时作为一个dynamic的算法,考虑到了时间成本和资源的配置,一箭三雕,老板自然会投入大量时间进行研究。

核心问题:高并发

而一般的分布式系统都会考虑到一个核心问题,就是高并发。
什么是高并发能力呢?主要考虑的指标分为以下这四方面:

  1. 响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。
  2. 吞吐量:单位时间内处理的请求数量。
  3. QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。
  4. 并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。

高并发系统研究方向

这里有一个很有意思的点,就是高并发系统的研究方向的选择问题。

要知道单体计算机的提升是有非常高的成本价格的,而且作为水平提升这种方式可能只能在外企或者一些资金比较充足的企业中进行实现。并且运营成本还有投资成本比收获高的多。

最重要的是,成本的投入带来的提升也是有一定上限的。

在世界的科技水平没有世界性的提升的时候,这种水平提升的limit也是显而易见。

因此,在架构师领域,普遍选择解决高并发的问题的还是垂直提升,简单来说就是通过改变系统的设置来实现更合理的资源配置。

这主要体现在如何解决和处理负载均衡的问题上,以及如何实现当一部分机体下线之后如何将任务量合理的分配给其他剩余的在线机体上。

程序员如何进化成架构师?_第2张图片

你还想看什么技术类话题?欢迎点赞并评论, 我们下期见~

你可能感兴趣的:(java,开发语言)