首页 > 编程知识 正文

资深解决方案架构师,大厂程序员工资多少

时间:2023-05-04 16:40:31 阅读:52984 作者:4510

大家好,我是冰河~~

随着互联网的发展,互联网企业的业务也在迅速发展,系统架构也在不断变化。 总体而言,系统结构大致经历了单体应用结构—垂直应用结构—分布式结构—SOA结构—微服务结构的演化。 当然,许多互联网企业的系统架构正在演化为服务网格。 今天,我们来谈谈系统体系结构的演变。

小伙伴们如果觉得文章不错,点赞、收藏、评论,分享走一起呀,给冰河来个一键三连~~

好的,开始吧。

在公司发展初期,单个APP应用程序体系结构的一般公司网站流量很少,通过在一个APP应用程序中将所有功能代码打包成一个服务并部署到服务器上,可以支撑公司的业务。 这样还可以降低开发、部署和维护的成本。

例如,在众所周知的电子商务系统中,用户管理、商品管理、订单管理、支付管理、库存管理、物流管理等模块涉及到主要业务。 最初,将所有模块写入一个Web项目,然后合并部署到一个Web服务器上。

这种架构特点有其优点:

架构简单,项目开发和维护成本低。 所有项目模块都放在一起,因此在小型项目中很容易维护。但是,其缺点也是比较明显的:

所有模块都合并在一起,但在小项目中很容易维护。 但是,在大型项目中,开发和维护很困难。 项目中的每个模块以前都太绑定了。 如果一个模块出现问题,整个项目将无法使用。 无法提高特定模块的性能。 无法水平扩展项目。 由于单APP应用体系结构存在许多缺点,它逐渐发展成为垂直APP应用体系结构。 接下来,我们来看看垂直APP应用程序体系结构。

发现垂直APP应用体系结构随着企业业务的发展,单节点单机APP应用不足以支撑业务的发展。 于是,企业引进多个单体APP应用程序,分别配置在不同的服务器上。 但是,在这个时候,可以看到并不是所有的模块都有比较大的访问量。 如果您想优化项目中的几个模块并提高其性能,此时无法在单个APP应用程序中进行。 于是,垂直APP应用体系结构应运而生。

垂直APP应用程序体系结构是指通过将原始项目APP应用程序拆分为几个彼此不想做的APP应用程序,来提高系统的整体性能。

这里,也以电子商务系统为例。 在垂直APP应用体系结构下,可以将整个电子商务项目划分为电子商务系统、后台管理系统、CMS管理系统等。

将单个APP应用程序体系结构划分为垂直APP应用程序体系结构后,如果访问量变大,则只需在访问量较大的业务中添加服务器节点,而无需在整个项目中添加服务器节点。

这种架构的优点:

系统被分割,根据对各种系统的访问情况进行有针对性的优化。 可以水平扩展APP应用程序。 每个系统可以分担总体访问流量,解决了并发问题。 一个系统发生故障,不应用其他系统的运行状况,从而提高了整体的容错能力。这种架构的缺点:

分割后的各系统之间比较独立,不能相互调用。 各系统不可避免地存在重复业务,存在重复开发的业务,后期维护困难。 将分布式体系结构系统升级为垂直APP应用程序体系结构后,随着垂直APP应用程序的增加,重复写的业务代码也会增加。 此时,需要对重复的代码进行抽象,形成供其他系统和业务模块调用的统一服务。 此时,系统将演化为分布式体系结构。

分布式体系结构将整个系统划分为服务层和表现层。 服务层封装具体的业务逻辑以供表示层调用,表示层处理与页面的交互操作。

这种架构的优点:

抽象出重复的业务代码,形成公共访问服务,提高了代码的复用性。 可以根据需要优化系统和服务的性能,提高整体访问性能。这种架构的缺点:

系统之间的耦合度变高,调用关系变得复杂,维护变得困难。

SOA体系结构是一种分布式体系结构,部署的服务越多,重复的代码越多,容量评估、小服务资源浪费等问题越严重。 在这种情况下,需要添加统一的调度中心来实时管理群集。 此时,系统将演化为面向服务(SOA )体系结构。

这种架构的优点:

注册中心可解决服务之间服务相关性和调用关系的自动注册和发现。

这种架构的缺点:

服务之间存在依赖关系,一个服务发生故障可能会引起服务雪崩。 (关于贯通、破坏、雪崩的问题,请参考我以前写的《【高并发】面试官:讲讲什么是缓存穿透?击穿?雪崩?如何解决?》的文章。 服务之间的依赖关系和调用关系很复杂,测试部署困难比较大。 随着业务的发展,微服务体系结构在SOA体系结构的基础上进一步扩展,并完全划分为微服务体系结构。 在微服务体系结构下,我们将大项目划分为可以独立部署的小服务,每个微服务都有自己的数据库。

这种架构的优点:

完全划分服务,将每个服务单独打包、单独部署和单独升级。 各不相同

微服务负责的业务比较清晰,利于后期扩展和维护。微服务之间可以采用REST和RPC协议进行通信。

这种架构的缺点:

开发的成本比较高。涉及到各服务的容错性问题。涉及到数据的一致性问题。涉及到分布式事务问题(小伙伴们可以参见我后续会持续更新的【分布式事务】专题)。 写在最后

如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以私信我交流,希望我的一些经历能够帮助到大家~~

推荐阅读:

《奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些核心技能是你必须要掌握的!完整学习路线!!(建议收藏)》《奉劝那些刚参加工作的学弟学妹们:这些计算机与操作系统基础知识越早知道越好!万字长文太顶了!!(建议收藏)》《我用三天时间开发了一款老少皆宜的国民级游戏,支持播放音乐,现开放完整源代码和注释(建议收藏)!!》《我是全网最硬核的高并发编程作者,CSDN最值得关注的博主,大家同意吗?(建议收藏)》《毕业五年,从月薪3000到年薪百万,我掌握了哪些核心技能?(建议收藏)》《我入侵了隔壁妹子的Wifi,发现。。。(全程实战干货,建议收藏)》《千万不要轻易尝试“熊猫烧香”,这不,我后悔了!》《清明节偷偷训练“熊猫烧香”,结果我的电脑为熊猫“献身了”!》《7.3万字肝爆Java8新特性,我不信你能看完!(建议收藏)》《在业务高峰期拔掉服务器电源是一种怎样的体验?》

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,我是冰河,我们下期见~~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。