ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java架构师成长直通车教程

2020-02-03 19:00:55  阅读:230  来源: 互联网

标签:服务 负载 架构 单体 Java 直通车 架构师 节点 分布式


 

优秀工程师的成长之路就是一条不断打怪升级之路

Java入行容易精通难,需要能力也需要运气

单体架构:

初创小公司,前期可能只有2-3个开发人员。为了节省成本,并希望项目快速开发,快速发布上线,快速验证市场,这个时候就可以考虑采用单体架构进行开发。

所谓单体架构,就是系统服务及数据库等都放在同一台服务器上。

单体架构的优点是: 
小团队成型即可完成开发-测试-上线,而且迭代周期短,速度快,打包方便,运维省事。
是初创小公司业务发展初期最理想的架构形式。

 

集群架构:

当业务不断发展壮大,用户访问量不断增加,单体架构往往会因为负载越来越高,从而面临越来越多的挑战。比如:系统的承载量可能会越发乏力,逐渐成为性能瓶颈;单节点宕机可能造成所有服务不可用等等,面对突如其来的一系列问题,我们该如何切入?

我们可以通过Nginx负载均衡, 双机主备与主从热备,降低服务器负载压力;
通过Redis缓存集群为数据库减压等解决方案,逐步演变系统成一个高可用的集群架构。

分布式架构:

随着业务发展壮大,用户量暴涨,单节点处理能力就会成为瓶颈,如果并发量居高不下,服务器很容易因负载过高而导致崩溃宕机。出于高并发,高可用的考虑,项目就应该演变到分布式架构了。
然而分布式环境下我们又会面临更多的挑战需要去应对。比如:

      1. 如何保障不论用户请求落在哪个服务节点,文件都能被获取到?
      2. 如何对上下游弱依赖关系的服务节点做解耦?
      3. 如果日志分布在不同的服务上,如何为后续的业务提供数据支撑?
      4. 如果一个资源在同一个时间节点上,产生了竞争该怎么办?
      5. 如果用户量暴增,导致每次查询时间慢了许多该怎么办?
      6. 如果下单、付款分布在不同的服务上,如何保证跨服务事务?

 

标签:服务,负载,架构,单体,Java,直通车,架构师,节点,分布式
来源: https://www.cnblogs.com/itspcool/p/12256761.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有